| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /*
- ==============================================================================
- CMLSDelay.h
- Created: 3 May 2025 5:39:35pm
- Author: Luigi
- Ref. https://github.com/flipbug/simple-delay/tree/master
- ==============================================================================
- */
- #pragma once
- #include <JuceHeader.h>
- #define MAX_DELAY_LENGTH 1.0f // Maximum delay time in seconds
- #define MAX_FEEDBACK 1.0f
- class CMLSDelay : public juce::dsp::ProcessorBase
- {
- public:
- CMLSDelay();
- ~CMLSDelay() override;
- void reset() override;
- void prepare(const juce::dsp::ProcessSpec&) override;
- void process(const juce::dsp::ProcessContextReplacing<float>&) override;
-
- // Parameter getters and setters
- void setDryWet(float value);
- void setAmount(float value);
- const float getDryWet();
- const float getAmount();
- private:
- float dryWetProp = 0.0f;
- float amount = 0.0f;
- float delayLength;
- float feedback;
- juce::AudioSampleBuffer delayBuffer;
- int delayBufferLength;
- int delayReadPosition;
- int delayWritePosition;
- juce::NormalisableRange<float>* delayLengthRange;
- juce::NormalisableRange<float>* feedbackRange;
- };
|