#pragma once #include #include "PluginProcessor.h" class HomAudioProcessorEditor : public juce::AudioProcessorEditor, public juce::FileDragAndDropTarget { public: explicit HomAudioProcessorEditor (HomAudioProcessor&); ~HomAudioProcessorEditor() override = default; void paint (juce::Graphics&) override; void resized() override; // FileDragAndDropTarget bool isInterestedInFileDrag (const juce::StringArray& files) override; void filesDropped (const juce::StringArray& files, int x, int y) override; private: HomAudioProcessor& processor; juce::TextButton uploadBtn { "Drop / browse audio" }; juce::Label statusLbl; juce::ProgressBar progressBar; double progressValue { 0.0 }; void onUploadClicked(); void setStatus (const juce::String& msg); JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (HomAudioProcessorEditor) };