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#
-
DynamicDelayLine()#