1 #ifndef __DelayProcessor_h__
2 #define __DelayProcessor_h__
49 template<InterpolationMethod im = LINEAR_INTERPOLATION>
82 delete[] obj->
buffer.getData();
void delay(DataType *in, DataType *out, IndexType len, int delay_samples)
Write to buffer and read with a delay.
void setDelay(int samples)
Set the read index.
void delay(T *out, size_t len, int delay_samples)
Read from buffer with a delay.
static CrossFadingCircularBuffer< T > * create(size_t len, size_t blocksize)
static void destroy(CrossFadingCircularBuffer< T > *obj)
Delay line signal processor that crossfades to ensure smooth changes in delay time.
CrossFadingCircularFloatBuffer * ringbuffer
static void destroy(CrossFadingDelayProcessor *obj)
void process(FloatArray input, FloatArray output)
static CrossFadingDelayProcessor * create(size_t delay_len, size_t buffer_len)
void setDelay(float samples)
CrossFadingDelayProcessor(CrossFadingCircularFloatBuffer *ringbuffer)
Delay line signal processor implemented with a circular buffer.
static void destroy(DelayProcessor *obj)
void setDelay(size_t samples)
DelayProcessor(float *buffer, size_t len)
CircularFloatBuffer buffer
float process(float input)
static DelayProcessor * create(size_t len)
void process(FloatArray input, FloatArray output)
Interpolating delay line signal processor with fractional delay times.
void process(FloatArray input, FloatArray output)
void setDelay(float samples)
FractionalCircularFloatBuffer buffer
FastFractionalDelayProcessor()
float process(float input)
static void destroy(FastFractionalDelayProcessor *obj)
static FastFractionalDelayProcessor * create(size_t len)
FastFractionalDelayProcessor(float *buffer, float *delta, size_t len)
void smooth(FloatArray input, FloatArray output, float newDelay)
Delay ramping smoothly from the previous delay time to.
This class contains useful methods for manipulating arrays of floats.
void setDelay(float samples)
Set the read index.
void delay(T *in, T *out, size_t len, float delay)
Write to buffer and read with a delay.
Delay line signal processor implemented with a circular buffer, allowing fractional delay times.
float process(float input)
static FractionalDelayProcessor * create(size_t len)
InterpolatingCircularFloatBuffer< im > buffer
FractionalDelayProcessor()
void setDelay(float samples)
static void destroy(FractionalDelayProcessor *obj)
FractionalDelayProcessor(float *buffer, size_t len)
void process(FloatArray input, FloatArray output)
Delay smoothly from the previous delay time to.
Base class for signal processors such as Filters.