45 NodeSourceProcessor(std::shared_ptr<Nodes::Node> node,
float mix = 0.5f,
bool clear_before_process =
true);
56 void processing_function(std::shared_ptr<Buffer> buffer)
override;
68 inline float get_mix()
const {
return m_mix; }
94 std::vector<double> get_node_data(uint32_t num_samples);
103 void update_buffer(std::vector<double>& buffer_data);
138 NodeBuffer(uint32_t channel_id, uint32_t num_samples, std::shared_ptr<Nodes::Node> source,
bool clear_before_process =
true);
159 void process_default()
override;
169 std::shared_ptr<BufferProcessor> create_default_processor()
override;
Concrete audio implementation of the Buffer interface for double-precision audio data.
Central computational transformation interface for continuous buffer processing.
void set_clear_before_process(bool value)
Sets whether to reset the buffer before processing node output.
bool get_clear_before_process() const
Gets whether the buffer is reset before processing node output.
std::shared_ptr< Nodes::Node > m_source_node
Source node that generates sequential data values.
bool m_clear_before_process
Whether to reset the buffer before adding node output.
Specialized buffer that automatically captures output from computational nodes.
void set_mix(float mix)
Sets the interpolation coefficient between existing and incoming data.
bool m_clear_before_process
Whether to reset the buffer before adding node output.
float m_mix
Interpolation coefficient between existing and incoming data (0.0-1.0)
std::shared_ptr< Nodes::Node > m_node
Source node that generates sequential data values.
float get_mix() const
Gets the current interpolation coefficient.
Processor that bridges computational nodes and data buffers.
Contains the node-based computational processing system components.
std::vector< double > mix(const std::vector< std::vector< double > > &streams)
Mix multiple data streams with equal weighting.