|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Interface for objects that can be processed in the DSP graph. More...
#include <src/dsp/graph_node.h>

Public Member Functions | |
| virtual utils::Utf8String | get_node_name () const =0 |
| Returns a human friendly name of the node. | |
| virtual nframes_t | get_single_playback_latency () const |
| Returns the latency of only the given processable, without adding the previous/next latencies. | |
| virtual void | prepare_for_processing (const GraphNode *node, units::sample_rate_t sample_rate, nframes_t max_block_length) |
| Called to allocate resources required for processing. | |
| virtual void | process_block (EngineProcessTimeInfo time_nfo, const dsp::ITransport &transport) noexcept |
| virtual void | release_resources () |
| Called to release resources allocated by prepare_for_processing(). | |
Interface for objects that can be processed in the DSP graph.
The IProcessable interface defines the basic functionality required for objects that can be processed as part of the DSP graph. It provides methods to get the node name, the single playback latency, and to process the block of audio/MIDI data.
Implementations of this interface are expected to be used as nodes in the DSP graph, where they will be processed during the audio/MIDI processing cycle.
Definition at line 52 of file graph_node.h.
|
inlinevirtual |
Definition at line 55 of file graph_node.h.
|
pure virtual |
Returns a human friendly name of the node.
Implemented in zrythm::dsp::graph::InitialProcessor, zrythm::dsp::Port, zrythm::dsp::ProcessorBase, zrythm::dsp::ProcessorParameter, and zrythm::engine::session::SampleProcessor.
|
inlinevirtual |
Returns the latency of only the given processable, without adding the previous/next latencies.
Reimplemented in zrythm::dsp::Port, zrythm::engine::session::SampleProcessor, zrythm::plugins::CarlaNativePlugin, zrythm::plugins::ClapPlugin, and zrythm::plugins::JucePlugin.
Definition at line 66 of file graph_node.h.
|
inlinevirtual |
Called to allocate resources required for processing.
| node | The node in the processing graph. Null means we are processing outside of a graph context and must be handled gracefully. |
| sample_rate | |
| max_block_length |
Reimplemented in zrythm::dsp::AudioPort, zrythm::dsp::CVPort, zrythm::dsp::MidiPort, zrythm::dsp::ProcessorBase, and zrythm::dsp::ProcessorParameter.
Definition at line 79 of file graph_node.h.
|
inlinevirtualnoexcept |
Reimplemented in zrythm::dsp::ProcessorBase, zrythm::dsp::ProcessorParameter, and zrythm::engine::session::SampleProcessor.
Definition at line 86 of file graph_node.h.
|
inlinevirtual |
Called to release resources allocated by prepare_for_processing().
This may be called multiple times.
Reimplemented in zrythm::dsp::AudioPort, zrythm::dsp::CVPort, zrythm::dsp::MidiPort, zrythm::dsp::ProcessorBase, and zrythm::dsp::ProcessorParameter.
Definition at line 96 of file graph_node.h.