|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
A base class for ports used for connecting processors in the DSP graph. More...
#include <src/dsp/port.h>


Public Types | |
| using | FullDesignationProvider |
Public Member Functions | |
| void | set_full_designation_provider (FullDesignationProvider provider) |
| void | set_full_designation_provider (const auto *owner) |
| Convenience helper for providers that contain a get_full_designation_for_port() method. | |
| bool | is_input () const |
| bool | is_output () const |
| bool | is_midi () const |
| bool | is_cv () const |
| bool | is_audio () const |
| utils::Utf8String | get_label () const |
| auto | get_symbol () const |
| void | set_symbol (const utils::Utf8String &sym) |
| utils::Utf8String | get_node_name () const override |
| Returns a human friendly name of the node. | |
| nframes_t | get_single_playback_latency () const override |
| Ports have no latency. | |
| virtual void | clear_buffer (std::size_t offset, std::size_t nframes)=0 |
| Clears the port buffer. | |
| utils::Utf8String | get_full_designation () const |
| Gets a full designation of the port in the format "Track/Port" or "Track/Plugin/Port". | |
| bool | has_label () const |
| PortType | type () const |
| PortFlow | flow () const |
| Public Member Functions inherited from zrythm::dsp::graph::IProcessable | |
| 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(). | |
| Public Member Functions inherited from zrythm::utils::UuidIdentifiableObject< Port > | |
| UuidIdentifiableObject & | operator= (const UuidIdentifiableObject &other)=default |
| auto | get_uuid () const |
Protected Member Functions | |
| Port (utils::Utf8String label, PortType type={}, PortFlow flow={}) | |
Friends | |
| void | init_from (Port &obj, const Port &other, utils::ObjectCloneType clone_type) |
| void | to_json (nlohmann::json &j, const Port &p) |
| void | from_json (const nlohmann::json &j, Port &p) |
A base class for ports used for connecting processors in the DSP graph.
Ports can be of different types (audio, MIDI, CV) and can be inputs or outputs. They are used to connect different components of the audio processing graph, such as tracks, plugins, and the audio engine.
Ports are owned by various processors in the audio processing graph, such as tracks, plugins, etc., and ports themselves are part of the processing graph.
| using zrythm::dsp::Port::FullDesignationProvider |
|
pure virtual |
Clears the port buffer.
Implemented in zrythm::dsp::AudioPort, zrythm::dsp::CVPort, and zrythm::dsp::MidiPort.
|
inline |
|
inline |
|
inlineoverridevirtual |
Returns a human friendly name of the node.
Implements zrythm::dsp::graph::IProcessable.
|
inlineoverridevirtual |
Ports have no latency.
Reimplemented from zrythm::dsp::graph::IProcessable.
|
inline |
|
inline |
|
inline |