audio/channel.h file

API for Channel, representing a channel strip on the mixer.



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


enum ChannelType { CT_AUDIO, CT_MIDI, CT_BUS, CT_MASTER }
Type of Channel.


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


void channel_handle_recording(Channel* self)
Handles the recording logic inside the process cycle.
void channel_connect(Channel* ch)
Connects the channel's ports.
void channel_add_pan(void* _channel, float pan)
Adds to (or subtracts from) the pan.
void channel_prepare_for_serialization(Channel* ch)
Prepares the Channel for serialization.
void channel_reset_fader(Channel* channel)
Sets fader to 0.0.
void channel_prepare_process(Channel* channel)
Prepares the channel for processing.
auto channel_new(ChannelType type, Track* track) -> Channel*
Creates a channel of the given type with the given label.
void channel_remove_ats_from_automation_tracklist(Channel* ch)
Removes the AutomationTrack's associated with this channel from the AutomationTracklist in the corresponding Track.
void channel_process(Channel* channel)
The process function prototype.
auto channel_add_plugin(Channel* channel, int pos, Plugin* plugin, int confirm, int gen_automatables, int recalc_graph) -> int
Adds given plugin to given position in the strip.
void channel_update_output(Channel* ch, Track* output)
Updates the output of the Channel (where the Channel routes to.
auto channel_get_last_active_slot_index(Channel* channel) -> int
Returns the index of the last active slot.
auto channel_get_index(Channel* channel) -> int
Returns the index on the mixer.
auto channel_get_plugin_index(Channel* channel, Plugin* plugin) -> int
Returns the plugin's strip index on the channel.
void channel_reattach_midi_editor_manual_press_port(Channel* channel, int connect)
Connects or disconnects the MIDI editor key press port to the channel's first plugin.
auto channel_get_first_plugin(Channel* channel) -> Plugin*
Convenience method to get the first active plugin in the channel.
auto channel_get_automatable(Channel* channel, AutomatableType type) -> Automatable*
Convenience function to get the fader automatable of the channel.
void channel_generate_automation_tracks(Channel* channel)
Generates automatables for the channel.
void channel_remove_plugin(Channel* channel, int pos, int deleting_plugin, int deleting_channel, int recalc_graph)
Removes a plugin at pos from the channel.
auto channel_clone(Channel* ch, Track* track) -> Channel*
Clones the channel recursively.
void channel_disconnect(Channel* channel, int remove_pl, int recalc_graph)
Disconnects the channel from the processing chain.
void channel_free(Channel* channel)
Frees the channel.