24#ifndef LMMS_FREQUENCY_SHIFTER_EFFECT_H
25#define LMMS_FREQUENCY_SHIFTER_EFFECT_H
63 const int i0 = (indexFloor == 0) ? (
size - 1) : (indexFloor - 1);
64 const int i1 = indexFloor;
66 int i2 = indexFloor + 1;
67 int i3 = indexFloor + 2;
71 std::array<float, 2>
out;
73 for (
int ch = 0; ch < 2; ++ch)
Definition EffectControls.h:44
Effect(const Plugin::Descriptor *_desc, Model *_parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition Effect.cpp:41
ProcessStatus
Definition Effect.h:147
Definition FrequencyShifterControls.h:36
int m_writeIndex
Definition FrequencyShifterEffect.h:104
bool m_prevResetShifter
Definition FrequencyShifterEffect.h:106
void updateSampleRate()
Definition FrequencyShifterEffect.cpp:262
~FrequencyShifterEffect() override=default
float m_twoPiOverSr
Definition FrequencyShifterEffect.h:100
std::array< float, 2 > m_trueShift
Definition FrequencyShifterEffect.h:92
std::array< float, 2 > m_dampState
Definition FrequencyShifterEffect.h:93
EffectControls * controls() override
Definition FrequencyShifterEffect.h:50
float m_sampleRate
Definition FrequencyShifterEffect.h:101
float m_truePhase
Definition FrequencyShifterEffect.h:97
std::array< float, 2 > m_toneState
Definition FrequencyShifterEffect.h:94
HilbertIIRFloat< 2 > m_hilbert1
Definition FrequencyShifterEffect.h:86
FrequencyShifterEffect(Model *parent, const Descriptor::SubPluginFeatures::Key *key)
Definition FrequencyShifterEffect.cpp:56
bool m_prevResetLfo
Definition FrequencyShifterEffect.h:107
std::array< float, 2 > m_phase
Definition FrequencyShifterEffect.h:91
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition FrequencyShifterEffect.cpp:65
int m_ringBufSize
Definition FrequencyShifterEffect.h:103
HilbertIIRFloat< 2 > m_hilbert2
Definition FrequencyShifterEffect.h:87
float m_lfoPhase
Definition FrequencyShifterEffect.h:96
FrequencyShifterControls m_controls
Definition FrequencyShifterEffect.h:109
float m_trueDelay
Definition FrequencyShifterEffect.h:98
std::vector< std::array< float, 2 > > m_ringBuf
Definition FrequencyShifterEffect.h:89
std::array< float, 2 > getHermiteSample(int indexFloor, float fraction)
Definition FrequencyShifterEffect.h:59
const Descriptor::SubPluginFeatures::Key & key() const
Definition Plugin.h:266
Definition SampleFrame.h:41
static void v2(register WDL_FFT_REAL *a)
Definition fft.c:1099
static uintptr_t parent
Definition pugl.h:1644
float out
Definition lilv_test.c:1461
Definition AudioAlsa.cpp:35
float hermiteInterpolate(float x0, float x1, float x2, float x3, float frac_pos)
Definition interpolation.h:34
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
auto fraction(std::floating_point auto x) noexcept
Returns the fractional part of a float, a value between -1.0f and 1.0f.
Definition lmms_math.h:63
Definition HilbertTransform.h:46