#pragma once #include "JuceHeader.h" #include "PluginProcessor.h" #include "AnalyserComponent.h" #include "BeamgridLookAndFeel.h" class BeamgridAudioProcessorEditor : public juce::AudioProcessorEditor { public: explicit BeamgridAudioProcessorEditor (BeamgridAudioProcessor&); ~BeamgridAudioProcessorEditor() override; void paint (juce::Graphics&) override; void resized() override; private: BeamgridAudioProcessor& processorRef; BeamgridLookAndFeel lookAndFeel; AnalyserComponent analyserComponent; juce::Slider graceSlider; juce::Slider falloffSlider; juce::Slider barfalloffSlider; juce::Slider barsSlider; juce::Slider hueSlider; juce::Label graceLabel; juce::Label falloffLabel; juce::Label barfalloffLabel; juce::Label barsLabel; juce::Label hueLabel; juce::Label titleLabel; juce::Label statusLabel; std::unique_ptr graceAttachment; std::unique_ptr falloffAttachment; std::unique_ptr barfalloffAttachment; std::unique_ptr barsAttachment; std::unique_ptr hueAttachment; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BeamgridAudioProcessorEditor) };