OpenWareLaboratory
CrossFadingDelayProcessor Class Reference

Delay line signal processor that crossfades to ensure smooth changes in delay time. More...

Inheritance diagram for CrossFadingDelayProcessor:
Collaboration diagram for CrossFadingDelayProcessor:

Public Member Functions

void clear ()
 
 CrossFadingDelayProcessor (CrossFadingCircularFloatBuffer *ringbuffer)
 
float getDelay ()
 
virtual float process (float input)
 
void process (FloatArray input, FloatArray output)
 
void setDelay (float samples)
 

Static Public Member Functions

static CrossFadingDelayProcessorcreate (size_t delay_len, size_t buffer_len)
 
static void destroy (CrossFadingDelayProcessor *obj)
 

Protected Attributes

float delay = 0
 
CrossFadingCircularFloatBufferringbuffer
 

Detailed Description

Delay line signal processor that crossfades to ensure smooth changes in delay time.

Cross fade time in samples is equal to one block size. Delay time should be updated at block rate, before calling the block-based process() method. Sample based processing should not be used with this class.

Definition at line 137 of file DelayProcessor.h.

Constructor & Destructor Documentation

◆ CrossFadingDelayProcessor()

CrossFadingDelayProcessor::CrossFadingDelayProcessor ( CrossFadingCircularFloatBuffer ringbuffer)
inline

Definition at line 142 of file DelayProcessor.h.

Referenced by create().

Member Function Documentation

◆ clear()

void CrossFadingDelayProcessor::clear ( )
inline

Definition at line 150 of file DelayProcessor.h.

References CircularBuffer< DataType, IndexType >::clear(), and ringbuffer.

◆ create()

static CrossFadingDelayProcessor* CrossFadingDelayProcessor::create ( size_t  delay_len,
size_t  buffer_len 
)
inlinestatic

◆ destroy()

static void CrossFadingDelayProcessor::destroy ( CrossFadingDelayProcessor obj)
inlinestatic

Definition at line 159 of file DelayProcessor.h.

References CrossFadingCircularBuffer< T >::destroy(), and ringbuffer.

◆ getDelay()

float CrossFadingDelayProcessor::getDelay ( )
inline

Definition at line 144 of file DelayProcessor.h.

References delay.

◆ process() [1/2]

◆ process() [2/2]

void CrossFadingDelayProcessor::process ( FloatArray  input,
FloatArray  output 
)
inlinevirtual

◆ setDelay()

void CrossFadingDelayProcessor::setDelay ( float  samples)
inline

Definition at line 147 of file DelayProcessor.h.

References delay.

Field Documentation

◆ delay

float CrossFadingDelayProcessor::delay = 0
protected

Definition at line 140 of file DelayProcessor.h.

Referenced by getDelay(), process(), and setDelay().

◆ ringbuffer

CrossFadingCircularFloatBuffer* CrossFadingDelayProcessor::ringbuffer
protected

Definition at line 139 of file DelayProcessor.h.

Referenced by clear(), destroy(), and process().


The documentation for this class was generated from the following file: