Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::structure::tracks::ChannelSend Class Reference

Channel send. More...

#include <src/structure/tracks/channel_send.h>

Inheritance diagram for zrythm::structure::tracks::ChannelSend:
Collaboration diagram for zrythm::structure::tracks::ChannelSend:

Public Member Functions

 ChannelSend (dsp::ProcessorBase::ProcessorBaseDependencies dependencies, dsp::PortType signal_type, int slot, bool is_prefader, QObject *parent=nullptr)
dsp::ProcessorParameteramountParam () const
 Send amount (amplitude), 0 to 2 for audio, velocity multiplier for MIDI.
void custom_process_block (EngineProcessTimeInfo time_nfo, const dsp::ITransport &transport) noexcept override
 Custom processor logic after processing all owned parameters.
void custom_prepare_for_processing (const dsp::graph::GraphNode *node, units::sample_rate_t sample_rate, nframes_t max_block_length) override
void custom_release_resources () override
bool is_prefader () const
bool is_audio () const
bool is_midi () const
dsp::AudioPortget_stereo_in_port () const
dsp::MidiPortget_midi_in_port () const
dsp::AudioPortget_stereo_out_port () const
dsp::MidiPortget_midi_out_port () const
Public Member Functions inherited from zrythm::dsp::ProcessorBase
 ProcessorBase (ProcessorBaseDependencies dependencies, utils::Utf8String name={ u8"ProcessorBase" })
void set_name (const utils::Utf8String &name)
 Set a custom name to be used in the DSP graph.
void add_input_port (const dsp::PortUuidReference &uuid)
void add_output_port (const dsp::PortUuidReference &uuid)
void add_parameter (const dsp::ProcessorParameterUuidReference &uuid)
auto & get_input_ports () const
auto & get_output_ports () const
auto & get_parameters () const
utils::Utf8String get_node_name () const final
 Returns a human friendly name of the node.
void process_block (EngineProcessTimeInfo time_nfo, const dsp::ITransport &transport) noexcept final
 Calls custom_process_block() internally after processing all the parameters.
void prepare_for_processing (const graph::GraphNode *node, units::sample_rate_t sample_rate, nframes_t max_block_length) final
 Called to allocate resources required for processing.
void release_resources () final
 Called to release resources allocated by prepare_for_processing().
Public Member Functions inherited from zrythm::dsp::graph::IProcessable
virtual nframes_t get_single_playback_latency () const
 Returns the latency of only the given processable, without adding the previous/next latencies.

Properties

zrythm::dsp::ProcessorParameteramountParam

Friends

void to_json (nlohmann::json &j, const ChannelSend &p)
void from_json (const nlohmann::json &j, ChannelSend &p)
void init_from (ChannelSend &obj, const ChannelSend &other, utils::ObjectCloneType clone_type)

Additional Inherited Members

Protected Member Functions inherited from zrythm::dsp::ProcessorBase
auto dependencies () const

Detailed Description

Channel send.

The actual connection is tracked separately by PortConnectionsManager.

Definition at line 20 of file channel_send.h.

Constructor & Destructor Documentation

◆ ChannelSend()

zrythm::structure::tracks::ChannelSend::ChannelSend ( dsp::ProcessorBase::ProcessorBaseDependencies dependencies,
dsp::PortType signal_type,
int slot,
bool is_prefader,
QObject * parent = nullptr )
Parameters
slotSlot, used only in parameter/port names.

Member Function Documentation

◆ amountParam()

dsp::ProcessorParameter * zrythm::structure::tracks::ChannelSend::amountParam ( ) const
inline

Send amount (amplitude), 0 to 2 for audio, velocity multiplier for MIDI.

Definition at line 57 of file channel_send.h.

◆ custom_prepare_for_processing()

void zrythm::structure::tracks::ChannelSend::custom_prepare_for_processing ( const dsp::graph::GraphNode * node,
units::sample_rate_t sample_rate,
nframes_t max_block_length )
overridevirtual

Reimplemented from zrythm::dsp::ProcessorBase.

◆ custom_process_block()

void zrythm::structure::tracks::ChannelSend::custom_process_block ( EngineProcessTimeInfo time_nfo,
const dsp::ITransport & transport )
overridevirtualnoexcept

Custom processor logic after processing all owned parameters.

By default, this does passthrough to same-type ports.

Reimplemented from zrythm::dsp::ProcessorBase.

◆ custom_release_resources()

void zrythm::structure::tracks::ChannelSend::custom_release_resources ( )
overridevirtual

Reimplemented from zrythm::dsp::ProcessorBase.

◆ get_midi_in_port()

dsp::MidiPort & zrythm::structure::tracks::ChannelSend::get_midi_in_port ( ) const
inline

Definition at line 90 of file channel_send.h.

◆ get_midi_out_port()

dsp::MidiPort & zrythm::structure::tracks::ChannelSend::get_midi_out_port ( ) const
inline

Definition at line 100 of file channel_send.h.

◆ get_stereo_in_port()

dsp::AudioPort & zrythm::structure::tracks::ChannelSend::get_stereo_in_port ( ) const
inline

Definition at line 85 of file channel_send.h.

◆ get_stereo_out_port()

dsp::AudioPort & zrythm::structure::tracks::ChannelSend::get_stereo_out_port ( ) const
inline

Definition at line 95 of file channel_send.h.

◆ is_audio()

bool zrythm::structure::tracks::ChannelSend::is_audio ( ) const
inline

Definition at line 82 of file channel_send.h.

◆ is_midi()

bool zrythm::structure::tracks::ChannelSend::is_midi ( ) const
inline

Definition at line 83 of file channel_send.h.

◆ is_prefader()

bool zrythm::structure::tracks::ChannelSend::is_prefader ( ) const
inline

Definition at line 81 of file channel_send.h.

◆ to_json

void to_json ( nlohmann::json & j,
const ChannelSend & p )
friend

Definition at line 109 of file channel_send.h.

Property Documentation

◆ amountParam

zrythm::dsp::ProcessorParameter * zrythm::structure::tracks::ChannelSend::amountParam
read

Definition at line 23 of file channel_send.h.


The documentation for this class was generated from the following file: