Deluge Firmware 1.3.0
Build date: 2026.10.14
Loading...
Searching...
No Matches
deluge::dsp::reverb::Mutable Class Reference
Inheritance diagram for deluge::dsp::reverb::Mutable:
Collaboration diagram for deluge::dsp::reverb::Mutable:

Public Member Functions

void process (std::span< int32_t > in, std::span< StereoSample > output) override
void Clear ()
void setRoomSize (float value) override
float getRoomSize () const override
void setDamping (float value) override
float getDamping () const override
void setWidth (float value) override
float getWidth () const override
void setHPF (float f) override
float getHPF () const override
void setLPF (float f) override
float getLPF () const override
Public Member Functions inherited from deluge::dsp::reverb::Base
constexpr void setPanLevels (const int32_t amplitude_left, const int32_t amplitude_right)
constexpr int32_t getPanLeft () const
constexpr int32_t getPanRight () const

Static Public Attributes

static constexpr float kOutputGain = 15.f * 4294967296.f
static constexpr float kReverbTimeMin = 0.01f
static constexpr float kReverbTimeMax = 0.98f
static constexpr float kWidthMin = 0.1f
static constexpr float kWidthMax = 0.9f
static constexpr float kLpMin = 0.01f
static constexpr float kLpMax = 1.f

Protected Attributes

std::array< float, kBufferSize > buffer_ {}
FxEngine engine_ {buffer_, {0.5f / sample_rate, 0.3f / sample_rate}}
float reverb_time_ = 0.665f
float diffusion_ = 0.625f
float lp_ {0.7f}
float lp_val_ {0.7f}
float lp_decay_1_ {0}
float lp_decay_2_ {0}
float hp_cutoff_val_ {0.f}
float hp_cutoff_ {calcFilterCutoff<FilterType::HighPass>(0)}
float hp_l_ {0.0}
float hp_r_ {0.0}
float lp_cutoff_val_ {0.f}
float lp_cutoff_ {calcFilterCutoff<FilterType::LowPass>(0)}
float lp_l_ {0.0}
float lp_r_ {0.0}

Static Protected Attributes

static constexpr float sample_rate = kSampleRate

Static Private Attributes

static constexpr size_t kBufferSize = 32768

Additional Inherited Members

Public Types inherited from deluge::dsp::reverb::Base
enum class  FilterType { LowPass , HighPass }
Static Public Member Functions inherited from deluge::dsp::reverb::Base
template<FilterType filtertype>
static constexpr float calcFilterCutoff (float f)

Member Function Documentation

◆ getDamping()

float deluge::dsp::reverb::Mutable::getDamping ( ) const
inlinenodiscardoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

◆ getHPF()

float deluge::dsp::reverb::Mutable::getHPF ( ) const
inlinenodiscardoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

◆ getLPF()

float deluge::dsp::reverb::Mutable::getLPF ( ) const
inlinenodiscardoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

◆ getRoomSize()

float deluge::dsp::reverb::Mutable::getRoomSize ( ) const
inlinenodiscardoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

◆ getWidth()

float deluge::dsp::reverb::Mutable::getWidth ( ) const
inlinenodiscardoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

◆ process()

void deluge::dsp::reverb::Mutable::process ( std::span< int32_t > in,
std::span< StereoSample > output )
inlineoverridevirtual

◆ setDamping()

void deluge::dsp::reverb::Mutable::setDamping ( float value)
inlineoverridevirtual

0 is no damping at all, 1 is as dark as the loop filter goes. The curve is logarithmic so the audible change is spread evenly over the parameter's range.

Reimplemented from deluge::dsp::reverb::Base.

◆ setHPF()

void deluge::dsp::reverb::Mutable::setHPF ( float f)
inlineoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

◆ setLPF()

void deluge::dsp::reverb::Mutable::setLPF ( float f)
inlineoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

◆ setRoomSize()

void deluge::dsp::reverb::Mutable::setRoomSize ( float value)
inlineoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

◆ setWidth()

void deluge::dsp::reverb::Mutable::setWidth ( float value)
inlineoverridevirtual

Reimplemented from deluge::dsp::reverb::Base.

Member Data Documentation

◆ kLpMin

float deluge::dsp::reverb::Mutable::kLpMin = 0.01f
staticconstexpr

Range of the one-pole coefficient driving the damping filter inside the reverb loop. kLpMax is fully transparent, kLpMin is a cutoff of roughly 70Hz, past which there is nothing left of the tail to damp.

◆ kOutputGain

float deluge::dsp::reverb::Mutable::kOutputGain = 15.f * 4294967296.f
staticconstexpr

Lifts the normalised loop signal back into q31. Long spelled UINT32_MAX * 0xF; kept at exactly that value, since it is what the models were balanced around.


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