#pragma once #include #include "PluginBridgeProcessor.h" class PluginBridgeEditor : public juce::AudioProcessorEditor, private juce::Timer { public: explicit PluginBridgeEditor(PluginBridgeProcessor&); ~PluginBridgeEditor() override; void paint(juce::Graphics&) override; void resized() override; private: void timerCallback() override; void showPluginMenu(); void toggleGui(); PluginBridgeProcessor& processorRef; juce::Label titleLabel; juce::Label mcpStatusLabel; juce::Label pluginStatusLabel; juce::Label connectionLabel; juce::TextButton selectButton{"Select Plugin"}; juce::TextButton guiButton{"Open GUI"}; juce::TextButton reloadButton{"Reload"}; bool guiOpen = false; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(PluginBridgeEditor) };