Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Public Types | |
using | TrackUuid = dsp::PortIdentifier::TrackUuid |
using | PluginUuid = dsp::PortIdentifier::PluginUuid |
using | PortUuid = dsp::PortIdentifier::PortUuid |
Public Member Functions | |
virtual void | set_port_metadata_from_owner (dsp::PortIdentifier &id, PortRange &range) const =0 |
Function that will be called by the Port to update the identifier's relevant members based on this port owner. | |
virtual utils::Utf8String | get_full_designation_for_port (const dsp::PortIdentifier &id) 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 | should_bounce_to_master (utils::audio::BounceStep step) const |
Whether the port should add its data to the master output when bouncing. | |
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). | |
|
inlinevirtual |
Returns whether MIDI events on this channel on an input port should be processed (not ignored).
This is used to implement MIDI channel filtering in tracks that have piano rolls based on the enabled MIDI channels.
Reimplemented in zrythm::structure::tracks::TrackProcessor.
|
inlinevirtual |
|
inlinevirtual |
Will be called when a control port's value changes.
val | The real value of the control port. |
Reimplemented in zrythm::gui::old_dsp::plugins::Plugin, zrythm::structure::tracks::Fader, and zrythm::structure::tracks::TrackProcessor.
|
inlinevirtual |
Called during processing if the MIDI port contains new MIDI events.
Reimplemented in zrythm::structure::tracks::TrackProcessor.
|
pure virtual |
Function that will be called by the Port to update the identifier's relevant members based on this port owner.
id | The identifier to update. |
Implemented in ModulatorMacroProcessor, zrythm::engine::device_io::AudioEngine, zrythm::engine::session::Transport, zrythm::gui::old_dsp::plugins::Plugin, zrythm::structure::tracks::Channel, zrythm::structure::tracks::ChannelSend, zrythm::structure::tracks::Fader, zrythm::structure::tracks::Track, and zrythm::structure::tracks::TrackProcessor.
|
inlinevirtual |
Whether the port should add its data to the master output when bouncing.
When bouncing a track directly to master (e.g., when bouncing the track on its own without parents), the buffer should be added to the master track output.
This is only utilized for stereo output audio ports.
Reimplemented in zrythm::gui::old_dsp::plugins::Plugin, zrythm::structure::tracks::Channel, zrythm::structure::tracks::Fader, and zrythm::structure::tracks::TrackProcessor.
|
inlinevirtual |
Whether during processing, the port should sum the data from its backend buffers coming in.
If this is a TrackProcessor input port for a recordable track, this should only return true when currently armed recording. Otherwise, we always consider incoming external data.
Reimplemented in zrythm::structure::tracks::TrackProcessor.