1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-11 23:54:18 +00:00

Added a simple spectrogram example app.

This commit is contained in:
jules 2015-02-05 09:39:30 +00:00
parent 7b0a6157fd
commit 9b70c3ee9b
24 changed files with 7026 additions and 0 deletions

View file

@ -0,0 +1,80 @@
/*
==============================================================================
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> mainWindow;
};
//==============================================================================
// This macro generates the main() routine that launches the app.
START_JUCE_APPLICATION (SimpleFFTExampleApplication)