10 float feedback, uint32_t feed_samples)
12 , m_feedback_amount(feedback)
13 , m_feed_samples(feed_samples)
14 , m_history(feed_samples)
28 proc->set_feedback(amount);
37 proc->set_feed_samples(samples);
51 : m_feedback_amount(feedback)
52 , m_feed_samples(feed_samples)
53 , m_history(feed_samples)
59 if (
auto fb = std::dynamic_pointer_cast<FeedbackBuffer>(buffer)) {
92 auto audio_buffer = std::dynamic_pointer_cast<AudioBuffer>(buffer);
98 if (
auto fb = std::dynamic_pointer_cast<FeedbackBuffer>(buffer)) {
105 auto& data = audio_buffer->get_data();
107 for (
double& sample : data) {
std::shared_ptr< BufferProcessor > m_default_processor
Default audio transformation processor for this buffer.
Concrete audio implementation of the Buffer interface for double-precision audio data.
void process_default() override
Applies the default audio transformation to the buffer's data.
FeedbackBuffer(uint32_t channel_id, uint32_t num_samples, float feedback=0.5F, uint32_t feed_samples=512)
Construct feedback buffer.
void set_feedback(float amount)
Set feedback coefficient.
Memory::HistoryBuffer< double > m_history
std::shared_ptr< BufferProcessor > create_default_processor() override
Creates a default audio transformation processor for this buffer type.
void set_feed_samples(uint32_t samples)
Set delay length in samples.
FeedbackProcessor(float feedback=0.5F, uint32_t feed_samples=512)
Construct feedback processor.
void on_detach(const std::shared_ptr< Buffer > &buffer) override
Called when this processor is detached from a buffer.
void processing_function(const std::shared_ptr< Buffer > &buffer) override
The core processing function that must be implemented by derived classes.
void set_feed_samples(uint32_t samples)
Set delay length in samples.
Memory::HistoryBuffer< double > * m_active_history
void on_attach(const std::shared_ptr< Buffer > &buffer) override
Called when this processor is attached to a buffer.
Memory::HistoryBuffer< double > m_history
void push(const T &value)
Push new value to front of history.
History buffer for difference equations and recursive relations.