MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ FeedbackProcessor() [1/4]

MayaFlux::Buffers::FeedbackProcessor::FeedbackProcessor ( float  feedback = 0.5F,
uint32_t  feed_samples = 512 
)

Single tap, output = input + feedback * tap.

Parameters
feedbackGain
feed_samplesLag in samples, minimum 1

Definition at line 68 of file FeedbackBuffer.cpp.

69 : m_feedback_amount(feedback)
70 , m_feed_samples(std::max<uint32_t>(feed_samples, 1))
71 , m_default_combine(true)
72{
73 m_combine = [this](double x, std::span<const double> taps, std::span<double>) {
74 return x + static_cast<double>(m_feedback_amount) * taps[0];
75 };
76
77 Tap tap;
78 tap.samples = static_cast<double>(m_feed_samples);
79 tap.max_samples = tap.samples;
80 m_taps.push_back(std::move(tap));
82}

References m_combine, m_feed_samples, m_feedback_amount, m_taps, max, MayaFlux::Buffers::FeedbackProcessor::Tap::max_samples, recompute_capacity(), and MayaFlux::Buffers::FeedbackProcessor::Tap::samples.

+ Here is the call graph for this function: