|
| | Channel (TrackRegistry &track_registry, PluginRegistry &plugin_registry, PortRegistry &port_registry, OptionalRef< ChannelTrack > track) |
| | Main constructor used by the others.
|
| |
| | Channel (TrackRegistry &track_registry, PluginRegistry &plugin_registry, PortRegistry &port_registry) |
| | To be used when deserializing or cloning an existing identity.
|
| |
| Fader * | getFader () const |
| |
| Fader * | getPreFader () const |
| |
| AudioPort * | getLeftAudioOut () const |
| |
| AudioPort * | getRightAudioOut () const |
| |
| MidiPort * | getMidiOut () const |
| |
|
void | init () |
| | Initializes the Channel (performs logic that needs the object to be constructed).
|
| |
| bool | is_in_active_project () const override |
| |
| void | set_port_metadata_from_owner (dsp::PortIdentifier &id, PortRange &range) const override |
| | Function that will be called by the Port to update the identifier's relevant members based on this port owner.
|
| |
| utils::Utf8String | get_full_designation_for_port (const dsp::PortIdentifier &id) const override |
| |
| bool | should_bounce_to_master (utils::audio::BounceStep step) const override |
| | Whether the port should add its data to the master output when bouncing.
|
| |
| MidiPort & | get_midi_out_port () const |
| |
| std::pair< AudioPort &, AudioPort & > | get_stereo_out_ports () const |
| |
|
void | reset_fader (bool fire_events) |
| | Sets fader to 0.0.
|
| |
| void | handle_plugin_import (const Plugin *pl, std::optional< PluginSpan > plugins, const PluginDescriptor *descr, PluginSlot slot, bool copy, bool ask_if_overwrite) |
| | Handles import (paste/drop) of plugins or plugin descriptors or mixer selections.
|
| |
| void | prepare_process (nframes_t nframes) |
| | Prepares the channel for processing.
|
| |
| void | process () |
| | Perform processing of the audio signal.
|
| |
| PluginPtrVariant | add_plugin (PluginUuidReference plugin_id, PluginSlot slot, bool confirm, bool moving_plugin, bool gen_automatables, bool recalc_graph, bool pub_events) |
| | Adds given plugin to given position in the strip.
|
| |
| ChannelTrack & | get_track () const |
| |
|
GroupTargetTrack * | get_output_track () const |
| |
|
void | reconnect_ext_input_ports (AudioEngine &engine) |
| | Called when the input has changed for Midi, Instrument or Audio tracks.
|
| |
|
AutomationTrack * | get_automation_track (PortIdentifier::Flags port_flags) const |
| | Convenience function to get the automation track of the given type for the channel.
|
| |
| PluginUuid | remove_plugin_from_channel (PluginSlot slot, bool moving_plugin, bool deleting_plugin) |
| | Removes a plugin at the given slot from the channel.
|
| |
| void | get_plugins (std::vector< Plugin * > &pls) |
| | Returns all existing plugins in the channel.
|
| |
| void | paste_plugins_to_slot (PluginSpan plugins, PluginSlot slot) |
| | Paste the selections starting at the slot in the given channel.
|
| |
|
bool | get_mono_compat_enabled () |
| | Gets whether mono compatibility is enabled.
|
| |
|
void | set_mono_compat_enabled (bool enabled, bool fire_events) |
| | Sets whether mono compatibility is enabled.
|
| |
|
bool | get_swap_phase () |
| | Gets whether mono compatibility is enabled.
|
| |
|
void | set_swap_phase (bool enabled, bool fire_events) |
| | Sets whether mono compatibility is enabled.
|
| |
|
std::optional< PluginPtrVariant > | get_plugin_at_slot (PluginSlot slot) const |
| |
|
auto | get_plugin_slot (const PluginUuid &plugin_id) const -> PluginSlot |
| |
|
std::optional< PluginPtrVariant > | get_plugin_from_id (PluginUuid id) const |
| |
| std::optional< PluginPtrVariant > | get_instrument () const |
| |
|
void | select_all (PluginSlotType type, bool select) |
| | Selects/deselects all plugins in the given slot type.
|
| |
|
void | set_caches () |
| | Sets caches for processing.
|
| |
|
void | init_after_cloning (const Channel &other, ObjectCloneType clone_type) override |
| |
|
void | disconnect_channel () |
| | Disconnects the channel from the processing chain and removes any plugins it contains.
|
| |
| void | connect_channel (dsp::PortConnectionsManager &mgr, AudioEngine &engine) |
| | Connects the channel's ports.
|
| |
|
void | init_loaded () |
| |
| void | handle_recording (long g_frames_start, nframes_t nframes) |
| | Handles the recording logic inside the process cycle.
|
| |
|
void | append_ports (std::vector< Port * > &ports, bool include_plugins) |
| | Appends all channel ports and optionally plugin ports to the array.
|
| |
|
void | expose_ports_to_backend (AudioEngine &engine) |
| | Exposes the channel's ports to the backend.
|
| |
|
void | set_phase (float phase) |
| |
|
float | get_phase () const |
| |
|
void | set_balance_control (float val) |
| |
|
void | add_balance_control (float pan) |
| | Adds to (or subtracts from) the pan.
|
| |
|
float | get_balance_control () const |
| |
| void | set_track_ptr (ChannelTrack &track) |
| | Set the track ptr to the channel and all its internals that reference a track (Plugin, Fader, etc.)
|
| |
| bool | has_output () const |
| |
| Fader & | get_post_fader () const |
| |
| Fader & | get_pre_fader () const |
| |
| auto & | get_sends () const |
| |
| std::unique_ptr< Channel > | clone_unique (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| |
| std::shared_ptr< Channel > | clone_shared (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| |
| Channel * | clone_raw_ptr (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| |
| Channel * | clone_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| |
| QScopedPointer< Channel > | clone_unique_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| |
| virtual void | on_control_change_event (const PortUuid &port_uuid, const dsp::PortIdentifier &id, float val) |
| | Will be called when a control port's value changes.
|
| |
| virtual void | on_midi_activity (const dsp::PortIdentifier &id) |
| | Called during processing if the MIDI port contains new MIDI events.
|
| |
| virtual bool | should_sum_data_from_backend () const |
| | Whether during processing, the port should sum the data from its backend buffers coming in.
|
| |
| virtual bool | are_events_on_midi_channel_approved (midi_byte_t channel) const |
| | Returns whether MIDI events on this channel on an input port should be processed (not ignored).
|
| |
|
| TrackRegistry & | track_registry_ |
| |
| PortRegistry & | port_registry_ |
| |
| PluginRegistry & | plugin_registry_ |
| |
| std::array< std::optional< PluginUuidReference >, STRIP_SIZE > | midi_fx_ |
| | The MIDI effect strip on instrument/MIDI tracks.
|
| |
| std::array< std::optional< PluginUuidReference >, STRIP_SIZE > | inserts_ |
| | The channel insert strip.
|
| |
| std::optional< PluginUuidReference > | instrument_ |
| | The instrument plugin, if instrument track.
|
| |
| std::array< std::unique_ptr< ChannelSend >, STRIP_SIZE > | sends_ |
| | The sends strip.
|
| |
| std::vector< std::unique_ptr< ExtPort > > | ext_midi_ins_ |
| | External MIDI inputs that are currently connected to this channel as official inputs, unless all_midi_ins is enabled.
|
| |
| bool | all_midi_ins_ = true |
| | If true, the channel will connect to all MIDI ins found.
|
| |
| std::vector< std::unique_ptr< 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.
|
| |
| bool | all_stereo_l_ins_ = false |
| | If true, the channel will connect to all stereo L ins found.
|
| |
| std::vector< std::unique_ptr< 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.
|
| |
| bool | all_stereo_r_ins_ = false |
| | If true, the channel will connect to all stereo R ins found.
|
| |
| std::array< bool, 16 > | midi_channels_ {} |
| | 1 or 0 flags for each channel to enable it or disable it.
|
| |
| bool | all_midi_channels_ = true |
| | If true, the channel will accept MIDI messages from all MIDI channels.
|
| |
| Fader * | fader_ = nullptr |
| | The channel fader.
|
| |
| Fader * | prefader_ = nullptr |
| | Prefader.
|
| |
| std::optional< PortUuidReference > | midi_out_id_ |
| | MIDI output for sending MIDI signals to other destinations, such as other channels when directly routed (eg MIDI track to ins track).
|
| |
| std::optional< PortUuidReference > | stereo_out_left_id_ |
| |
| std::optional< PortUuidReference > | stereo_out_right_id_ |
| |
| std::optional< TrackUuid > | output_track_uuid_ |
| | Whether or not output_pos corresponds to a Track or not.
|
| |
| std::optional< TrackUuid > | track_uuid_ |
| | Track associated with this channel.
|
| |
| int | width_ = 0 |
| | Channel widget width - reserved for future use.
|
| |
| ChannelTrack * | track_ |
| | Owner track.
|
| |
| friend | Derived |
| |
Represents a channel strip on the mixer.
The Channel class encapsulates the functionality of a channel strip, including its plugins, fader, sends, and other properties. It provides methods for managing the channel's state and processing the audio signal.
Channels are owned by Tracks and handle the output part of the signal chain, while TrackProcessor handles the input part.
- See also
- Track
Definition at line 43 of file channel.h.