2
0
Fork 0
OB-Xd/Source/PluginEditor.h

85 lines
4.1 KiB
C
Raw Normal View History

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"
//==============================================================================
/**
*/
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:
ObxdAudioProcessorEditor(ObxdAudioProcessor& ownerFilter);
2017-01-23 10:15:08 +00:00
~ObxdAudioProcessorEditor();
2020-04-21 13:08:05 +00:00
void mouseUp (const MouseEvent& e) override;
void paint (Graphics& g) override;
2017-01-23 10:15:08 +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);
void placeLabel (int x, int y, String text);
2020-04-21 08:53:36 +00:00
TooglableButton* addButton (int x, int y, 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();
void rebuildComponents (ObxdAudioProcessor&);
2020-04-21 13:08:05 +00:00
void loadSkin(ObxdAudioProcessor&);
2017-01-23 10:15:08 +00:00
//==============================================================================
ObxdAudioProcessor& processor;
2017-01-23 10:15:08 +00:00
//==============================================================================
2020-04-21 13:08:05 +00:00
Knob* cutoffKnob=nullptr, *resonanceKnob=nullptr, *osc1PitchKnob=nullptr, *osc2PitchKnob=nullptr, *osc2DetuneKnob=nullptr, *volumeKnob,
*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,
*lfoPwm1Button=nullptr, *lfoPwm2Button=nullptr,
*bendRangeButton=nullptr, *bendOsc2OnlyButton=nullptr,
*fourPoleButton=nullptr, *asPlayedAllocButton=nullptr, *midiLearnButton=nullptr, *midiUnlearnButton=nullptr;
ButtonList *voiceSwitch = nullptr,*legatoSwitch = nullptr;
2017-01-23 10:15:08 +00:00
File skinFolder;
//==============================================================================
OwnedArray<Knob::KnobAttachment> knobAttachments;
OwnedArray<TooglableButton::ToggleAttachment> toggleAttachments;
OwnedArray<ButtonList::ButtonListAttachment> buttonListAttachments;
2017-01-23 10:15:08 +00:00
};
#endif // PLUGINEDITOR_H_INCLUDED