#pragma once /* ============================================================================== This file was auto-generated by the Introjucer! It contains the basic startup code for a Juce application. ============================================================================== */ #ifndef PLUGINEDITOR_H_INCLUDED #define PLUGINEDITOR_H_INCLUDED #include "../JuceLibraryCode/JuceHeader.h" #include "PluginProcessor.h" #include "Gui/Knob.h" #include "Gui/TooglableButton.h" #include "Gui/ButtonList.h" //============================================================================== /** */ class ObxdAudioProcessorEditor : public AudioProcessorEditor, // public AudioProcessorListener, public ChangeListener//, // public Slider::Listener, // public Button::Listener, // public ComboBox::Listener { public: ObxdAudioProcessorEditor(ObxdAudioProcessor& ownerFilter); ~ObxdAudioProcessorEditor(); void mouseUp (const MouseEvent& e) override; void paint (Graphics& g) override; //============================================================================== void changeListenerCallback (ChangeBroadcaster* source) override; private: Knob* addKnob (int x, int y, int d, ObxdAudioProcessor& filter, int parameter, String name, float defval); void placeLabel (int x, int y, String text); TooglableButton* addButton (int x, int y, ObxdAudioProcessor& filter, int parameter, String name); ButtonList* addList(int x, int y, int w, int h, ObxdAudioProcessor& filter, int parameter, String name, Image img); //Menu* addMenu (int x, int y); void rebuildComponents (ObxdAudioProcessor&); //============================================================================== ObxdAudioProcessor& processor; //============================================================================== Knob* cutoffKnob,*resonanceKnob,*osc1PitchKnob,*osc2PitchKnob,*osc2DetuneKnob,*volumeKnob, *portamentoKnob,*voiceDetuneKnob,*filterEnvelopeAmtKnob,*pulseWidthKnob,*xmodKnob,*multimodeKnob,*attackKnob,*decayKnob,*sustainKnob,*releaseKnob, *fattackKnob,*fdecayKnob,*fsustainKnob,*freleaseKnob,*osc1MixKnob,*osc2MixKnob,*noiseMixKnob, *filterDetuneKnob,*envelopeDetuneKnob,*portamentoDetuneKnob, *tuneKnob, *lfoFrequencyKnob,*lfoAmt1Knob,*lfoAmt2Knob, *pan1Knob,*pan2Knob,*pan3Knob,*pan4Knob,*pan5Knob,*pan6Knob,*pan7Knob,*pan8Knob, *brightnessKnob,*envPitchModKnob, *bendLfoRateKnob,*veloAmpEnvKnob,*veloFltEnvKnob,*transposeKnob; TooglableButton* hardSyncButton,*osc1SawButton,*osc2SawButton,*osc1PulButton,*osc2PulButton,*filterKeyFollowButton,*unisonButton,*pitchQuantButton, *filterHQButton,*filterBPBlendButton, *lfoSinButton,*lfoSquareButton,*lfoSHButton,*lfoOsc1Button,*lfoOsc2Button,*lfoFilterButton, *lfoPwm1Button,*lfoPwm2Button, *bendRangeButton,*bendOsc2OnlyButton, *fourPoleButton,*asPlayedAllocButton,*midiLearnButton,*midiUnlearnButton; ButtonList *voiceSwitch,*legatoSwitch; File skinFolder; //============================================================================== OwnedArray knobAttachments; OwnedArray toggleAttachments; OwnedArray buttonListAttachments; }; #endif // PLUGINEDITOR_H_INCLUDED