28 void setupChorus(
const ModFXType& modFXType, int32_t modFXDepth, int32_t* postFXVolume,
29 UnpatchedParamSet* unpatchedParams, LFOType& modFXLFOWaveType, int32_t& modFXDelayOffset,
30 int32_t& thisModFXDelayDepth)
const;
33 void setupModFXWFeedback(
const ModFXType& modFXType, int32_t modFXDepth, int32_t* postFXVolume,
34 UnpatchedParamSet* unpatchedParams, LFOType& modFXLFOWaveType, int32_t& modFXDelayOffset,
35 int32_t& thisModFXDelayDepth, int32_t& feedback)
const;
37 template <ModFXType modFXType>
38 void processModFXBuffer(deluge::dsp::StereoBuffer<q31_t> buffer, int32_t modFXRate, int32_t modFXDepth,
39 LFOType& modFXLFOWaveType, int32_t modFXDelayOffset, int32_t thisModFXDelayDepth,
40 int32_t feedback,
bool stereo);
42 template <ModFXType modFXType>
43 std::pair<int32_t, int32_t> processModLFOs(int32_t modFXRate, LFOType modFXLFOWaveType);
45 template <ModFXType modFXType,
bool stereo>
46 deluge::dsp::StereoSample<q31_t> processOneModFXSample(deluge::dsp::StereoSample<q31_t> sample,
47 int32_t modFXDelayOffset, int32_t thisModFXDelayDepth,
48 int32_t feedback, int32_t lfoOutput, int32_t lfo2Output);
49 deluge::dsp::StereoSample<q31_t> processOnePhaserSample(deluge::dsp::StereoSample<q31_t> sample, int32_t modFXDepth,
50 int32_t feedback, int32_t lfoOutput);
55 ModFXProcessor::modFXBuffer =
nullptr;
56 ModFXProcessor::modFXBufferWriteIndex = 0;
57 memset(allpassMemory, 0,
sizeof(allpassMemory));
62 delugeDealloc(modFXBuffer);
66 deluge::dsp::StereoSample<q31_t> phaserMemory{0, 0};
67 deluge::dsp::StereoSample<q31_t> allpassMemory[kNumAllpassFiltersPhaser];
68 deluge::dsp::StereoSample<q31_t>* modFXBuffer{
nullptr};
69 uint16_t modFXBufferWriteIndex{0};
72 void processModFX(deluge::dsp::StereoBuffer<q31_t> buffer,
const ModFXType& modFXType, int32_t modFXRate,
74 bool anySoundComingIn);
78 void tickLFO(int32_t numSamples, int32_t phaseIncrement) {
80 modFXLFO.tick(numSamples, phaseIncrement);
void setupModFXWFeedback(const ModFXType &modFXType, int32_t modFXDepth, int32_t *postFXVolume, UnpatchedParamSet *unpatchedParams, LFOType &modFXLFOWaveType, int32_t &modFXDelayOffset, int32_t &thisModFXDelayDepth, int32_t &feedback) const
flanger, phaser, warble - generally any modulated delay tap based effect with feedback
Definition ModFXProcessor.cpp:100
void processModFX(deluge::dsp::StereoBuffer< q31_t > buffer, const ModFXType &modFXType, int32_t modFXRate, int32_t modFXDepth, int32_t *postFXVolume, UnpatchedParamSet *unpatchedParams, bool anySoundComingIn)
NOT GRAIN! - this only does the comb filter based mod fx.
Definition ModFXProcessor.cpp:28