osci-render/Source/SosciPluginEditor.h

34 wiersze
1.2 KiB
C++

#pragma once
#include <JuceHeader.h>
#include "SosciPluginProcessor.h"
#include "CommonPluginEditor.h"
#include "visualiser/VisualiserComponent.h"
#include "LookAndFeel.h"
#include "visualiser/VisualiserSettings.h"
#include "components/SosciMainMenuBarModel.h"
#include "components/SvgButton.h"
class SosciPluginEditor : public CommonPluginEditor, public juce::FileDragAndDropTarget, public juce::AudioProcessorParameter::Listener {
public:
SosciPluginEditor(SosciAudioProcessor&);
~SosciPluginEditor() override;
void paint(juce::Graphics&) override;
void resized() override;
bool isInterestedInFileDrag(const juce::StringArray& files) override;
void filesDropped(const juce::StringArray& files, int x, int y) override;
void visualiserFullScreenChanged();
void parameterValueChanged(int parameterIndex, float newValue) override;
void parameterGestureChanged(int parameterIndex, bool gestureIsStarting) override;
private:
SosciAudioProcessor& audioProcessor;
ScrollableComponent visualiserSettingsWrapper = ScrollableComponent(visualiserSettings);
SosciMainMenuBarModel model{*this, audioProcessor};
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SosciPluginEditor)
};