Channel struct

A Channel is part of a Track (excluding Tracks that don't have Channels) and contains information related to routing and the Mixer.

Contents

Public variables

Plugin* plugins
The channel strip.
AutomationTrack** ats
A subset of the automation tracks in the automation tracklist of the track of this channel.
ExtPort* ext_midi_ins
External MIDI inputs that are currently connected to this channel as official inputs, unless all_midi_ins is enabled.
int all_midi_ins
If 1, the channel will connect to all MIDI ins found.
ExtPort* ext_stereo_l_ins
External audio L inputs that are currently connected to this channel as official inputs, unless all_stereo_l_ins is enabled.
int all_stereo_l_ins
If 1, the channel will connect to all stereo L ins found.
ExtPort* ext_stereo_r_ins
External audio R inputs that are currently connected to this channel as official inputs, unless all_stereo_r_ins is enabled.
int all_stereo_r_ins
If 1, the channel will connect to all stereo R ins found.
int midi_channels
1 or 0 flags for each channel to enable it or disable it.
int all_midi_channels
If 1, the channel will accept MIDI messages from all MIDI channels.
Fader fader
The channel fader.
PassthroughProcessor prefader
Prefader.
Port* midi_out
MIDI output for sending MIDI signals to other destinations, such as other channels when directly routed (eg MIDI track to ins track).
Track* output
Output channel to route signal to.
int output_pos
For serializing.
Track* track
Track associated with this channel.
ChannelWidget* widget
The channel widget.
int record_set_automatically
Whether record was set automatically when the channel was selected.

Variable documentation

Plugin* Channel::plugins

The channel strip.

Note: the first plugin is special in MIDI channels.

AutomationTrack** Channel::ats

A subset of the automation tracks in the automation tracklist of the track of this channel.

These are not meant to be serialized.

ExtPort* Channel::ext_midi_ins

External MIDI inputs that are currently connected to this channel as official inputs, unless all_midi_ins is enabled.

These should be serialized every time and if all_midi_ins is not enabled, connected to when the project gets loaded.

If all_midi_ins is enabled, these are ignored.

ExtPort* Channel::ext_stereo_l_ins

External audio L inputs that are currently connected to this channel as official inputs, unless all_stereo_l_ins is enabled.

These should be serialized every time and if all_stereo_l_ins is not enabled, connected to when the project gets loaded.

If all_stereo_l_ins is enabled, these are ignored.

ExtPort* Channel::ext_stereo_r_ins

External audio R inputs that are currently connected to this channel as official inputs, unless all_stereo_r_ins is enabled.

These should be serialized every time and if all_stereo_r_ins is not enabled, connected to when the project gets loaded.

If all_stereo_r_ins is enabled, these are ignored.

int Channel::midi_channels

1 or 0 flags for each channel to enable it or disable it.

If all_midi_channels is enabled, this is ignored.

PassthroughProcessor Channel::prefader

Prefader.

The last plugin should connect to this.

int Channel::record_set_automatically

Whether record was set automatically when the channel was selected.

This is so that it can be unset when selecting another channel. If we don't do this all the channels end up staying on record mode.