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-21 13:08:05 +00:00
|
|
|
|
|
|
|
|
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-21 08:53:36 +00:00
|
|
|
Knob* addKnob (int x, int y, int d, ObxdAudioProcessor& filter, int parameter, String name, float defval);
|
2020-04-19 13:43:40 +00:00
|
|
|
void placeLabel (int x, int y, String text);
|
2020-04-21 14:51:05 +00:00
|
|
|
TooglableButton* addButton (int x, int y, int w, int h, ObxdAudioProcessor& filter, int parameter, String name);
|
2020-04-21 09:54:19 +00:00
|
|
|
ButtonList* addList(int x, int y, int w, int h, ObxdAudioProcessor& filter, int parameter, String name, Image img);
|
|
|
|
//Menu* addMenu (int x, int y);
|
2020-04-21 13:08:05 +00:00
|
|
|
void clean();
|
|
|
|
|
2020-04-19 13:43:40 +00:00
|
|
|
void rebuildComponents (ObxdAudioProcessor&);
|
2020-04-21 13:08:05 +00:00
|
|
|
void loadSkin(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
|
|
|
|
|
|
|
//==============================================================================
|
2020-04-21 13:13:51 +00:00
|
|
|
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;
|
2020-04-21 13:08:05 +00:00
|
|
|
|
2020-04-21 13:13:51 +00:00
|
|
|
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;
|
2020-04-21 13:08:05 +00:00
|
|
|
|
2020-04-21 13:13:51 +00:00
|
|
|
ButtonList *voiceSwitch = nullptr,
|
|
|
|
*legatoSwitch = nullptr;
|
2017-01-23 10:15:08 +00:00
|
|
|
|
|
|
|
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
|