Class thl::dsp::utils::DynamicDelayLine#

class DynamicDelayLine#

Variable-length float delay line backed by an BufferF (heap-allocated).

Mirrors the API of DelayLine<float, N> but with runtime buffer sizing. Also exposes tap() for reading relative to the most recent write, as required by reverb output tap matrices.

The physical ring is rounded up to a power of two so index wrapping is a bit-mask instead of an integer division. max_delay() keeps the caller’s requested bound; delays beyond it read stale (but allocated) history.

Call prepare() before first use to allocate the buffer.

Public Functions

DynamicDelayLine()#
~DynamicDelayLine()#
void prepare(size_t max_delay)#
void reset()#
void set_delay(size_t delay)#
void write(float sample)#
float write_read(float sample, float delay)#
float read() const#
float read(size_t delay) const#
float read(float delay) const#
float read_hermite(float delay) const#
float tap(float offset) const#
float tap(size_t offset) const#
DynamicDelayLine(const DynamicDelayLine&) = delete#
DynamicDelayLine &operator=(const DynamicDelayLine&) = delete#
inline size_t max_delay() const#