Zrythm
a highly automated and intuitive digital audio workstation
|
A TrackProcessor is a processor that is used as the first entry point when processing a track. More...
#include <dsp/track_processor.h>
Data Fields | |
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 [128 *16] |
MIDI CC control ports, 16 channels. | |
Port * | pitch_bend [16] |
Pitch bend. | |
Port * | poly_key_pressure [16] |
Polyphonic key pressure (aftertouch). | |
Port * | channel_pressure [16] |
Channel pressure (aftertouch). | |
float | l_port_db |
Current dBFS after processing each output port. | |
float | r_port_db |
Track * | track |
Pointer to owner track, if any. | |
bool | pending_midi_panic |
To be set to true when a panic (all notes off) message should be sent during processing. | |
MPMCQueue * | updated_midi_automatable_ports |
A queue of MIDI CC ports whose values have been recently updated. | |
int | magic |
A TrackProcessor is a processor that is used as the first entry point when processing a track.
Definition at line 43 of file track_processor.h.
MidiMappings* TrackProcessor::cc_mappings |
Mappings to each CC port.
Definition at line 107 of file track_processor.h.
Port* TrackProcessor::channel_pressure[16] |
Channel pressure (aftertouch).
This message is different from polyphonic after-touch - sends the single greatest pressure value (of all the current depressed keys).
Definition at line 132 of file track_processor.h.
Port* TrackProcessor::input_gain |
Input gain, if audio.
Definition at line 54 of file track_processor.h.
float TrackProcessor::l_port_db |
Current dBFS after processing each output port.
Transient variables only used by the GUI.
Definition at line 141 of file track_processor.h.
int TrackProcessor::magic |
Definition at line 163 of file track_processor.h.
Port* TrackProcessor::midi_cc[128 *16] |
MIDI CC control ports, 16 channels.
Definition at line 110 of file track_processor.h.
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.
Definition at line 77 of file track_processor.h.
Port* TrackProcessor::midi_out |
MIDI out port, if MIDI.
Definition at line 82 of file track_processor.h.
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.
Definition at line 102 of file track_processor.h.
Port* TrackProcessor::mono |
Mono toggle, if audio.
Definition at line 51 of file track_processor.h.
Port* TrackProcessor::output_gain |
Output gain, if audio.
This is applied after regions are processed to TrackProcessor.streo_out.
Definition at line 62 of file track_processor.h.
bool TrackProcessor::pending_midi_panic |
To be set to true when a panic (all notes off) message should be sent during processing.
Only applies to tracks that receive MIDI input.
Definition at line 153 of file track_processor.h.
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.
Definition at line 91 of file track_processor.h.
Port* TrackProcessor::pitch_bend[16] |
Pitch bend.
Definition at line 113 of file track_processor.h.
Port* TrackProcessor::poly_key_pressure[16] |
Polyphonic key pressure (aftertouch).
This message is most often sent by pressing down on the key after it "bottoms out".
FIXME this is completely wrong. It's supposed to be per-key, so 128 x 16 ports.
Definition at line 124 of file track_processor.h.
float TrackProcessor::r_port_db |
Definition at line 142 of file track_processor.h.
StereoPorts* TrackProcessor::stereo_in |
L & R audio input ports, if audio.
Definition at line 48 of file track_processor.h.
StereoPorts* TrackProcessor::stereo_out |
L & R audio output ports, if audio.
Definition at line 67 of file track_processor.h.
Track* TrackProcessor::track |
Pointer to owner track, if any.
Definition at line 145 of file track_processor.h.
MPMCQueue* TrackProcessor::updated_midi_automatable_ports |
A queue of MIDI CC ports whose values have been recently updated.
This is used during processing to avoid checking every single MIDI CC port for changes.
Definition at line 161 of file track_processor.h.