Initial commit: InstaLPEQ linear phase EQ plugin
Full-featured linear phase EQ with interactive graphical curve display. FIR-based processing (8192-tap), 8 parametric bands, multi-platform CI/CD (Windows/macOS/Linux), InstaDrums visual style. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
52
Source/PluginEditor.h
Normal file
52
Source/PluginEditor.h
Normal file
@@ -0,0 +1,52 @@
|
||||
#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.0" };
|
||||
juce::ToggleButton bypassToggle;
|
||||
juce::Label bypassLabel { {}, "BYPASS" };
|
||||
|
||||
juce::Slider masterGainSlider;
|
||||
juce::Label masterGainLabel { {}, "MASTER" };
|
||||
|
||||
juce::ComponentBoundsConstrainer constrainer;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InstaLPEQEditor)
|
||||
};
|
||||
Reference in New Issue
Block a user