2018-02-27 08:17:12 +08:00
|
|
|
/*
|
|
|
|
==============================================================================
|
|
|
|
|
|
|
|
This file was auto-generated!
|
|
|
|
|
|
|
|
It contains the basic framework code for a JUCE plugin editor.
|
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "../JuceLibraryCode/JuceHeader.h"
|
|
|
|
#include "PluginProcessor.h"
|
2018-02-27 08:25:20 +08:00
|
|
|
#include "TablesComponent.h"
|
|
|
|
#include "SurjectiveMidiKeyboardComponent.h"
|
2018-04-11 07:52:44 +08:00
|
|
|
#include "FilePickerFragment.h"
|
|
|
|
#include "ExposesComponents.h"
|
2018-02-27 08:25:20 +08:00
|
|
|
#include "FilePicker.h"
|
2018-03-19 07:35:29 +08:00
|
|
|
#include "StateChangeSubscriber.h"
|
2019-06-30 17:59:07 +08:00
|
|
|
#include "SlidersComponent.h"
|
2018-02-27 08:17:12 +08:00
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
/**
|
|
|
|
*/
|
2019-07-08 00:35:31 +08:00
|
|
|
class JuicySFAudioProcessorEditor
|
|
|
|
: public AudioProcessorEditor
|
|
|
|
// , public AudioProcessorValueTreeState::Listener
|
2019-07-09 06:36:27 +08:00
|
|
|
, private Value::Listener
|
|
|
|
// , public ValueTree::Listener
|
2019-07-08 00:35:31 +08:00
|
|
|
/*,
|
|
|
|
, public ExposesComponents
|
2018-04-10 07:11:22 +08:00
|
|
|
public StateChangeSubscriber*/
|
2018-02-27 08:17:12 +08:00
|
|
|
{
|
|
|
|
public:
|
2019-07-07 07:22:47 +08:00
|
|
|
JuicySFAudioProcessorEditor(
|
|
|
|
JuicySFAudioProcessor&,
|
2019-07-08 00:35:31 +08:00
|
|
|
AudioProcessorValueTreeState& valueTreeState
|
2019-07-07 07:22:47 +08:00
|
|
|
);
|
2018-02-28 07:34:22 +08:00
|
|
|
~JuicySFAudioProcessorEditor();
|
2018-02-27 08:17:12 +08:00
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
void paint (Graphics&) override;
|
|
|
|
void resized() override;
|
|
|
|
|
2018-02-27 08:25:20 +08:00
|
|
|
bool keyPressed(const KeyPress &key) override;
|
|
|
|
bool keyStateChanged (bool isKeyDown) override;
|
|
|
|
|
2018-04-10 07:11:22 +08:00
|
|
|
// void getStateInformation (XmlElement& xml) override;
|
|
|
|
// void setStateInformation (XmlElement* xmlState) override;
|
2018-03-19 07:35:29 +08:00
|
|
|
|
2019-07-08 00:35:31 +08:00
|
|
|
// virtual FilePickerFragment& getFilePicker() override;
|
|
|
|
// virtual SlidersFragment& getSliders() override;
|
|
|
|
// virtual void parameterChanged (const String& parameterID, float newValue) override;
|
|
|
|
|
|
|
|
// int getWidth();
|
|
|
|
// int getHeight();
|
|
|
|
|
2019-07-09 06:36:27 +08:00
|
|
|
// virtual void valueTreePropertyChanged (ValueTree& treeWhosePropertyHasChanged,
|
|
|
|
// const Identifier& property) override;
|
|
|
|
// inline virtual void valueTreeChildAdded (ValueTree& parentTree,
|
|
|
|
// ValueTree& childWhichHasBeenAdded) override {};
|
|
|
|
// inline virtual void valueTreeChildRemoved (ValueTree& parentTree,
|
|
|
|
// ValueTree& childWhichHasBeenRemoved,
|
|
|
|
// int indexFromWhichChildWasRemoved) override {};
|
|
|
|
// inline virtual void valueTreeChildOrderChanged (ValueTree& parentTreeWhoseChildrenHaveMoved,
|
|
|
|
// int oldIndex, int newIndex) override {};
|
|
|
|
// inline virtual void valueTreeParentChanged (ValueTree& treeWhoseParentHasChanged) override {};
|
|
|
|
// inline virtual void valueTreeRedirected (ValueTree& treeWhichHasBeenChanged) override {};
|
2018-04-11 07:08:15 +08:00
|
|
|
|
2018-02-27 08:17:12 +08:00
|
|
|
private:
|
2019-07-09 06:36:27 +08:00
|
|
|
void valueChanged (Value&) override;
|
2019-07-08 00:35:31 +08:00
|
|
|
|
2018-02-27 08:17:12 +08:00
|
|
|
// This reference is provided as a quick way for your editor to
|
|
|
|
// access the processor object that created it.
|
2018-02-27 08:39:50 +08:00
|
|
|
JuicySFAudioProcessor& processor;
|
2018-02-27 08:25:20 +08:00
|
|
|
|
2019-07-04 06:38:56 +08:00
|
|
|
AudioProcessorValueTreeState& valueTreeState;
|
2019-07-08 00:35:31 +08:00
|
|
|
// SharesParams& sharedParams;
|
2019-07-02 06:55:14 +08:00
|
|
|
|
2019-07-09 06:36:27 +08:00
|
|
|
// these are used to persist the UI's size - the values are stored along with the
|
|
|
|
// filter's other parameters, and the UI component will update them when it gets
|
|
|
|
// resized.
|
|
|
|
Value lastUIWidth, lastUIHeight;
|
|
|
|
|
2018-02-27 08:25:20 +08:00
|
|
|
SurjectiveMidiKeyboardComponent midiKeyboard;
|
|
|
|
TablesComponent tablesComponent;
|
|
|
|
FilePicker filePicker;
|
2019-06-30 17:59:07 +08:00
|
|
|
SlidersComponent slidersComponent;
|
2018-02-27 08:25:20 +08:00
|
|
|
|
|
|
|
bool focusInitialized;
|
2018-02-27 08:17:12 +08:00
|
|
|
|
2018-02-28 07:34:22 +08:00
|
|
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JuicySFAudioProcessorEditor)
|
2018-02-27 08:17:12 +08:00
|
|
|
};
|