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* midi_fx
The MIDI effect strip on instrument/MIDI tracks.
Plugin* inserts
The channel insert strip.
Plugin* instrument
The instrument plugin, if instrument track.
ChannelSend* sends
The sends strip.
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.
Fader* 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).
int has_output
Whether or not output_pos corresponds to a Track or not.
unsigned int output_name_hash
Output track.
int track_pos
Track associated with this channel.
int width
Channel widget width - reserved for future use.
int magic
This must be set to CHANNEL_MAGIC.
ChannelWidget* widget
The channel widget.
Track* track
Pointer to owner track.

Variable documentation

Plugin* Channel::midi_fx

The MIDI effect strip on instrument/MIDI tracks.

This is processed before the instrument/inserts.

ChannelSend* Channel::sends

The sends strip.

The first 6 (slots 0-5) are pre-fader and the rest are post-fader.

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 connected to when the project gets loaded if Channel::all_midi_ins is not enabled.

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.

Fader* Channel::prefader

Prefader.

The last plugin should connect to this.

int Channel::has_output

Whether or not output_pos corresponds to a Track or not.

If not, the channel is routed to the engine.