/* ============================================================================== This file contains the basic framework code for a JUCE plugin editor. ============================================================================== */ #pragma once #include #include "PluginProcessor.h" #include "ScopeComponent.h" //============================================================================== /** */ class NeuralSynthAudioProcessorEditor : public juce::AudioProcessorEditor { public: NeuralSynthAudioProcessorEditor (NeuralSynthAudioProcessor&); ~NeuralSynthAudioProcessorEditor() override; //============================================================================== void paint (juce::Graphics&) override; void resized() override; private: // This reference is provided as a quick way for your editor to // access the processor object that created it. NeuralSynthAudioProcessor& audioProcessor; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (NeuralSynthAudioProcessorEditor) juce::ComboBox waveformSelector; std::unique_ptr waveformAttachment; juce::Slider attackSlider, decaySlider, sustainSlider, releaseSlider; std::unique_ptr attackAttachment; std::unique_ptr decayAttachment; std::unique_ptr sustainAttachment; std::unique_ptr releaseAttachment; juce::MidiKeyboardState midiKeyboardState; juce::MidiKeyboardComponent midiKeyboardComponent{ midiKeyboardState, juce::MidiKeyboardComponent::horizontalKeyboard }; ScopeComponent scopeComponent; };