Deluge Firmware 1.3.0
Build date: 2025.09.27
Loading...
Searching...
No Matches
deluge::dsp::DelayBuffer Class Reference

Classes

struct  ResampleConfig

Public Member Functions

Error init (uint32_t newRate, uint32_t failIfThisSize=0, bool includeExtraSpace=true)
constexpr void invalidate ()
void makeNativeRatePrecise ()
void makeNativeRatePreciseRelativeToOtherBuffer (const DelayBuffer &otherBuffer)
void discard ()
template<typename C>
constexpr int32_t advance (C callback)
template<typename C>
constexpr int32_t retreat (C callback)
void setupForRender (int32_t rate)
constexpr bool isActive () const
bool clearAndMoveOn ()
bool moveOn ()
bool moveBack ()
void writeNative (StereoSample< q31_t > toDelay)
void writeNativeAndMoveOn (StereoSample< q31_t > toDelay, StereoSample< q31_t > **writePos)
void write (StereoSample< q31_t > toDelay, int32_t strength1, int32_t strength2)
void writeResampled (StereoSample< q31_t > toDelay, int32_t strength1, int32_t strength2)
constexpr bool isNative () const
constexpr bool resampling () const
constexpr uint32_t nativeRate () const
constexpr StereoSample< q31_t > & current () const
constexpr StereoSample< q31_t > * begin () const
constexpr StereoSample< q31_t > * end () const
constexpr size_t size () const
void clear ()
constexpr void setCurrent (StereoSample< q31_t > *sample)

Static Public Member Functions

static std::pair< int32_t, bool > getIdealBufferSizeFromRate (uint32_t rate)

Public Attributes

uint32_t longPos
uint8_t lastShortPos
size_t sizeIncludingExtra
std::optional< ResampleConfigresample_config_ {}

Static Public Attributes

static constexpr size_t kMaxSize = 88200
static constexpr size_t kMinSize = 1
static constexpr size_t kNeutralSize = 16384

Private Member Functions

void setupResample ()

Private Attributes

uint32_t native_rate_ = 0
StereoSample< q31_t > * start_ = nullptr
StereoSample< q31_t > * end_
StereoSample< q31_t > * current_
size_t size_

The documentation for this class was generated from the following files:
  • src/deluge/dsp/delay/delay_buffer.h
  • src/deluge/dsp/delay/delay_buffer.cpp