Files
InstaLPEQ/Source/PluginEditor.h
hariel1985 2c440d8deb v1.1.2: More FIR latency options, lower default
FIR quality selector now offers 6 choices:
512 (~6ms), 1024 (~12ms), 2048 (~23ms), 4096 (~46ms), 8192 (~93ms), 16384 (~186ms)
Default changed to 2048 (~23ms) for lower latency.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 10:54:57 +01:00

57 sor
1.7 KiB
C++

#pragma once
#include <JuceHeader.h>
#include "PluginProcessor.h"
#include "LookAndFeel.h"
#include "EQCurveDisplay.h"
#include "NodeParameterPanel.h"
class InstaLPEQEditor : public juce::AudioProcessorEditor,
private juce::Timer,
private EQCurveDisplay::Listener,
private NodeParameterPanel::Listener
{
public:
explicit InstaLPEQEditor (InstaLPEQProcessor& p);
~InstaLPEQEditor() override;
void paint (juce::Graphics& g) override;
void resized() override;
private:
void timerCallback() override;
// EQCurveDisplay::Listener
void bandAdded (int index, float freq, float gainDb) override;
void bandRemoved (int index) override;
void bandChanged (int index, const EQBand& band) override;
void selectedBandChanged (int index) override;
// NodeParameterPanel::Listener
void nodeParameterChanged (int bandIndex, const EQBand& band) override;
void nodeDeleteRequested (int bandIndex) override;
void syncDisplayFromProcessor();
InstaLPEQProcessor& processor;
InstaLPEQLookAndFeel customLookAndFeel;
EQCurveDisplay curveDisplay;
NodeParameterPanel nodePanel;
juce::Label titleLabel { {}, "INSTALPEQ" };
juce::Label versionLabel { {}, "v1.1.2" };
juce::ToggleButton bypassToggle;
juce::Label bypassLabel { {}, "BYPASS" };
juce::TextButton newBandButton { "NEW BAND" };
juce::ComboBox qualitySelector;
juce::Label qualityLabel { {}, "FIR" };
juce::Slider masterGainSlider;
juce::Label masterGainLabel { {}, "MASTER" };
juce::ComponentBoundsConstrainer constrainer;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InstaLPEQEditor)
};