1 #ifndef __FeedbackProcessor_h__
2 #define __FeedbackProcessor_h__
8 template<
class Processor>
14 template <
typename... Args>
26 Processor::process(input, output);
29 template <
typename... Args>
35 Processor::destroy(obj);
47 template <
typename... Args>
91 template <
typename... Args>
virtual FloatArray getSamples(int channel)=0
DC Blocking IIR filter, aka Leaky differentiator.
FeedbackSignalProcessor(FloatArray buffer, Args &&... args)
FloatArray feedback_buffer
static FeedbackSignalProcessor< Processor > * create(size_t blocksize, Args &&... args)
void process(FloatArray input, FloatArray output)
void setFeedback(float amount)
static void destroy(FeedbackSignalProcessor< Processor > *obj)
This class contains useful methods for manipulating arrays of floats.
void multiply(FloatArray operand2, FloatArray destination)
Element-wise multiplication between arrays.
void add(FloatArray operand2, FloatArray destination)
Element-wise sum between arrays.
static void destroy(FloatArray array)
Destroys a FloatArray created with the create() method.
static FloatArray create(int size)
Creates a new FloatArray.
SignalProcessor * processor_left
void setFeedback(float amount)
void process(AudioBuffer &input, AudioBuffer &output)
static void destroy(PingPongFeedbackProcessor *obj)
DcBlockingFilter dc_right
SignalProcessor * processor_right
PingPongFeedbackProcessor(SignalProcessor *left, SignalProcessor *right, FloatArray fbl, FloatArray fbr)
static PingPongFeedbackProcessor * create(SignalProcessor *left, SignalProcessor *right, size_t blocksize)
FloatArray feedback_right
Base class for signal processors such as Filters.
virtual float process(float input)
void copyFrom(SimpleArray< T > source)
Copies the content of another array into this array.
static void destroy(StereoFeedbackProcessor *obj)
static StereoFeedbackProcessor * create(SignalProcessor *left, SignalProcessor *right, size_t blocksize)
SignalProcessor * processor_left
StereoFeedbackProcessor(SignalProcessor *left, SignalProcessor *right, FloatArray fbl, FloatArray fbr)
void process(AudioBuffer &input, AudioBuffer &output)
FloatArray feedback_right
void setFeedback(float amount)
SignalProcessor * processor_right