#pragma once

#include <JuceHeader.h>

class CMLSEqualizer : public juce::dsp::ProcessorBase
{
    public:
        CMLSEqualizer();
        ~CMLSEqualizer() override = default;

        void prepare(const juce::dsp::ProcessSpec&) override;
        void reset() override;
        void process(const juce::dsp::ProcessContextReplacing<float>&) override;

        void setEqLowGain(float);
        void setEqHighGain(float);

    private:
        double sampleRate = 44100.0; // default, will be updated
        juce::dsp::ProcessorDuplicator<juce::dsp::IIR::Filter<float>,
        juce::dsp::IIR::Coefficients<float>> lowBand, highBand;
};
