TrackProcessor struct

A TrackProcessor is a processor that is used as the first entry point when processing a track.

Contents

Public variables

StereoPorts* stereo_in
L & R audio input ports, if audio.
Port* mono
Mono toggle, if audio.
Port* input_gain
Input gain, if audio.
Port* output_gain
Output gain, if audio.
StereoPorts* stereo_out
L & R audio output ports, if audio.
Port* midi_in
MIDI in Port.
Port* midi_out
MIDI out port, if MIDI.
Port* piano_roll
MIDI input for receiving MIDI signals from the piano roll (i.e., MIDI notes inside regions) or other sources.
Port* monitor_audio
Whether to monitor the audio output.
MidiMappings* cc_mappings
Mappings to each CC port.
Port* midi_cc
MIDI CC control ports, 16 channels.
Port* pitch_bend
Pitch bend.
Port* poly_key_pressure
Polyphonic key pressure (aftertouch).
Port* channel_pressure
Channel pressure (aftertouch).
float l_port_db
Current dBFS after processing each output port.
Track* track
Pointer to owner track, if any.

Variable documentation

Port* TrackProcessor::output_gain

Output gain, if audio.

This is applied after regions are processed to TrackProcessor.streo_out.

Port* TrackProcessor::midi_in

MIDI in Port.

This port is for receiving MIDI signals from an external MIDI source.

This is also where piano roll, midi in and midi manual press will be routed to and this will be the port used to pass midi to the plugins.

Port* TrackProcessor::piano_roll

MIDI input for receiving MIDI signals from the piano roll (i.e., MIDI notes inside regions) or other sources.

This will not be a separately exposed port during processing. It will be processed by the TrackProcessor internally.

Port* TrackProcessor::monitor_audio

Whether to monitor the audio output.

This is only used on audio tracks. During recording, if on, the recorded audio will be passed to the output. If off, the recorded audio will not be passed to the output.

When not recording, this will only take effect when paused.

Port* TrackProcessor::poly_key_pressure

Polyphonic key pressure (aftertouch).

This message is most often sent by pressing down on the key after it "bottoms out".

Port* TrackProcessor::channel_pressure

Channel pressure (aftertouch).

This message is different from polyphonic after-touch - sends the single greatest pressure value (of all the current depressed keys).

float TrackProcessor::l_port_db

Current dBFS after processing each output port.

Transient variables only used by the GUI.