2017-01-23 10:15:08 +00:00
|
|
|
#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"
|
|
|
|
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
/**
|
|
|
|
*/
|
2020-04-19 13:43:40 +00:00
|
|
|
class ObxdAudioProcessorEditor : public AudioProcessorEditor,
|
|
|
|
// public AudioProcessorListener,
|
|
|
|
public ChangeListener//,
|
|
|
|
// public Slider::Listener,
|
|
|
|
// public Button::Listener,
|
|
|
|
// public ComboBox::Listener
|
2017-01-23 10:15:08 +00:00
|
|
|
{
|
|
|
|
public:
|
2020-04-19 13:43:40 +00:00
|
|
|
ObxdAudioProcessorEditor(ObxdAudioProcessor& ownerFilter);
|
2017-01-23 10:15:08 +00:00
|
|
|
~ObxdAudioProcessorEditor();
|
|
|
|
|
2020-04-19 13:43:40 +00:00
|
|
|
void mouseUp (const MouseEvent& e) override;
|
|
|
|
void paint (Graphics& g) override;
|
2017-01-23 10:15:08 +00:00
|
|
|
|
|
|
|
//==============================================================================
|
2020-04-19 13:43:40 +00:00
|
|
|
void changeListenerCallback (ChangeBroadcaster* source) override;
|
2017-01-23 10:15:08 +00:00
|
|
|
|
|
|
|
private:
|
2020-04-19 13:43:40 +00:00
|
|
|
Knob* addNormalKnob (int x, int y, ObxdAudioProcessor& filter, int parameter, String name, float defval);
|
|
|
|
Knob* addTinyKnob (int x, int y, ObxdAudioProcessor& filter, int parameter, String name, float defval);
|
|
|
|
void placeLabel (int x, int y, String text);
|
|
|
|
TooglableButton* addNormalTooglableButton (int x, int y, ObxdAudioProcessor& filter, int parameter, String name);
|
|
|
|
TooglableButton* addTinyTooglableButton (int x, int y, ObxdAudioProcessor& filter, int parameter, String name);
|
2017-01-23 10:15:08 +00:00
|
|
|
|
2020-04-19 13:43:40 +00:00
|
|
|
ButtonList* addNormalButtonList(int x, int y, int width, ObxdAudioProcessor& filter, int parameter, String name, Image img);
|
|
|
|
// void sliderValueChanged (Slider*) override;
|
|
|
|
// void buttonClicked (Button*) override;
|
|
|
|
// void comboBoxChanged (ComboBox*) override;
|
2017-01-23 10:15:08 +00:00
|
|
|
|
2020-04-19 13:43:40 +00:00
|
|
|
Knob* addNormalKnobClassic (int x, int y, ObxdAudioProcessor& filter, int parameter, String name, float defval);
|
|
|
|
Knob* addTinyKnobClassic (int x, int y, ObxdAudioProcessor& filter, int parameter, String name, float defval);
|
|
|
|
TooglableButton* addNormalTooglableButtonClassic (int x, int y, ObxdAudioProcessor& filter, int parameter, String name);
|
|
|
|
ButtonList* addNormalButtonListClassic (int x, int y, int width, ObxdAudioProcessor& filter, int parameter, String name, Image img);
|
2017-01-23 10:15:08 +00:00
|
|
|
|
2020-04-19 13:43:40 +00:00
|
|
|
void rebuildComponents (ObxdAudioProcessor&);
|
2017-01-23 10:15:08 +00:00
|
|
|
|
|
|
|
//==============================================================================
|
2020-04-19 13:43:40 +00:00
|
|
|
ObxdAudioProcessor& processor;
|
2017-01-23 10:15:08 +00:00
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
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;
|
2020-04-19 13:43:40 +00:00
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
OwnedArray<Knob::KnobAttachment> knobAttachments;
|
|
|
|
OwnedArray<TooglableButton::ToggleAttachment> toggleAttachments;
|
|
|
|
OwnedArray<ButtonList::ButtonListAttachment> buttonListAttachments;
|
2017-01-23 10:15:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // PLUGINEDITOR_H_INCLUDED
|