25 static const char* getPluginName() {
return NEEDS_TRANS(
"4-Band Equaliser"); }
26 static const char* xmlTypeName;
29 juce::String getPluginType()
override {
return xmlTypeName; }
30 juce::String getShortName (
int)
override {
return "EQ"; }
32 bool needsConstantBufferSize()
override {
return false; }
42 void resetToDefault();
45 static constexpr float minFreq = 20.0f;
46 static constexpr float maxFreq = 20000.0f;
47 static constexpr float minGain = -20.0f;
48 static constexpr float maxGain = 20.0f;
49 static constexpr float minQ = 0.1f;
50 static constexpr float maxQ = 4.0f;
66 hiFreqValue, hiGainValue, hiQValue,
67 midFreqValue1, midGainValue1, midQValue1,
68 midFreqValue2, midGainValue2, midQValue2;
72 AutomatableParameter::Ptr loFreq, loGain, loQ,
74 midFreq1, midGain1, midQ1,
75 midFreq2, midGain2, midQ2;
78 class EQAutomatableParameter;
81 float lastSampleRate = 44100.0f;
82 bool curveNeedsUpdating =
true;
84 enum { EQ_CHANS = 2 };
85 juce::IIRFilter low[EQ_CHANS], mid1[EQ_CHANS], mid2[EQ_CHANS], high[EQ_CHANS];
87 enum { fftOrder = 10 };
90 void updateIIRFilters();
The context passed to plugin render methods to provide it with buffers to fill.