/* ============================================================================== This is an automatically generated GUI class created by the Projucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. Created with Projucer version: 5.4.7 ------------------------------------------------------------------------------ The Projucer is part of the JUCE library. Copyright (c) 2017 - ROLI Ltd. ============================================================================== */ #pragma once //[Headers] -- You can add your own extra header files here -- #include #include "JuceHeader.h" #include "PluginProcessor.h" //[/Headers] //============================================================================== /** //[Comments] This is a GUI for the OPL2 VST plugin, created in Juce. //[/Comments] */ class PluginGui : public Component, public FileDragAndDropTarget, public DragAndDropContainer, public Timer, public ComboBox::Listener, public Slider::Listener, public Button::Listener { public: //============================================================================== PluginGui (AdlibBlasterAudioProcessor* ownerFilter); ~PluginGui() override; //============================================================================== //[UserMethods] -- You can add your own custom methods in this section. void updateFromParameters(); bool isInterestedInFileDrag (const StringArray& files) override; void fileDragEnter (const StringArray& files, int x, int y) override; void fileDragMove (const StringArray& files, int x, int y) override; void fileDragExit (const StringArray& files) override; void filesDropped (const StringArray& files, int x, int y) override; void timerCallback() override; void setRecordButtonState(bool recording); //[/UserMethods] void paint (Graphics& g) override; void resized() override; void comboBoxChanged (ComboBox* comboBoxThatHasChanged) override; void sliderValueChanged (Slider* sliderThatWasMoved) override; void buttonClicked (Button* buttonThatWasClicked) override; // Binary resources: static const char* full_sine_png; static const int full_sine_pngSize; static const char* half_sine_png; static const int half_sine_pngSize; static const char* abs_sine_png; static const int abs_sine_pngSize; static const char* quarter_sine_png; static const int quarter_sine_pngSize; static const char* camel_sine_png; static const int camel_sine_pngSize; static const char* alternating_sine_png; static const int alternating_sine_pngSize; static const char* square_png; static const int square_pngSize; static const char* logarithmic_saw_png; static const int logarithmic_saw_pngSize; static const char* channeloff_png; static const int channeloff_pngSize; static const char* channelon_png; static const int channelon_pngSize; static const char* toggle_off_sq_png; static const int toggle_off_sq_pngSize; static const char* toggle_on_sq_png; static const int toggle_on_sq_pngSize; static const char* line_border_horiz_png; static const int line_border_horiz_pngSize; static const char* line_border_vert_png; static const int line_border_vert_pngSize; static const char* algo_switch_off_png; static const int algo_switch_off_pngSize; static const char* algo_switch_on_png; static const int algo_switch_on_pngSize; static const char* algo_switch_on2_png; static const int algo_switch_on2_pngSize; static const char* algo_switch_on3_png; static const int algo_switch_on3_pngSize; static const char* twoopAm_png; static const int twoopAm_pngSize; static const char* twoopFm_png; static const int twoopFm_pngSize; static const char* bassdrum_png; static const int bassdrum_pngSize; static const char* snare_png; static const int snare_pngSize; static const char* disabled_png; static const int disabled_pngSize; static const char* tom_png; static const int tom_pngSize; static const char* hihat_png; static const int hihat_pngSize; static const char* cymbal_png; static const int cymbal_pngSize; static const char* adlib_png; static const int adlib_pngSize; private: //[UserVariables] -- You can add your own custom variables in this section. static const uint32 COLOUR_MID = 0xff007f00; static const uint32 COLOUR_RECORDING = 0xffff0000; AdlibBlasterAudioProcessor* processor; std::array, Hiopl::CHANNELS> channels; TooltipWindow tooltipWindow; #if!JUCE_IOS File instrumentLoadDirectory = File::getSpecialLocation(File::userDocumentsDirectory).getChildFile("discoDSP").getChildFile("OPL"); // File(); File instrumentSaveDirectory = File::getSpecialLocation(File::userDocumentsDirectory).getChildFile("discoDSP").getChildFile("OPL"); // File(); #endif #if JUCE_IOS File instrumentLoadDirectory = File::getSpecialLocation (File::invokedExecutableFile).getParentDirectory().getChildFile("sbi"); // File(); File instrumentSaveDirectory = File::getSpecialLocation(File::userDocumentsDirectory); // File(); #endif //[/UserVariables] //============================================================================== std::unique_ptr groupComponent2; std::unique_ptr groupComponent4; std::unique_ptr groupComponent11; std::unique_ptr groupComponent10; std::unique_ptr groupComponent9; std::unique_ptr groupComponent; std::unique_ptr frequencyComboBox; std::unique_ptr