/* ============================================================================== This file is part of the JUCE library. Copyright (c) 2020 - Raw Material Software Limited JUCE is an open source library subject to commercial or open-source licensing. By using JUCE, you agree to the terms of both the JUCE 6 End-User License Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020). End User License Agreement: www.juce.com/juce-6-licence Privacy Policy: www.juce.com/juce-privacy-policy Or: You may also use this code under the terms of the GPL v3 (see www.gnu.org/licenses). JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE DISCLAIMED. ============================================================================== */ #include #include "MainComponent.h" //============================================================================== class AudioPerformanceTestApplication : public JUCEApplication { public: //============================================================================== AudioPerformanceTestApplication() {} const String getApplicationName() override { return ProjectInfo::projectName; } const String getApplicationVersion() override { return ProjectInfo::versionString; } bool moreThanOneInstanceAllowed() override { return true; } //============================================================================== void initialise (const String&) override { mainWindow.reset (new MainWindow (getApplicationName())); } void shutdown() override { mainWindow = nullptr; // (deletes our window) } //============================================================================== void systemRequestedQuit() override { quit(); } //============================================================================== class MainWindow : public DocumentWindow { public: explicit MainWindow (String name) : DocumentWindow (name, Colours::lightgrey, DocumentWindow::allButtons) { setUsingNativeTitleBar (true); setContentOwned (createMainContentComponent(), true); setResizable (false, false); #if JUCE_IOS || JUCE_ANDROID setFullScreen (true); #else centreWithSize (getWidth(), getHeight()); #endif setVisible (true); } void closeButtonPressed() override { JUCEApplication::getInstance()->systemRequestedQuit(); } private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) }; private: std::unique_ptr mainWindow; }; //============================================================================== START_JUCE_APPLICATION (AudioPerformanceTestApplication)