#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 clean(); void rebuildComponents (ObxdAudioProcessor&); void loadSkin(ObxdAudioProcessor&); //============================================================================== ObxdAudioProcessor& processor; //============================================================================== Knob* cutoffKnob=nullptr, *resonanceKnob=nullptr, *osc1PitchKnob=nullptr, *osc2PitchKnob=nullptr, *osc2DetuneKnob=nullptr, *volumeKnob=nullptr, *portamentoKnob=nullptr, *voiceDetuneKnob=nullptr, *filterEnvelopeAmtKnob=nullptr, *pulseWidthKnob=nullptr, *xmodKnob=nullptr, *multimodeKnob=nullptr, *attackKnob=nullptr, *decayKnob=nullptr, *sustainKnob=nullptr, *releaseKnob=nullptr, *fattackKnob=nullptr, *fdecayKnob=nullptr, *fsustainKnob=nullptr, *freleaseKnob=nullptr, *osc1MixKnob=nullptr, *osc2MixKnob=nullptr, *noiseMixKnob=nullptr, *filterDetuneKnob=nullptr, *envelopeDetuneKnob=nullptr, *portamentoDetuneKnob=nullptr, *tuneKnob=nullptr, *lfoFrequencyKnob=nullptr, *lfoAmt1Knob=nullptr, *lfoAmt2Knob=nullptr, *pan1Knob=nullptr, *pan2Knob=nullptr, *pan3Knob=nullptr, *pan4Knob=nullptr, *pan5Knob=nullptr, *pan6Knob=nullptr, *pan7Knob=nullptr, *pan8Knob=nullptr, *brightnessKnob=nullptr, *envPitchModKnob=nullptr, *bendLfoRateKnob=nullptr, *veloAmpEnvKnob=nullptr, *veloFltEnvKnob=nullptr, *transposeKnob=nullptr; TooglableButton* hardSyncButton=nullptr, *osc1SawButton=nullptr, *osc2SawButton=nullptr, *osc1PulButton=nullptr, *osc2PulButton=nullptr, *filterKeyFollowButton=nullptr, *unisonButton=nullptr, *pitchQuantButton=nullptr, *filterHQButton=nullptr, *filterBPBlendButton=nullptr, *lfoSinButton=nullptr, *lfoSquareButton=nullptr, *lfoSHButton=nullptr, *lfoOsc1Button=nullptr, *lfoOsc2Button=nullptr, *lfoFilterButton=nullptr, *lfoPwm1Button=nullptr, *lfoPwm2Button=nullptr, *bendRangeButton=nullptr, *bendOsc2OnlyButton=nullptr, *fourPoleButton=nullptr, *asPlayedAllocButton=nullptr, *midiLearnButton=nullptr, *midiUnlearnButton=nullptr; ButtonList *voiceSwitch = nullptr, *legatoSwitch = nullptr; File skinFolder; //============================================================================== OwnedArray knobAttachments; OwnedArray toggleAttachments; OwnedArray buttonListAttachments; }; #endif // PLUGINEDITOR_H_INCLUDED