|
Zrythm v2.0.0-alpha.1+31.4967fd053471
a highly automated and intuitive digital audio workstation
|
Pure data-capture graph node that observes a port's output. More...
#include <src/dsp/port_observer.h>


Public Member Functions | |
| PortObserver (utils::IObjectRegistry ®istry, const Port &observed_port) | |
| PortUuid | observed_port_uuid () const |
| const Port & | observed_port () const |
| int | num_channels () const |
| RingBuffer< float > & | audio_ring (int ch) |
| const RingBuffer< float > & | audio_ring (int ch) const |
| RingBuffer< RealtimeMidiEvent > & | midi_ring () |
| const RingBuffer< RealtimeMidiEvent > & | midi_ring () const |
| bool | has_audio_rings () const |
| bool | has_midi_ring () const |
| Public Member Functions inherited from zrythm::dsp::ProcessorBase | |
| ProcessorBase (utils::IObjectRegistry ®istry, 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 |
| const ParameterChangeTracker & | change_tracker () const noexcept |
| Returns the change tracker. | |
| utils::Utf8String | get_node_name () const final |
| Returns a human friendly name of the node. | |
| void | process_block (dsp::graph::ProcessBlockInfo time_nfo, const dsp::ITransport &transport, const dsp::TempoMap &tempo_map) noexcept final |
| Calls custom_process_block() internally after processing all the parameters. | |
| void | prepare_for_processing_impl (const graph::GraphNode *node, units::sample_rate_t sample_rate, units::sample_u32_t max_block_length) final |
| void | release_resources () final |
| Called to release resources allocated by prepare_for_processing(). | |
| Public Member Functions inherited from zrythm::dsp::graph::IProcessable | |
| virtual units::sample_u32_t | get_single_playback_latency () const |
| Returns the latency of only the given processable, without adding the previous/next latencies (zero latency by default). | |
| void | prepare_for_processing (const GraphNode *node, units::sample_rate_t sample_rate, units::sample_u32_t max_block_length) |
| Called to allocate resources required for processing. | |
Static Public Attributes | |
| static constexpr size_t | kAudioRingSeconds = 5 |
| static constexpr size_t | kMidiRingSize = 8192 |
Additional Inherited Members | |
| Protected Member Functions inherited from zrythm::dsp::ProcessorBase | |
| auto | registry () const -> utils::IObjectRegistry & |
Pure data-capture graph node that observes a port's output.
Copies raw audio samples to per-channel RingBuffer<float> and raw MIDI events to RingBuffer<RealtimeMidiEvent>. No DSP, no metering — all signal processing stays on the UI side.
RT thread writes to ring buffers via custom_process_block(). UI-side drain timer consuming-reads into per-requester token caches.
Definition at line 38 of file port_observer.h.
|
inline |
Definition at line 54 of file port_observer.h.
|
inline |
Definition at line 60 of file port_observer.h.
|
inline |
Definition at line 79 of file port_observer.h.
|
inline |
Definition at line 80 of file port_observer.h.
|
inline |
Definition at line 68 of file port_observer.h.
|
inline |
Definition at line 73 of file port_observer.h.
|
inline |
Definition at line 51 of file port_observer.h.
|
inline |
Definition at line 48 of file port_observer.h.
|
staticconstexpr |
Definition at line 43 of file port_observer.h.
|
staticconstexpr |
Definition at line 44 of file port_observer.h.