25#ifndef LMMS_DSPEFFECTLIBRARY_H
26#define LMMS_DSPEFFECTLIBRARY_H
47 _buf[
f][0] = T::nextSample( _buf[
f][0] );
62 T::nextSample( _buf[
f][0], _buf[
f][1] );
68 template<
class FXL,
class FXR = FXL>
97 inLeft =
m_leftFX.nextSample( inLeft );
98 inRight =
m_rightFX.nextSample( inRight );
129 m_FX.nextSample(
s[0],
s[1] );
131 return (
s[0] +
s[1] ) / 2.0f;
174 template<
class FX0,
class FX1 =
typename FX0::bypassType>
175 class Chain :
public FX0::bypassType
179 Chain(
const FX0& fx0,
const FX1& fx1 = FX1() ) :
187 m_FX0.process( buf, frames );
188 m_FX1.process( buf, frames );
199 template<
typename sample_t>
202 return std::min<sample_t>(std::max<sample_t>(-1.0f,
x), 1.0f);
332 constexpr float toRad = std::numbers::pi_v<float> / 180.f;
334 inLeft += inRight * std::sin(
m_wideCoeff * toRad * .5f);
335 inRight -= tmp * std::sin(
m_wideCoeff * toRad * .5f);
#define saturate(x)
Definition add.c:20
Chain(const FX0 &fx0, const FX1 &fx1=FX1())
Definition DspEffectLibrary.h:179
typename FX0::sample_t sample_t
Definition DspEffectLibrary.h:178
FX1 m_FX1
Definition DspEffectLibrary.h:193
FX0 m_FX0
Definition DspEffectLibrary.h:192
void process(sample_t **buf, const f_cnt_t frames)
Definition DspEffectLibrary.h:185
float m_threshold
Definition DspEffectLibrary.h:279
void setThreshold(float threshold)
Definition DspEffectLibrary.h:268
float m_gain
Definition DspEffectLibrary.h:280
void setGain(float gain)
Definition DspEffectLibrary.h:273
DistortionBase(float threshold, float gain)
Definition DspEffectLibrary.h:262
Definition DspEffectLibrary.h:301
sample_t nextSample(sample_t in)
Definition DspEffectLibrary.h:305
void setFrequency(const sample_t _frequency)
Definition DspEffectLibrary.h:228
void setRatio(const sample_t _ratio)
Definition DspEffectLibrary.h:239
sample_t m_gain1
Definition DspEffectLibrary.h:251
sample_t m_frequency
Definition DspEffectLibrary.h:250
sample_t nextSample(sample_t _in)
Definition DspEffectLibrary.h:221
FastBassBoost()
Definition DspEffectLibrary.h:245
void setGain(const sample_t _gain)
Definition DspEffectLibrary.h:234
FastBassBoost(const sample_t _frequency, const sample_t _gain, const sample_t _ratio, const FastBassBoost &_orig=FastBassBoost())
Definition DspEffectLibrary.h:209
sample_t m_ratio
Definition DspEffectLibrary.h:253
sample_t m_gain2
Definition DspEffectLibrary.h:252
sample_t m_cap
Definition DspEffectLibrary.h:254
Definition DspEffectLibrary.h:285
sample_t nextSample(sample_t in)
Definition DspEffectLibrary.h:289
Definition DspEffectLibrary.h:39
class MonoBypass bypassType
Definition DspEffectLibrary.h:41
static void process(sample_t **_buf, const f_cnt_t _frames)
Definition DspEffectLibrary.h:43
Definition DspEffectLibrary.h:140
sample_t nextSample(sample_t in)
Definition DspEffectLibrary.h:142
void nextSample(SampleFrame &in)
Definition DspEffectLibrary.h:90
MonoToStereoAdaptor(const FXL &leftFX, const FXR &rightFX)
Definition DspEffectLibrary.h:78
FXR & rightFX()
Definition DspEffectLibrary.h:106
MonoToStereoAdaptor(const FXL &monoFX)
Definition DspEffectLibrary.h:72
FXL & leftFX()
Definition DspEffectLibrary.h:101
void nextSample(sample_t &inLeft, sample_t &inRight)
Definition DspEffectLibrary.h:95
FXL m_leftFX
Definition DspEffectLibrary.h:112
FXR m_rightFX
Definition DspEffectLibrary.h:113
void setGain(float gain)
Definition DspEffectLibrary.h:84
Definition DspEffectLibrary.h:54
static void process(sample_t **_buf, const f_cnt_t _frames)
Definition DspEffectLibrary.h:58
class StereoBypass bypassType
Definition DspEffectLibrary.h:56
Definition DspEffectLibrary.h:150
void nextSample(sample_t &, sample_t &)
Definition DspEffectLibrary.h:152
StereoEnhancer(float wideCoeff)
Definition DspEffectLibrary.h:315
float m_wideCoeff
Definition DspEffectLibrary.h:339
float wideCoeff()
Definition DspEffectLibrary.h:325
void setWideCoeff(float wideCoeff)
Definition DspEffectLibrary.h:320
void nextSample(sample_t &inLeft, sample_t &inRight)
Definition DspEffectLibrary.h:330
FX m_FX
Definition DspEffectLibrary.h:135
sample_t nextSample(sample_t in)
Definition DspEffectLibrary.h:126
StereoToMonoAdaptor(const FX &fx)
Definition DspEffectLibrary.h:121
Definition SampleFrame.h:41
unsigned s
Definition inflate.c:1555
unsigned x[BMAX+1]
Definition inflate.c:1586
unsigned f
Definition inflate.c:1572
float in
Definition lilv_test.c:1460
Definition DspEffectLibrary.h:35
float sample_t
Definition LmmsTypes.h:39
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
Definition juce_Uuid.h:141
#define max(x, y)
Definition os.h:78