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 | |
int | schema_version |
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 109 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 134 of file track_processor.h.
Port* TrackProcessor::input_gain |
Input gain, if audio.
Definition at line 56 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 143 of file track_processor.h.
int TrackProcessor::magic |
Definition at line 165 of file track_processor.h.
Port* TrackProcessor::midi_cc[128 *16] |
MIDI CC control ports, 16 channels.
Definition at line 112 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 79 of file track_processor.h.
Port* TrackProcessor::midi_out |
MIDI out port, if MIDI.
Definition at line 84 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 104 of file track_processor.h.
Port* TrackProcessor::mono |
Mono toggle, if audio.
Definition at line 53 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 64 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 155 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 93 of file track_processor.h.
Port* TrackProcessor::pitch_bend[16] |
Pitch bend.
Definition at line 115 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 126 of file track_processor.h.
float TrackProcessor::r_port_db |
Definition at line 144 of file track_processor.h.
int TrackProcessor::schema_version |
Definition at line 45 of file track_processor.h.
StereoPorts* TrackProcessor::stereo_in |
L & R audio input ports, if audio.
Definition at line 50 of file track_processor.h.
StereoPorts* TrackProcessor::stereo_out |
L & R audio output ports, if audio.
Definition at line 69 of file track_processor.h.
Track* TrackProcessor::track |
Pointer to owner track, if any.
Definition at line 147 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 163 of file track_processor.h.