/* ============================================================================== JUCE demo code - use at your own risk! ============================================================================== */ #include "../JuceLibraryCode/JuceHeader.h" #include "SpectrogramComponent.h" //============================================================================== class SimpleFFTExampleApplication : public JUCEApplication { public: //============================================================================== SimpleFFTExampleApplication() {} const String getApplicationName() override { return ProjectInfo::projectName; } const String getApplicationVersion() override { return ProjectInfo::versionString; } bool moreThanOneInstanceAllowed() override { return true; } //============================================================================== void initialise (const String& /*commandLine*/) override { mainWindow = new MainWindow(); } void shutdown() override { mainWindow = nullptr; // (deletes our window) } //============================================================================== void systemRequestedQuit() override { // This is called when the app is being asked to quit: you can ignore this // request and let the app carry on running, or call quit() to allow the app to close. quit(); } //============================================================================== /* This class implements the desktop window that contains an instance of our MainContentComponent class. */ class MainWindow : public DocumentWindow { public: MainWindow() : DocumentWindow (ProjectInfo::projectName, Colours::lightgrey, DocumentWindow::allButtons) { setUsingNativeTitleBar (true); setContentOwned (new SpectrogramComponent(), true); setResizable (true, true); centreWithSize (getWidth(), getHeight()); setVisible (true); } void closeButtonPressed() override { // This is called when the user tries to close this window. Here, we'll just // ask the app to quit when this happens, but you can change this to do // whatever you need. JUCEApplication::getInstance()->systemRequestedQuit(); } private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) }; private: ScopedPointer mainWindow; }; //============================================================================== // This macro generates the main() routine that launches the app. START_JUCE_APPLICATION (SimpleFFTExampleApplication)