41 FeedbackBuffer(uint32_t channel_id = 0, uint32_t num_samples = 512,
float feedback = 0.5F, uint32_t feed_samples = 512);
52 inline void set_feedback(
float amount) { m_feedback_amount = amount; }
83 void process_default()
override;
97 std::shared_ptr<BufferProcessor> create_default_processor()
override;
115 uint32_t m_feed_samples { 512 };
163 void processing_function(std::shared_ptr<Buffer> buffer)
override;
173 void on_attach(std::shared_ptr<Buffer> buffer)
override;
181 void on_detach(std::shared_ptr<Buffer> buffer)
override;
193 [[nodiscard]]
inline float get_feedback()
const {
return m_feedback_amount; }
234 size_t m_buffer_index {};
Concrete audio implementation of the Buffer interface for double-precision audio data.
Central computational transformation interface for continuous buffer processing.
uint32_t get_feed_samples() const
const std::vector< double > & get_previous_buffer() const
Gets read-only access to the previous state vector.
std::vector< double > m_previous_buffer
Storage for the previous system state.
void set_feedback(float amount)
Sets the feedback coefficient.
float m_feedback_amount
Feedback coefficient (0.0-1.0)
void set_feed_samples(uint32_t samples)
float get_feedback() const
Gets the current feedback coefficient.
std::vector< double > & get_previous_buffer()
Gets mutable access to the previous state vector.
Specialized buffer implementing computational feedback systems.
uint32_t get_feed_samples() const
Gets the number of samples to feed back.
bool m_using_internal_buffer
Flag indicating whether to use the buffer's internal previous state.
uint32_t m_feed_samples
Number of samples to feed back.
std::vector< double > m_previous_buffer
Storage for the previous system state.
void set_feedback(float amount)
Sets the feedback coefficient.
void set_feed_samples(uint32_t samples)
Sets the number of samples to feed back.
float m_feedback_amount
Feedback coefficient (0.0-1.0)
float get_feedback() const
Gets the current feedback coefficient.
Processor that implements recursive computational algorithms.