#ifndef H_FILEPLAYERGUI #define H_FILEPLAYERGUI #include "../JuceLibraryCode/JuceHeader.h" #include "../Audio/FilePlayer.hpp" #include "ButtonMessage.cpp" /** Gui for the FilePlayer class */ class FilePlayerGui : public Component, public FilenameComponentListener, public Button::Listener, public Slider::Listener, public MessageListener { public: /** constructor - receives a reference to a FilePlayer object to control */ FilePlayerGui(); /** constructor - receives a reference to a FilePlayer object to control */ FilePlayerGui(FilePlayer* fp); /** Destructor */ ~FilePlayerGui(); enum options { POSITION = 1, PITCHUP = 2, PITCHDOWN = 3, LOOPING = 4 }; void mouseDown (const MouseEvent& event) override; void mouseUp (const MouseEvent& event) override; void setFilePlayer (FilePlayer* fp); //Component void resized() override; //Button Listener void buttonClicked (Button* button)override ; //Slider Listener void sliderValueChanged (Slider* slider) override; //FilenameComponentListener void filenameComponentChanged (FilenameComponent* fileComponentThatHasChanged) override; /** set to true for mouse press */ void setTriggeredOnMouseDown (bool isTriggeredOnMouseDown); void handleMessage (const Message& message) override; void setAudioPosGui(float newButtonIndex){ } private: TextButton buttonRow[16]; ToggleButton binary[16]; // in separate panel ComboBox options; bool shiftDown; bool mousePressedUp; bool mouseIsClicked; Array buttonHeld; ScopedPointer fileChooser; int buttonIndex; // exersise says this is a pointer?? looks like a reference. FilePlayer* filePlayer; TextButton receiveMyButton[16]; }; #endif // H_FILEPLAYERGUI