osci-render/Source/PluginEditor.h

46 wiersze
1.6 KiB
C
Czysty Zwykły widok Historia

2023-01-09 21:58:49 +00:00
#pragma once
#include <JuceHeader.h>
#include "PluginProcessor.h"
#include "EffectsComponent.h"
#include "MainComponent.h"
#include "LuaComponent.h"
#include "ObjComponent.h"
#include "components/VolumeComponent.h"
2023-01-09 21:58:49 +00:00
class OscirenderAudioProcessorEditor : public juce::AudioProcessorEditor, private juce::CodeDocument::Listener {
2023-01-09 21:58:49 +00:00
public:
OscirenderAudioProcessorEditor(OscirenderAudioProcessor&);
2023-01-09 21:58:49 +00:00
~OscirenderAudioProcessorEditor() override;
void paint(juce::Graphics&) override;
2023-01-09 21:58:49 +00:00
void resized() override;
void addCodeEditor(int index);
void removeCodeEditor(int index);
void fileUpdated(juce::String fileName);
2023-01-09 21:58:49 +00:00
private:
OscirenderAudioProcessor& audioProcessor;
MainComponent main{audioProcessor, *this};
LuaComponent lua{audioProcessor, *this};
ObjComponent obj{audioProcessor, *this};
EffectsComponent effects{audioProcessor};
VolumeComponent volume{audioProcessor};
std::vector<std::shared_ptr<juce::CodeDocument>> codeDocuments;
std::vector<std::shared_ptr<juce::CodeEditorComponent>> codeEditors;
2023-03-29 11:51:22 +00:00
juce::LuaTokeniser luaTokeniser;
juce::XmlTokeniser xmlTokeniser;
2023-03-29 14:02:29 +00:00
juce::ShapeButton collapseButton;
2023-01-09 21:58:49 +00:00
void codeDocumentTextInserted(const juce::String& newText, int insertIndex) override;
void codeDocumentTextDeleted(int startIndex, int endIndex) override;
void updateCodeDocument();
void updateCodeEditor();
bool keyPressed(const juce::KeyPress& key) override;
2023-01-09 21:58:49 +00:00
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OscirenderAudioProcessorEditor)
};