juicysfplugin/Source/PluginEditor.h

95 lines
3.6 KiB
C
Raw Normal View History

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"
#include "FilePickerFragment.h"
#include "ExposesComponents.h"
2018-02-27 08:25:20 +08:00
#include "FilePicker.h"
#include "StateChangeSubscriber.h"
2019-06-30 17:59:07 +08:00
#include "SlidersComponent.h"
2018-02-27 08:17:12 +08:00
//==============================================================================
/**
*/
class JuicySFAudioProcessorEditor
: public AudioProcessorEditor
// , public AudioProcessorValueTreeState::Listener
2019-07-09 06:36:27 +08:00
, private Value::Listener
// , public ValueTree::Listener
/*,
, public ExposesComponents
public StateChangeSubscriber*/
2018-02-27 08:17:12 +08:00
{
public:
JuicySFAudioProcessorEditor(
JuicySFAudioProcessor&,
AudioProcessorValueTreeState& valueTreeState
);
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;
// void getStateInformation (XmlElement& xml) override;
// void setStateInformation (XmlElement* xmlState) override;
// 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-02-27 08:17:12 +08:00
private:
2019-07-09 06:36:27 +08:00
void valueChanged (Value&) override;
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
AudioProcessorValueTreeState& valueTreeState;
// SharesParams& sharedParams;
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
};