| @@ -81,88 +81,88 @@ namespace BinaryData | |||
| const int wizard_StaticLibrary_svgSize = 7488; | |||
| extern const char* jucer_AnimatedComponentSimpleTemplate_h; | |||
| const int jucer_AnimatedComponentSimpleTemplate_hSize = 2037; | |||
| const int jucer_AnimatedComponentSimpleTemplate_hSize = 2085; | |||
| extern const char* jucer_AnimatedComponentTemplate_cpp; | |||
| const int jucer_AnimatedComponentTemplate_cppSize = 1482; | |||
| const int jucer_AnimatedComponentTemplate_cppSize = 1563; | |||
| extern const char* jucer_AnimatedComponentTemplate_h; | |||
| const int jucer_AnimatedComponentTemplate_hSize = 1153; | |||
| const int jucer_AnimatedComponentTemplate_hSize = 1201; | |||
| extern const char* jucer_AudioComponentSimpleTemplate_h; | |||
| const int jucer_AudioComponentSimpleTemplate_hSize = 3146; | |||
| const int jucer_AudioComponentSimpleTemplate_hSize = 3194; | |||
| extern const char* jucer_AudioComponentTemplate_cpp; | |||
| const int jucer_AudioComponentTemplate_cppSize = 2532; | |||
| const int jucer_AudioComponentTemplate_cppSize = 2635; | |||
| extern const char* jucer_AudioComponentTemplate_h; | |||
| const int jucer_AudioComponentTemplate_hSize = 1326; | |||
| const int jucer_AudioComponentTemplate_hSize = 1374; | |||
| extern const char* jucer_AudioPluginEditorTemplate_cpp; | |||
| const int jucer_AudioPluginEditorTemplate_cppSize = 1310; | |||
| const int jucer_AudioPluginEditorTemplate_cppSize = 1356; | |||
| extern const char* jucer_AudioPluginEditorTemplate_h; | |||
| const int jucer_AudioPluginEditorTemplate_hSize = 938; | |||
| const int jucer_AudioPluginEditorTemplate_hSize = 977; | |||
| extern const char* jucer_AudioPluginFilterTemplate_cpp; | |||
| const int jucer_AudioPluginFilterTemplate_cppSize = 5889; | |||
| const int jucer_AudioPluginFilterTemplate_cppSize = 6036; | |||
| extern const char* jucer_AudioPluginFilterTemplate_h; | |||
| const int jucer_AudioPluginFilterTemplate_hSize = 2245; | |||
| const int jucer_AudioPluginFilterTemplate_hSize = 2272; | |||
| extern const char* jucer_ComponentTemplate_cpp; | |||
| const int jucer_ComponentTemplate_cppSize = 2116; | |||
| const int jucer_ComponentTemplate_cppSize = 2126; | |||
| extern const char* jucer_ComponentTemplate_h; | |||
| const int jucer_ComponentTemplate_hSize = 2029; | |||
| const int jucer_ComponentTemplate_hSize = 2042; | |||
| extern const char* jucer_ContentCompSimpleTemplate_h; | |||
| const int jucer_ContentCompSimpleTemplate_hSize = 1634; | |||
| const int jucer_ContentCompSimpleTemplate_hSize = 1693; | |||
| extern const char* jucer_ContentCompTemplate_cpp; | |||
| const int jucer_ContentCompTemplate_cppSize = 1109; | |||
| const int jucer_ContentCompTemplate_cppSize = 1190; | |||
| extern const char* jucer_ContentCompTemplate_h; | |||
| const int jucer_ContentCompTemplate_hSize = 1023; | |||
| const int jucer_ContentCompTemplate_hSize = 1071; | |||
| extern const char* jucer_InlineComponentTemplate_h; | |||
| const int jucer_InlineComponentTemplate_hSize = 1208; | |||
| const int jucer_InlineComponentTemplate_hSize = 1233; | |||
| extern const char* jucer_MainConsoleAppTemplate_cpp; | |||
| const int jucer_MainConsoleAppTemplate_cppSize = 470; | |||
| const int jucer_MainConsoleAppTemplate_cppSize = 473; | |||
| extern const char* jucer_MainTemplate_NoWindow_cpp; | |||
| const int jucer_MainTemplate_NoWindow_cppSize = 1992; | |||
| const int jucer_MainTemplate_NoWindow_cppSize = 2021; | |||
| extern const char* jucer_MainTemplate_SimpleWindow_cpp; | |||
| const int jucer_MainTemplate_SimpleWindow_cppSize = 3951; | |||
| const int jucer_MainTemplate_SimpleWindow_cppSize = 4004; | |||
| extern const char* jucer_MainTemplate_Window_cpp; | |||
| const int jucer_MainTemplate_Window_cppSize = 3913; | |||
| const int jucer_MainTemplate_Window_cppSize = 3964; | |||
| extern const char* jucer_NewComponentTemplate_cpp; | |||
| const int jucer_NewComponentTemplate_cppSize = 1436; | |||
| const int jucer_NewComponentTemplate_cppSize = 1491; | |||
| extern const char* jucer_NewComponentTemplate_h; | |||
| const int jucer_NewComponentTemplate_hSize = 610; | |||
| const int jucer_NewComponentTemplate_hSize = 646; | |||
| extern const char* jucer_NewCppFileTemplate_cpp; | |||
| const int jucer_NewCppFileTemplate_cppSize = 262; | |||
| const int jucer_NewCppFileTemplate_cppSize = 278; | |||
| extern const char* jucer_NewCppFileTemplate_h; | |||
| const int jucer_NewCppFileTemplate_hSize = 246; | |||
| const int jucer_NewCppFileTemplate_hSize = 258; | |||
| extern const char* jucer_NewInlineComponentTemplate_h; | |||
| const int jucer_NewInlineComponentTemplate_hSize = 1635; | |||
| const int jucer_NewInlineComponentTemplate_hSize = 1676; | |||
| extern const char* jucer_OpenGLComponentSimpleTemplate_h; | |||
| const int jucer_OpenGLComponentSimpleTemplate_hSize = 2126; | |||
| const int jucer_OpenGLComponentSimpleTemplate_hSize = 2174; | |||
| extern const char* jucer_OpenGLComponentTemplate_cpp; | |||
| const int jucer_OpenGLComponentTemplate_cppSize = 1555; | |||
| const int jucer_OpenGLComponentTemplate_cppSize = 1665; | |||
| extern const char* jucer_OpenGLComponentTemplate_h; | |||
| const int jucer_OpenGLComponentTemplate_hSize = 1215; | |||
| const int jucer_OpenGLComponentTemplate_hSize = 1263; | |||
| extern const char* colourscheme_dark_xml; | |||
| const int colourscheme_dark_xmlSize = 1050; | |||
| @@ -8,18 +8,18 @@ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| This component lives inside our window, and this is where you should put all | |||
| your controls and content. | |||
| */ | |||
| class CONTENTCOMPCLASS : public AnimatedAppComponent | |||
| class %%content_component_class%% : public AnimatedAppComponent | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS() | |||
| %%content_component_class%%() | |||
| { | |||
| // Make sure you set the size of the component after | |||
| // you add any child components. | |||
| @@ -27,7 +27,7 @@ public: | |||
| setFramesPerSecond (60); // This sets the frequency of the update calls. | |||
| } | |||
| ~CONTENTCOMPCLASS() | |||
| ~%%content_component_class%%() | |||
| { | |||
| } | |||
| @@ -60,5 +60,5 @@ private: | |||
| // Your private member variables go here... | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%) | |||
| }; | |||
| @@ -6,10 +6,10 @@ | |||
| ============================================================================== | |||
| */ | |||
| INCLUDE_CORRESPONDING_HEADER | |||
| %%include_corresponding_header%% | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS::CONTENTCOMPCLASS() | |||
| %%content_component_class%%::%%content_component_class%%() | |||
| { | |||
| // Make sure you set the size of the component after | |||
| // you add any child components. | |||
| @@ -17,19 +17,19 @@ CONTENTCOMPCLASS::CONTENTCOMPCLASS() | |||
| setFramesPerSecond (60); // This sets the frequency of the update calls. | |||
| } | |||
| CONTENTCOMPCLASS::~CONTENTCOMPCLASS() | |||
| %%content_component_class%%::~%%content_component_class%%() | |||
| { | |||
| } | |||
| //============================================================================== | |||
| void CONTENTCOMPCLASS::update() | |||
| void %%content_component_class%%::update() | |||
| { | |||
| // This function is called at the frequency specified by the setFramesPerSecond() call | |||
| // in the constructor. You can use it to update counters, animate values, etc. | |||
| } | |||
| //============================================================================== | |||
| void CONTENTCOMPCLASS::paint (Graphics& g) | |||
| void %%content_component_class%%::paint (Graphics& g) | |||
| { | |||
| // (Our component is opaque, so we must completely fill the background with a solid colour) | |||
| g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); | |||
| @@ -37,7 +37,7 @@ void CONTENTCOMPCLASS::paint (Graphics& g) | |||
| // You can add your drawing code here! | |||
| } | |||
| void CONTENTCOMPCLASS::resized() | |||
| void %%content_component_class%%::resized() | |||
| { | |||
| // This is called when the MainContentComponent is resized. | |||
| // If you add any child components, this is where you should | |||
| @@ -8,19 +8,19 @@ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| This component lives inside our window, and this is where you should put all | |||
| your controls and content. | |||
| */ | |||
| class CONTENTCOMPCLASS : public AnimatedAppComponent | |||
| class %%content_component_class%% : public AnimatedAppComponent | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS(); | |||
| ~CONTENTCOMPCLASS(); | |||
| %%content_component_class%%(); | |||
| ~%%content_component_class%%(); | |||
| //============================================================================== | |||
| void update() override; | |||
| @@ -34,5 +34,5 @@ private: | |||
| // Your private member variables go here... | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%) | |||
| }; | |||
| @@ -8,18 +8,18 @@ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| This component lives inside our window, and this is where you should put all | |||
| your controls and content. | |||
| */ | |||
| class CONTENTCOMPCLASS : public AudioAppComponent | |||
| class %%content_component_class%% : public AudioAppComponent | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS() | |||
| %%content_component_class%%() | |||
| { | |||
| // Make sure you set the size of the component after | |||
| // you add any child components. | |||
| @@ -29,7 +29,7 @@ public: | |||
| setAudioChannels (2, 2); | |||
| } | |||
| ~CONTENTCOMPCLASS() | |||
| ~%%content_component_class%%() | |||
| { | |||
| // This shuts down the audio device and clears the audio source. | |||
| shutdownAudio(); | |||
| @@ -88,5 +88,5 @@ private: | |||
| // Your private member variables go here... | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%) | |||
| }; | |||
| @@ -6,10 +6,10 @@ | |||
| ============================================================================== | |||
| */ | |||
| INCLUDE_CORRESPONDING_HEADER | |||
| %%include_corresponding_header%% | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS::CONTENTCOMPCLASS() | |||
| %%content_component_class%%::%%content_component_class%%() | |||
| { | |||
| // Make sure you set the size of the component after | |||
| // you add any child components. | |||
| @@ -19,14 +19,14 @@ CONTENTCOMPCLASS::CONTENTCOMPCLASS() | |||
| setAudioChannels (2, 2); | |||
| } | |||
| CONTENTCOMPCLASS::~CONTENTCOMPCLASS() | |||
| %%content_component_class%%::~%%content_component_class%%() | |||
| { | |||
| // This shuts down the audio device and clears the audio source. | |||
| shutdownAudio(); | |||
| } | |||
| //============================================================================== | |||
| void CONTENTCOMPCLASS::prepareToPlay (int samplesPerBlockExpected, double sampleRate) | |||
| void %%content_component_class%%::prepareToPlay (int samplesPerBlockExpected, double sampleRate) | |||
| { | |||
| // This function will be called when the audio device is started, or when | |||
| // its settings (i.e. sample rate, block size, etc) are changed. | |||
| @@ -37,7 +37,7 @@ void CONTENTCOMPCLASS::prepareToPlay (int samplesPerBlockExpected, double sample | |||
| // For more details, see the help for AudioProcessor::prepareToPlay() | |||
| } | |||
| void CONTENTCOMPCLASS::getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) | |||
| void %%content_component_class%%::getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) | |||
| { | |||
| // Your audio-processing code goes here! | |||
| @@ -48,7 +48,7 @@ void CONTENTCOMPCLASS::getNextAudioBlock (const AudioSourceChannelInfo& bufferTo | |||
| bufferToFill.clearActiveBufferRegion(); | |||
| } | |||
| void CONTENTCOMPCLASS::releaseResources() | |||
| void %%content_component_class%%::releaseResources() | |||
| { | |||
| // This will be called when the audio device stops, or when it is being | |||
| // restarted due to a setting change. | |||
| @@ -57,7 +57,7 @@ void CONTENTCOMPCLASS::releaseResources() | |||
| } | |||
| //============================================================================== | |||
| void CONTENTCOMPCLASS::paint (Graphics& g) | |||
| void %%content_component_class%%::paint (Graphics& g) | |||
| { | |||
| // (Our component is opaque, so we must completely fill the background with a solid colour) | |||
| g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); | |||
| @@ -65,7 +65,7 @@ void CONTENTCOMPCLASS::paint (Graphics& g) | |||
| // You can add your drawing code here! | |||
| } | |||
| void CONTENTCOMPCLASS::resized() | |||
| void %%content_component_class%%::resized() | |||
| { | |||
| // This is called when the MainContentComponent is resized. | |||
| // If you add any child components, this is where you should | |||
| @@ -8,19 +8,19 @@ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| This component lives inside our window, and this is where you should put all | |||
| your controls and content. | |||
| */ | |||
| class CONTENTCOMPCLASS : public AudioAppComponent | |||
| class %%content_component_class%% : public AudioAppComponent | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS(); | |||
| ~CONTENTCOMPCLASS(); | |||
| %%content_component_class%%(); | |||
| ~%%content_component_class%%(); | |||
| //============================================================================== | |||
| void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override; | |||
| @@ -36,5 +36,5 @@ private: | |||
| // Your private member variables go here... | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%) | |||
| }; | |||
| @@ -8,11 +8,10 @@ | |||
| ============================================================================== | |||
| */ | |||
| EDITORCPPHEADERS | |||
| %%editor_cpp_headers%% | |||
| //============================================================================== | |||
| EDITORCLASSNAME::EDITORCLASSNAME (FILTERCLASSNAME& p) | |||
| %%editor_class_name%%::%%editor_class_name%% (%%filter_class_name%%& p) | |||
| : AudioProcessorEditor (&p), processor (p) | |||
| { | |||
| // Make sure that before the constructor has finished, you've set the | |||
| @@ -20,12 +19,12 @@ EDITORCLASSNAME::EDITORCLASSNAME (FILTERCLASSNAME& p) | |||
| setSize (400, 300); | |||
| } | |||
| EDITORCLASSNAME::~EDITORCLASSNAME() | |||
| %%editor_class_name%%::~%%editor_class_name%%() | |||
| { | |||
| } | |||
| //============================================================================== | |||
| void EDITORCLASSNAME::paint (Graphics& g) | |||
| void %%editor_class_name%%::paint (Graphics& g) | |||
| { | |||
| // (Our component is opaque, so we must completely fill the background with a solid colour) | |||
| g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); | |||
| @@ -35,7 +34,7 @@ void EDITORCLASSNAME::paint (Graphics& g) | |||
| g.drawFittedText ("Hello World!", getLocalBounds(), Justification::centred, 1); | |||
| } | |||
| void EDITORCLASSNAME::resized() | |||
| void %%editor_class_name%%::resized() | |||
| { | |||
| // This is generally where you'll want to lay out the positions of any | |||
| // subcomponents in your editor.. | |||
| @@ -10,17 +10,16 @@ | |||
| #pragma once | |||
| EDITORHEADERS | |||
| %%editor_headers%% | |||
| //============================================================================== | |||
| /** | |||
| */ | |||
| class EDITORCLASSNAME : public AudioProcessorEditor | |||
| class %%editor_class_name%% : public AudioProcessorEditor | |||
| { | |||
| public: | |||
| EDITORCLASSNAME (FILTERCLASSNAME&); | |||
| ~EDITORCLASSNAME(); | |||
| %%editor_class_name%% (%%filter_class_name%%&); | |||
| ~%%editor_class_name%%(); | |||
| //============================================================================== | |||
| void paint (Graphics&) override; | |||
| @@ -29,7 +28,7 @@ public: | |||
| private: | |||
| // This reference is provided as a quick way for your editor to | |||
| // access the processor object that created it. | |||
| FILTERCLASSNAME& processor; | |||
| %%filter_class_name%%& processor; | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EDITORCLASSNAME) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%editor_class_name%%) | |||
| }; | |||
| @@ -8,11 +8,10 @@ | |||
| ============================================================================== | |||
| */ | |||
| FILTERHEADERS | |||
| %%filter_headers%% | |||
| //============================================================================== | |||
| FILTERCLASSNAME::FILTERCLASSNAME() | |||
| %%filter_class_name%%::%%filter_class_name%%() | |||
| #ifndef JucePlugin_PreferredChannelConfigurations | |||
| : AudioProcessor (BusesProperties() | |||
| #if ! JucePlugin_IsMidiEffect | |||
| @@ -26,17 +25,17 @@ FILTERCLASSNAME::FILTERCLASSNAME() | |||
| { | |||
| } | |||
| FILTERCLASSNAME::~FILTERCLASSNAME() | |||
| %%filter_class_name%%::~%%filter_class_name%%() | |||
| { | |||
| } | |||
| //============================================================================== | |||
| const String FILTERCLASSNAME::getName() const | |||
| const String %%filter_class_name%%::getName() const | |||
| { | |||
| return JucePlugin_Name; | |||
| } | |||
| bool FILTERCLASSNAME::acceptsMidi() const | |||
| bool %%filter_class_name%%::acceptsMidi() const | |||
| { | |||
| #if JucePlugin_WantsMidiInput | |||
| return true; | |||
| @@ -45,7 +44,7 @@ bool FILTERCLASSNAME::acceptsMidi() const | |||
| #endif | |||
| } | |||
| bool FILTERCLASSNAME::producesMidi() const | |||
| bool %%filter_class_name%%::producesMidi() const | |||
| { | |||
| #if JucePlugin_ProducesMidiOutput | |||
| return true; | |||
| @@ -54,7 +53,7 @@ bool FILTERCLASSNAME::producesMidi() const | |||
| #endif | |||
| } | |||
| bool FILTERCLASSNAME::isMidiEffect() const | |||
| bool %%filter_class_name%%::isMidiEffect() const | |||
| { | |||
| #if JucePlugin_IsMidiEffect | |||
| return true; | |||
| @@ -63,50 +62,50 @@ bool FILTERCLASSNAME::isMidiEffect() const | |||
| #endif | |||
| } | |||
| double FILTERCLASSNAME::getTailLengthSeconds() const | |||
| double %%filter_class_name%%::getTailLengthSeconds() const | |||
| { | |||
| return 0.0; | |||
| } | |||
| int FILTERCLASSNAME::getNumPrograms() | |||
| int %%filter_class_name%%::getNumPrograms() | |||
| { | |||
| return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs, | |||
| // so this should be at least 1, even if you're not really implementing programs. | |||
| } | |||
| int FILTERCLASSNAME::getCurrentProgram() | |||
| int %%filter_class_name%%::getCurrentProgram() | |||
| { | |||
| return 0; | |||
| } | |||
| void FILTERCLASSNAME::setCurrentProgram (int index) | |||
| void %%filter_class_name%%::setCurrentProgram (int index) | |||
| { | |||
| } | |||
| const String FILTERCLASSNAME::getProgramName (int index) | |||
| const String %%filter_class_name%%::getProgramName (int index) | |||
| { | |||
| return {}; | |||
| } | |||
| void FILTERCLASSNAME::changeProgramName (int index, const String& newName) | |||
| void %%filter_class_name%%::changeProgramName (int index, const String& newName) | |||
| { | |||
| } | |||
| //============================================================================== | |||
| void FILTERCLASSNAME::prepareToPlay (double sampleRate, int samplesPerBlock) | |||
| void %%filter_class_name%%::prepareToPlay (double sampleRate, int samplesPerBlock) | |||
| { | |||
| // Use this method as the place to do any pre-playback | |||
| // initialisation that you need.. | |||
| } | |||
| void FILTERCLASSNAME::releaseResources() | |||
| void %%filter_class_name%%::releaseResources() | |||
| { | |||
| // When playback stops, you can use this as an opportunity to free up any | |||
| // spare memory, etc. | |||
| } | |||
| #ifndef JucePlugin_PreferredChannelConfigurations | |||
| bool FILTERCLASSNAME::isBusesLayoutSupported (const BusesLayout& layouts) const | |||
| bool %%filter_class_name%%::isBusesLayoutSupported (const BusesLayout& layouts) const | |||
| { | |||
| #if JucePlugin_IsMidiEffect | |||
| ignoreUnused (layouts); | |||
| @@ -129,7 +128,7 @@ bool FILTERCLASSNAME::isBusesLayoutSupported (const BusesLayout& layouts) const | |||
| } | |||
| #endif | |||
| void FILTERCLASSNAME::processBlock (AudioBuffer<float>& buffer, MidiBuffer& midiMessages) | |||
| void %%filter_class_name%%::processBlock (AudioBuffer<float>& buffer, MidiBuffer& midiMessages) | |||
| { | |||
| ScopedNoDenormals noDenormals; | |||
| auto totalNumInputChannels = getTotalNumInputChannels(); | |||
| @@ -159,25 +158,25 @@ void FILTERCLASSNAME::processBlock (AudioBuffer<float>& buffer, MidiBuffer& midi | |||
| } | |||
| //============================================================================== | |||
| bool FILTERCLASSNAME::hasEditor() const | |||
| bool %%filter_class_name%%::hasEditor() const | |||
| { | |||
| return true; // (change this to false if you choose to not supply an editor) | |||
| } | |||
| AudioProcessorEditor* FILTERCLASSNAME::createEditor() | |||
| AudioProcessorEditor* %%filter_class_name%%::createEditor() | |||
| { | |||
| return new EDITORCLASSNAME (*this); | |||
| return new %%editor_class_name%% (*this); | |||
| } | |||
| //============================================================================== | |||
| void FILTERCLASSNAME::getStateInformation (MemoryBlock& destData) | |||
| void %%filter_class_name%%::getStateInformation (MemoryBlock& destData) | |||
| { | |||
| // You should use this method to store your parameters in the memory block. | |||
| // You could do that either as raw data, or use the XML or ValueTree classes | |||
| // as intermediaries to make it easy to save and load complex data. | |||
| } | |||
| void FILTERCLASSNAME::setStateInformation (const void* data, int sizeInBytes) | |||
| void %%filter_class_name%%::setStateInformation (const void* data, int sizeInBytes) | |||
| { | |||
| // You should use this method to restore your parameters from this memory block, | |||
| // whose contents will have been created by the getStateInformation() call. | |||
| @@ -187,5 +186,5 @@ void FILTERCLASSNAME::setStateInformation (const void* data, int sizeInBytes) | |||
| // This creates new instances of the plugin.. | |||
| AudioProcessor* JUCE_CALLTYPE createPluginFilter() | |||
| { | |||
| return new FILTERCLASSNAME(); | |||
| return new %%filter_class_name%%(); | |||
| } | |||
| @@ -10,18 +10,17 @@ | |||
| #pragma once | |||
| APPHEADERS | |||
| %%app_headers%% | |||
| //============================================================================== | |||
| /** | |||
| */ | |||
| class FILTERCLASSNAME : public AudioProcessor | |||
| class %%filter_class_name%% : public AudioProcessor | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| FILTERCLASSNAME(); | |||
| ~FILTERCLASSNAME(); | |||
| %%filter_class_name%%(); | |||
| ~%%filter_class_name%%(); | |||
| //============================================================================== | |||
| void prepareToPlay (double sampleRate, int samplesPerBlock) override; | |||
| @@ -58,5 +57,5 @@ public: | |||
| private: | |||
| //============================================================================== | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FILTERCLASSNAME) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%filter_class_name%%) | |||
| }; | |||
| @@ -20,13 +20,13 @@ | |||
| //[Headers] You can add your own extra header files here... | |||
| //[/Headers] | |||
| %%includeFilesCPP%% | |||
| %%include_files_cpp%% | |||
| //[MiscUserDefs] You can add your own user definitions and misc code here... | |||
| //[/MiscUserDefs] | |||
| //============================================================================== | |||
| %%className%%::%%className%% (%%constructorParams%%) | |||
| %%class_name%%::%%class_name%% (%%constructor_params%%) | |||
| %%initialisers%%{ | |||
| //[Constructor_pre] You can add your own custom stuff here.. | |||
| //[/Constructor_pre] | |||
| @@ -37,7 +37,7 @@ | |||
| //[/Constructor] | |||
| } | |||
| %%className%%::~%%className%%() | |||
| %%class_name%%::~%%class_name%%() | |||
| { | |||
| //[Destructor_pre]. You can add your own custom destruction code here.. | |||
| //[/Destructor_pre] | |||
| @@ -49,7 +49,7 @@ | |||
| } | |||
| //============================================================================== | |||
| %%methodDefinitions%% | |||
| %%method_definitions%% | |||
| //[MiscUserCode] You can add your own definitions of your custom methods or any other code here... | |||
| //[/MiscUserCode] | |||
| @@ -69,6 +69,6 @@ END_JUCER_METADATA | |||
| */ | |||
| #endif | |||
| %%staticMemberDefinitions%% | |||
| %%static_member_definitions%% | |||
| //[EndFile] You can add extra defines here... | |||
| //[/EndFile] | |||
| @@ -20,10 +20,10 @@ | |||
| #pragma once | |||
| //[Headers] -- You can add your own extra header files here -- | |||
| %%includeJUCEHeader%% | |||
| %%include_juce_header%% | |||
| //[/Headers] | |||
| %%includeFilesH%% | |||
| %%include_files_h%% | |||
| //============================================================================== | |||
| /** | |||
| @@ -33,28 +33,28 @@ | |||
| Describe your class and how it works here! | |||
| //[/Comments] | |||
| */ | |||
| %%classDeclaration%% | |||
| %%class_declaration%% | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| %%className%% (%%constructorParams%%); | |||
| ~%%className%%(); | |||
| %%class_name%% (%%constructor_params%%); | |||
| ~%%class_name%%(); | |||
| //============================================================================== | |||
| //[UserMethods] -- You can add your own custom methods in this section. | |||
| //[/UserMethods] | |||
| %%publicMemberDeclarations%% | |||
| %%public_member_declarations%% | |||
| private: | |||
| //[UserVariables] -- You can add your own custom variables in this section. | |||
| //[/UserVariables] | |||
| //============================================================================== | |||
| %%privateMemberDeclarations%% | |||
| %%private_member_declarations%% | |||
| //============================================================================== | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%className%%) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%class_name%%) | |||
| }; | |||
| //[EndFile] You can add extra defines here... | |||
| @@ -8,23 +8,23 @@ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| This component lives inside our window, and this is where you should put all | |||
| your controls and content. | |||
| */ | |||
| class CONTENTCOMPCLASS : public Component | |||
| class %%content_component_class%% : public Component | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS() | |||
| %%content_component_class%%() | |||
| { | |||
| setSize (600, 400); | |||
| } | |||
| ~CONTENTCOMPCLASS() | |||
| ~%%content_component_class%%() | |||
| { | |||
| } | |||
| @@ -41,7 +41,7 @@ public: | |||
| void resized() override | |||
| { | |||
| // This is called when the CONTENTCOMPCLASS is resized. | |||
| // This is called when the %%content_component_class%% is resized. | |||
| // If you add any child components, this is where you should | |||
| // update their positions. | |||
| } | |||
| @@ -52,5 +52,5 @@ private: | |||
| // Your private member variables go here... | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%) | |||
| }; | |||
| @@ -6,20 +6,20 @@ | |||
| ============================================================================== | |||
| */ | |||
| INCLUDE_CORRESPONDING_HEADER | |||
| %%include_corresponding_header%% | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS::CONTENTCOMPCLASS() | |||
| %%content_component_class%%::%%content_component_class%%() | |||
| { | |||
| setSize (600, 400); | |||
| } | |||
| CONTENTCOMPCLASS::~CONTENTCOMPCLASS() | |||
| %%content_component_class%%::~%%content_component_class%%() | |||
| { | |||
| } | |||
| //============================================================================== | |||
| void CONTENTCOMPCLASS::paint (Graphics& g) | |||
| void %%content_component_class%%::paint (Graphics& g) | |||
| { | |||
| // (Our component is opaque, so we must completely fill the background with a solid colour) | |||
| g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); | |||
| @@ -29,9 +29,9 @@ void CONTENTCOMPCLASS::paint (Graphics& g) | |||
| g.drawText ("Hello World!", getLocalBounds(), Justification::centred, true); | |||
| } | |||
| void CONTENTCOMPCLASS::resized() | |||
| void %%content_component_class%%::resized() | |||
| { | |||
| // This is called when the CONTENTCOMPCLASS is resized. | |||
| // This is called when the %%content_component_class%% is resized. | |||
| // If you add any child components, this is where you should | |||
| // update their positions. | |||
| } | |||
| @@ -8,19 +8,19 @@ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| This component lives inside our window, and this is where you should put all | |||
| your controls and content. | |||
| */ | |||
| class CONTENTCOMPCLASS : public Component | |||
| class %%content_component_class%% : public Component | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS(); | |||
| ~CONTENTCOMPCLASS(); | |||
| %%content_component_class%%(); | |||
| ~%%content_component_class%%(); | |||
| //============================================================================== | |||
| void paint (Graphics&) override; | |||
| @@ -31,5 +31,5 @@ private: | |||
| // Your private member variables go here... | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%) | |||
| }; | |||
| @@ -1,15 +1,15 @@ | |||
| //============================================================================== | |||
| class COMPONENTCLASS : public Component | |||
| class %%component_class%% : public Component | |||
| { | |||
| public: | |||
| COMPONENTCLASS() | |||
| %%component_class%%() | |||
| { | |||
| // In your constructor, you should add any child components, and | |||
| // initialise any special settings that your component needs. | |||
| } | |||
| ~COMPONENTCLASS() | |||
| ~%%component_class%%() | |||
| { | |||
| } | |||
| @@ -24,7 +24,7 @@ public: | |||
| g.setColour (Colours::white); | |||
| g.setFont (14.0f); | |||
| g.drawText ("COMPONENTCLASS", getLocalBounds(), | |||
| g.drawText ("%%component_class%%", getLocalBounds(), | |||
| Justification::centred, true); // draw some placeholder text | |||
| } | |||
| @@ -36,5 +36,5 @@ public: | |||
| } | |||
| private: | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%component_class%%) | |||
| }; | |||
| @@ -8,8 +8,7 @@ | |||
| ============================================================================== | |||
| */ | |||
| APPHEADERS | |||
| %%app_headers%% | |||
| //============================================================================== | |||
| int main (int argc, char* argv[]) | |||
| @@ -8,19 +8,18 @@ | |||
| ============================================================================== | |||
| */ | |||
| APPHEADERS | |||
| %%app_headers%% | |||
| //============================================================================== | |||
| class APPCLASSNAME : public JUCEApplication | |||
| class %%app_class_name%% : public JUCEApplication | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| APPCLASSNAME() {} | |||
| %%app_class_name%%() {} | |||
| const String getApplicationName() override { return ProjectInfo::projectName; } | |||
| const String getApplicationVersion() override { return ProjectInfo::versionString; } | |||
| bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; } | |||
| bool moreThanOneInstanceAllowed() override { return %%allow_more_than_one_instance%%; } | |||
| //============================================================================== | |||
| void initialise (const String& commandLine) override | |||
| @@ -51,4 +50,4 @@ public: | |||
| //============================================================================== | |||
| // This macro generates the main() routine that launches the app. | |||
| START_JUCE_APPLICATION (APPCLASSNAME) | |||
| START_JUCE_APPLICATION (%%app_class_name%%) | |||
| @@ -8,18 +8,18 @@ | |||
| ============================================================================== | |||
| */ | |||
| APPHEADERS | |||
| %%app_headers%% | |||
| //============================================================================== | |||
| class APPCLASSNAME : public JUCEApplication | |||
| class %%app_class_name%% : public JUCEApplication | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| APPCLASSNAME() {} | |||
| %%app_class_name%%() {} | |||
| const String getApplicationName() override { return ProjectInfo::projectName; } | |||
| const String getApplicationVersion() override { return ProjectInfo::versionString; } | |||
| bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; } | |||
| bool moreThanOneInstanceAllowed() override { return %%allow_more_than_one_instance%%; } | |||
| //============================================================================== | |||
| void initialise (const String& commandLine) override | |||
| @@ -54,7 +54,7 @@ public: | |||
| //============================================================================== | |||
| /* | |||
| This class implements the desktop window that contains an instance of | |||
| our CONTENTCOMPCLASS class. | |||
| our %%content_component_class%% class. | |||
| */ | |||
| class MainWindow : public DocumentWindow | |||
| { | |||
| @@ -65,7 +65,7 @@ public: | |||
| DocumentWindow::allButtons) | |||
| { | |||
| setUsingNativeTitleBar (true); | |||
| setContentOwned (new CONTENTCOMPCLASS(), true); | |||
| setContentOwned (new %%content_component_class%%(), true); | |||
| setResizable (true, true); | |||
| centreWithSize (getWidth(), getHeight()); | |||
| @@ -97,4 +97,4 @@ private: | |||
| //============================================================================== | |||
| // This macro generates the main() routine that launches the app. | |||
| START_JUCE_APPLICATION (APPCLASSNAME) | |||
| START_JUCE_APPLICATION (%%app_class_name%%) | |||
| @@ -8,19 +8,18 @@ | |||
| ============================================================================== | |||
| */ | |||
| APPHEADERS | |||
| %%app_headers%% | |||
| //============================================================================== | |||
| class APPCLASSNAME : public JUCEApplication | |||
| class %%app_class_name%% : public JUCEApplication | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| APPCLASSNAME() {} | |||
| %%app_class_name%%() {} | |||
| const String getApplicationName() override { return ProjectInfo::projectName; } | |||
| const String getApplicationVersion() override { return ProjectInfo::versionString; } | |||
| bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; } | |||
| bool moreThanOneInstanceAllowed() override { return %%allow_more_than_one_instance%%; } | |||
| //============================================================================== | |||
| void initialise (const String& commandLine) override | |||
| @@ -55,7 +54,7 @@ public: | |||
| //============================================================================== | |||
| /* | |||
| This class implements the desktop window that contains an instance of | |||
| our CONTENTCOMPCLASS class. | |||
| our %%content_component_class%% class. | |||
| */ | |||
| class MainWindow : public DocumentWindow | |||
| { | |||
| @@ -66,7 +65,7 @@ public: | |||
| DocumentWindow::allButtons) | |||
| { | |||
| setUsingNativeTitleBar (true); | |||
| setContentOwned (new CONTENTCOMPCLASS(), true); | |||
| setContentOwned (new %%content_component_class%%(), true); | |||
| centreWithSize (getWidth(), getHeight()); | |||
| setVisible (true); | |||
| @@ -97,4 +96,4 @@ private: | |||
| //============================================================================== | |||
| // This macro generates the main() routine that launches the app. | |||
| START_JUCE_APPLICATION (APPCLASSNAME) | |||
| START_JUCE_APPLICATION (%%app_class_name%%) | |||
| @@ -1,29 +1,29 @@ | |||
| /* | |||
| ============================================================================== | |||
| FILENAME | |||
| Created: DATE | |||
| Author: AUTHOR | |||
| %%filename%% | |||
| Created: %%date%% | |||
| Author: %%author%% | |||
| ============================================================================== | |||
| */ | |||
| INCLUDE_JUCE | |||
| INCLUDE_CORRESPONDING_HEADER | |||
| %%include_juce%% | |||
| %%include_corresponding_header%% | |||
| //============================================================================== | |||
| COMPONENTCLASS::COMPONENTCLASS() | |||
| %%component_class%%::%%component_class%%() | |||
| { | |||
| // In your constructor, you should add any child components, and | |||
| // initialise any special settings that your component needs. | |||
| } | |||
| COMPONENTCLASS::~COMPONENTCLASS() | |||
| %%component_class%%::~%%component_class%%() | |||
| { | |||
| } | |||
| void COMPONENTCLASS::paint (Graphics& g) | |||
| void %%component_class%%::paint (Graphics& g) | |||
| { | |||
| /* This demo code just fills the component's background and | |||
| draws some placeholder text to get you started. | |||
| @@ -39,11 +39,11 @@ void COMPONENTCLASS::paint (Graphics& g) | |||
| g.setColour (Colours::white); | |||
| g.setFont (14.0f); | |||
| g.drawText ("COMPONENTCLASS", getLocalBounds(), | |||
| g.drawText ("%%component_class%%", getLocalBounds(), | |||
| Justification::centred, true); // draw some placeholder text | |||
| } | |||
| void COMPONENTCLASS::resized() | |||
| void %%component_class%%::resized() | |||
| { | |||
| // This method is where you should set the bounds of any child | |||
| // components that your component contains.. | |||
| @@ -1,29 +1,29 @@ | |||
| /* | |||
| ============================================================================== | |||
| FILENAME | |||
| Created: DATE | |||
| Author: AUTHOR | |||
| %%filename%% | |||
| Created: %%date%% | |||
| Author: %%author%% | |||
| ============================================================================== | |||
| */ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| */ | |||
| class COMPONENTCLASS : public Component | |||
| class %%component_class%% : public Component | |||
| { | |||
| public: | |||
| COMPONENTCLASS(); | |||
| ~COMPONENTCLASS(); | |||
| %%component_class%%(); | |||
| ~%%component_class%%(); | |||
| void paint (Graphics&) override; | |||
| void resized() override; | |||
| private: | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%component_class%%) | |||
| }; | |||
| @@ -1,11 +1,11 @@ | |||
| /* | |||
| ============================================================================== | |||
| FILENAME | |||
| Created: DATE | |||
| Author: AUTHOR | |||
| %%filename%% | |||
| Created: %%date%% | |||
| Author: %%author%% | |||
| ============================================================================== | |||
| */ | |||
| INCLUDE_CORRESPONDING_HEADER | |||
| %%include_corresponding_header%% | |||
| @@ -1,9 +1,9 @@ | |||
| /* | |||
| ============================================================================== | |||
| FILENAME | |||
| Created: DATE | |||
| Author: AUTHOR | |||
| %%filename%% | |||
| Created: %%date%% | |||
| Author: %%author%% | |||
| ============================================================================== | |||
| */ | |||
| @@ -1,31 +1,31 @@ | |||
| /* | |||
| ============================================================================== | |||
| FILENAME | |||
| Created: DATE | |||
| Author: AUTHOR | |||
| %%filename%% | |||
| Created: %%date%% | |||
| Author: %%author%% | |||
| ============================================================================== | |||
| */ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| */ | |||
| class COMPONENTCLASS : public Component | |||
| class %%component_class%% : public Component | |||
| { | |||
| public: | |||
| COMPONENTCLASS() | |||
| %%component_class%%() | |||
| { | |||
| // In your constructor, you should add any child components, and | |||
| // initialise any special settings that your component needs. | |||
| } | |||
| ~COMPONENTCLASS() | |||
| ~%%component_class%%() | |||
| { | |||
| } | |||
| @@ -45,7 +45,7 @@ public: | |||
| g.setColour (Colours::white); | |||
| g.setFont (14.0f); | |||
| g.drawText ("COMPONENTCLASS", getLocalBounds(), | |||
| g.drawText ("%%component_class%%", getLocalBounds(), | |||
| Justification::centred, true); // draw some placeholder text | |||
| } | |||
| @@ -57,5 +57,5 @@ public: | |||
| } | |||
| private: | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%component_class%%) | |||
| }; | |||
| @@ -8,25 +8,25 @@ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| This component lives inside our window, and this is where you should put all | |||
| your controls and content. | |||
| */ | |||
| class CONTENTCOMPCLASS : public OpenGLAppComponent | |||
| class %%content_component_class%% : public OpenGLAppComponent | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS() | |||
| %%content_component_class%%() | |||
| { | |||
| // Make sure you set the size of the component after | |||
| // you add any child components. | |||
| setSize (800, 600); | |||
| } | |||
| ~CONTENTCOMPCLASS() | |||
| ~%%content_component_class%%() | |||
| { | |||
| // This shuts down the GL system and stops the rendering calls. | |||
| shutdownOpenGL(); | |||
| @@ -71,5 +71,5 @@ private: | |||
| // Your private member variables go here... | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%) | |||
| }; | |||
| @@ -6,34 +6,34 @@ | |||
| ============================================================================== | |||
| */ | |||
| INCLUDE_CORRESPONDING_HEADER | |||
| %%include_corresponding_header%% | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS::CONTENTCOMPCLASS() | |||
| %%content_component_class%%::%%content_component_class%%() | |||
| { | |||
| // Make sure you set the size of the component after | |||
| // you add any child components. | |||
| setSize (800, 600); | |||
| } | |||
| CONTENTCOMPCLASS::~CONTENTCOMPCLASS() | |||
| %%content_component_class%%::~%%content_component_class%%() | |||
| { | |||
| // This shuts down the GL system and stops the rendering calls. | |||
| shutdownOpenGL(); | |||
| } | |||
| //============================================================================== | |||
| void CONTENTCOMPCLASS::initialise() | |||
| void %%content_component_class%%::initialise() | |||
| { | |||
| // Initialise GL objects for rendering here. | |||
| } | |||
| void CONTENTCOMPCLASS::shutdown() | |||
| void %%content_component_class%%::shutdown() | |||
| { | |||
| // Free any GL objects created for rendering here. | |||
| } | |||
| void CONTENTCOMPCLASS::render() | |||
| void %%content_component_class%%::render() | |||
| { | |||
| // This clears the context with a black background. | |||
| OpenGLHelpers::clear (Colours::black); | |||
| @@ -42,15 +42,15 @@ void CONTENTCOMPCLASS::render() | |||
| } | |||
| //============================================================================== | |||
| void CONTENTCOMPCLASS::paint (Graphics& g) | |||
| void %%content_component_class%%::paint (Graphics& g) | |||
| { | |||
| // You can add your component specific drawing code here! | |||
| // This will draw over the top of the openGL background. | |||
| } | |||
| void CONTENTCOMPCLASS::resized() | |||
| void %%content_component_class%%::resized() | |||
| { | |||
| // This is called when the MainContentComponent is resized. | |||
| // This is called when the %%content_component_class%% is resized. | |||
| // If you add any child components, this is where you should | |||
| // update their positions. | |||
| } | |||
| @@ -8,19 +8,19 @@ | |||
| #pragma once | |||
| INCLUDE_JUCE | |||
| %%include_juce%% | |||
| //============================================================================== | |||
| /* | |||
| This component lives inside our window, and this is where you should put all | |||
| your controls and content. | |||
| */ | |||
| class CONTENTCOMPCLASS : public OpenGLAppComponent | |||
| class %%content_component_class%% : public OpenGLAppComponent | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| CONTENTCOMPCLASS(); | |||
| ~CONTENTCOMPCLASS(); | |||
| %%content_component_class%%(); | |||
| ~%%content_component_class%%(); | |||
| //============================================================================== | |||
| void initialise() override; | |||
| @@ -36,5 +36,5 @@ private: | |||
| // Your private member variables go here... | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS) | |||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%) | |||
| }; | |||
| @@ -642,7 +642,7 @@ void CppCodeEditorComponent::insertComponentClass() | |||
| if (className == CodeHelpers::makeValidIdentifier (className, false, true, false)) | |||
| { | |||
| String code (BinaryData::jucer_InlineComponentTemplate_h); | |||
| code = code.replace ("COMPONENTCLASS", className); | |||
| code = code.replace ("%%component_class%%", className); | |||
| insertTextAtCaret (code); | |||
| break; | |||
| @@ -327,29 +327,29 @@ void GeneratedCode::applyToCode (String& code, | |||
| replaceTemplate (code, "version", JUCEApplicationBase::getInstance()->getApplicationVersion()); | |||
| replaceTemplate (code, "creationTime", Time::getCurrentTime().toString (true, true, true)); | |||
| replaceTemplate (code, "className", className); | |||
| replaceTemplate (code, "constructorParams", constructorParams); | |||
| replaceTemplate (code, "class_name", className); | |||
| replaceTemplate (code, "constructor_params", constructorParams); | |||
| replaceTemplate (code, "initialisers", getInitialiserList()); | |||
| replaceTemplate (code, "classDeclaration", getClassDeclaration()); | |||
| replaceTemplate (code, "privateMemberDeclarations", privateMemberDeclarations); | |||
| replaceTemplate (code, "publicMemberDeclarations", getCallbackDeclarations() + newLine + publicMemberDeclarations); | |||
| replaceTemplate (code, "class_declaration", getClassDeclaration()); | |||
| replaceTemplate (code, "private_member_declarations", privateMemberDeclarations); | |||
| replaceTemplate (code, "public_member_declarations", getCallbackDeclarations() + newLine + publicMemberDeclarations); | |||
| replaceTemplate (code, "methodDefinitions", getCallbackDefinitions()); | |||
| replaceTemplate (code, "method_definitions", getCallbackDefinitions()); | |||
| File juceHeaderFile = project != nullptr ? project->getAppIncludeFile() | |||
| : targetFile.getSiblingFile ("JuceHeader.h"); | |||
| replaceTemplate (code, "includeJUCEHeader", CodeHelpers::createIncludeStatement (juceHeaderFile, targetFile)); | |||
| replaceTemplate (code, "include_juce_header", CodeHelpers::createIncludeStatement (juceHeaderFile, targetFile)); | |||
| replaceTemplate (code, "includeFilesH", getIncludeFileCode (includeFilesH, targetFile)); | |||
| replaceTemplate (code, "includeFilesCPP", getIncludeFileCode (includeFilesCPP, targetFile)); | |||
| replaceTemplate (code, "include_files_h", getIncludeFileCode (includeFilesH, targetFile)); | |||
| replaceTemplate (code, "include_files_cpp", getIncludeFileCode (includeFilesCPP, targetFile)); | |||
| replaceTemplate (code, "constructor", constructorCode); | |||
| replaceTemplate (code, "destructor", destructorCode); | |||
| replaceTemplate (code, "metadata", jucerMetadata); | |||
| replaceTemplate (code, "staticMemberDefinitions", staticMemberDefinitions); | |||
| replaceTemplate (code, "static_member_definitions", staticMemberDefinitions); | |||
| copyAcrossUserSections (code, oldFileWithUserData); | |||
| } | |||
| @@ -135,14 +135,6 @@ namespace CodeHelpers | |||
| return "#include \"" + includePath + "\""; | |||
| } | |||
| String makeHeaderGuardName (const File& file) | |||
| { | |||
| return file.getFileName().toUpperCase() | |||
| .replaceCharacters (" .", "__") | |||
| .retainCharacters ("_ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") | |||
| + "_INCLUDED"; | |||
| } | |||
| String makeBinaryDataIdentifierName (const File& file) | |||
| { | |||
| return makeValidIdentifier (file.getFileName() | |||
| @@ -36,7 +36,6 @@ namespace CodeHelpers | |||
| bool allowTemplates, bool allowAsterisks = false); | |||
| String createIncludeStatement (const File& includedFile, const File& targetFile); | |||
| String createIncludeStatement (const String& includePath); | |||
| String makeHeaderGuardName (const File& file); | |||
| String makeBinaryDataIdentifierName (const File& file); | |||
| String stringLiteral (const String& text, int maxLineLength = -1); | |||
| @@ -35,11 +35,10 @@ namespace | |||
| static String fillInBasicTemplateFields (const File& file, const Project::Item& item, const char* templateName) | |||
| { | |||
| return item.project.getFileTemplate (templateName) | |||
| .replace ("FILENAME", file.getFileName(), false) | |||
| .replace ("DATE", Time::getCurrentTime().toString (true, true, true), false) | |||
| .replace ("AUTHOR", SystemStats::getFullUserName(), false) | |||
| .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (file), false) | |||
| .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (file.withFileExtension (".h"), file)); | |||
| .replace ("%%filename%%", file.getFileName(), false) | |||
| .replace ("%%date%%", Time::getCurrentTime().toString (true, true, true), false) | |||
| .replace ("%%author%%", SystemStats::getFullUserName(), false) | |||
| .replace ("%%include_corresponding_header%%", CodeHelpers::createIncludeStatement (file.withFileExtension (".h"), file)); | |||
| } | |||
| static bool fillInNewCppFileTemplate (const File& file, const Project::Item& item, const char* templateName) | |||
| @@ -169,8 +168,8 @@ public: | |||
| const File& newFile, const char* templateName) | |||
| { | |||
| String content = fillInBasicTemplateFields (newFile, parent, templateName) | |||
| .replace ("COMPONENTCLASS", className) | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (parent.project.getAppIncludeFile(), newFile)); | |||
| .replace ("%%component_class%%", className) | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (parent.project.getAppIncludeFile(), newFile)); | |||
| if (FileHelpers::overwriteFileWithNewDataIfDifferent (newFile, content)) | |||
| { | |||
| @@ -78,9 +78,8 @@ struct AnimatedAppWizard : public NewProjectWizard | |||
| String windowH = project.getFileTemplate (createCppFile ? "jucer_AnimatedComponentTemplate_h" | |||
| : "jucer_AnimatedComponentSimpleTemplate_h") | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false) | |||
| .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (contentCompH), false); | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompH, windowH)) | |||
| failedFiles.add (contentCompH.getFullPathName()); | |||
| @@ -90,9 +89,9 @@ struct AnimatedAppWizard : public NewProjectWizard | |||
| if (createCppFile) | |||
| { | |||
| String windowCpp = project.getFileTemplate ("jucer_AnimatedComponentTemplate_cpp") | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) | |||
| .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false); | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) | |||
| .replace ("%%include_corresponding_header%%", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) | |||
| failedFiles.add (contentCompCpp.getFullPathName()); | |||
| @@ -102,11 +101,10 @@ struct AnimatedAppWizard : public NewProjectWizard | |||
| // create main cpp | |||
| String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") | |||
| .replace ("APPHEADERS", appHeaders, false) | |||
| .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) | |||
| .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false) | |||
| .replace ("ALLOWMORETHANONEINSTANCE", "true", false); | |||
| .replace ("%%app_headers%%", appHeaders, false) | |||
| .replace ("%%app_class_name%%", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false) | |||
| .replace ("%%allow_more_than_one_instance%%", "true", false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) | |||
| failedFiles.add (mainCppFile.getFullPathName()); | |||
| @@ -78,9 +78,8 @@ struct AudioAppWizard : public NewProjectWizard | |||
| String windowH = project.getFileTemplate (createCppFile ? "jucer_AudioComponentTemplate_h" | |||
| : "jucer_AudioComponentSimpleTemplate_h") | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false) | |||
| .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (contentCompH), false); | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompH, windowH)) | |||
| failedFiles.add (contentCompH.getFullPathName()); | |||
| @@ -90,9 +89,9 @@ struct AudioAppWizard : public NewProjectWizard | |||
| if (createCppFile) | |||
| { | |||
| String windowCpp = project.getFileTemplate ("jucer_AudioComponentTemplate_cpp") | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) | |||
| .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false); | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) | |||
| .replace ("%%include_corresponding_header%%", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false); | |||
| @@ -104,11 +103,10 @@ struct AudioAppWizard : public NewProjectWizard | |||
| // create main cpp | |||
| String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") | |||
| .replace ("APPHEADERS", appHeaders, false) | |||
| .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) | |||
| .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false) | |||
| .replace ("ALLOWMORETHANONEINSTANCE", "true", false); | |||
| .replace ("%%app_headers%%", appHeaders, false) | |||
| .replace ("%%app_class_name%%", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false) | |||
| .replace ("%%allow_more_than_one_instance%%", "true", false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) | |||
| failedFiles.add (mainCppFile.getFullPathName()); | |||
| @@ -66,27 +66,25 @@ struct AudioPluginAppWizard : public NewProjectWizard | |||
| String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), filterCppFile)); | |||
| String filterCpp = project.getFileTemplate ("jucer_AudioPluginFilterTemplate_cpp") | |||
| .replace ("FILTERHEADERS", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) | |||
| .replace ("%%filter_headers%%", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) | |||
| + newLine + CodeHelpers::createIncludeStatement (editorHFile, filterCppFile), false) | |||
| .replace ("FILTERCLASSNAME", filterClassName, false) | |||
| .replace ("EDITORCLASSNAME", editorClassName, false); | |||
| .replace ("%%filter_class_name%%", filterClassName, false) | |||
| .replace ("%%editor_class_name%%", editorClassName, false); | |||
| String filterH = project.getFileTemplate ("jucer_AudioPluginFilterTemplate_h") | |||
| .replace ("APPHEADERS", appHeaders, false) | |||
| .replace ("FILTERCLASSNAME", filterClassName, false) | |||
| .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (filterHFile), false); | |||
| .replace ("%%app_headers%%", appHeaders, false) | |||
| .replace ("%%filter_class_name%%", filterClassName, false); | |||
| String editorCpp = project.getFileTemplate ("jucer_AudioPluginEditorTemplate_cpp") | |||
| .replace ("EDITORCPPHEADERS", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) | |||
| .replace ("%%editor_cpp_headers%%", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) | |||
| + newLine + CodeHelpers::createIncludeStatement (editorHFile, filterCppFile), false) | |||
| .replace ("FILTERCLASSNAME", filterClassName, false) | |||
| .replace ("EDITORCLASSNAME", editorClassName, false); | |||
| .replace ("%%filter_class_name%%", filterClassName, false) | |||
| .replace ("%%editor_class_name%%", editorClassName, false); | |||
| String editorH = project.getFileTemplate ("jucer_AudioPluginEditorTemplate_h") | |||
| .replace ("EDITORHEADERS", appHeaders + newLine + CodeHelpers::createIncludeStatement (filterHFile, filterCppFile), false) | |||
| .replace ("FILTERCLASSNAME", filterClassName, false) | |||
| .replace ("EDITORCLASSNAME", editorClassName, false) | |||
| .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (editorHFile), false); | |||
| .replace ("%%editor_headers%%", appHeaders + newLine + CodeHelpers::createIncludeStatement (filterHFile, filterCppFile), false) | |||
| .replace ("%%filter_class_name%%", filterClassName, false) | |||
| .replace ("%%editor_class_name%%", editorClassName, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (filterCppFile, filterCpp)) | |||
| failedFiles.add (filterCppFile.getFullPathName()); | |||
| @@ -72,7 +72,7 @@ struct ConsoleAppWizard : public NewProjectWizard | |||
| String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); | |||
| String mainCpp = project.getFileTemplate ("jucer_MainConsoleAppTemplate_cpp") | |||
| .replace ("APPHEADERS", appHeaders, false); | |||
| .replace ("%%app_headers%%", appHeaders, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) | |||
| failedFiles.add (mainCppFile.getFullPathName()); | |||
| @@ -83,9 +83,8 @@ struct GUIAppWizard : public NewProjectWizard | |||
| String windowH = project.getFileTemplate (createCppFile ? "jucer_ContentCompTemplate_h" | |||
| : "jucer_ContentCompSimpleTemplate_h") | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false) | |||
| .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (contentCompH), false); | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompH, windowH)) | |||
| failedFiles.add (contentCompH.getFullPathName()); | |||
| @@ -95,9 +94,9 @@ struct GUIAppWizard : public NewProjectWizard | |||
| if (createCppFile) | |||
| { | |||
| String windowCpp = project.getFileTemplate ("jucer_ContentCompTemplate_cpp") | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) | |||
| .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false); | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) | |||
| .replace ("%%include_corresponding_header%%", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) | |||
| failedFiles.add (contentCompCpp.getFullPathName()); | |||
| @@ -110,11 +109,10 @@ struct GUIAppWizard : public NewProjectWizard | |||
| { | |||
| String mainCpp = project.getFileTemplate (createWindow ? "jucer_MainTemplate_Window_cpp" | |||
| : "jucer_MainTemplate_NoWindow_cpp") | |||
| .replace ("APPHEADERS", appHeaders, false) | |||
| .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) | |||
| .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false) | |||
| .replace ("ALLOWMORETHANONEINSTANCE", "true", false); | |||
| .replace ("%%app_headers%%", appHeaders, false) | |||
| .replace ("%%app_class_name%%", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false) | |||
| .replace ("%%allow_more_than_one_instance%%", "true", false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) | |||
| failedFiles.add (mainCppFile.getFullPathName()); | |||
| @@ -78,9 +78,8 @@ struct OpenGLAppWizard : public NewProjectWizard | |||
| String windowH = project.getFileTemplate (createCppFile ? "jucer_OpenGLComponentTemplate_h" | |||
| : "jucer_OpenGLComponentSimpleTemplate_h") | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false) | |||
| .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (contentCompH), false); | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompH, windowH)) | |||
| failedFiles.add (contentCompH.getFullPathName()); | |||
| @@ -90,9 +89,9 @@ struct OpenGLAppWizard : public NewProjectWizard | |||
| if (createCppFile) | |||
| { | |||
| String windowCpp = project.getFileTemplate ("jucer_OpenGLComponentTemplate_cpp") | |||
| .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) | |||
| .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false); | |||
| .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) | |||
| .replace ("%%include_corresponding_header%%", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) | |||
| failedFiles.add (contentCompCpp.getFullPathName()); | |||
| @@ -102,11 +101,10 @@ struct OpenGLAppWizard : public NewProjectWizard | |||
| // create main cpp | |||
| String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") | |||
| .replace ("APPHEADERS", appHeaders, false) | |||
| .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) | |||
| .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) | |||
| .replace ("CONTENTCOMPCLASS", contentCompName, false) | |||
| .replace ("ALLOWMORETHANONEINSTANCE", "true", false); | |||
| .replace ("%%app_headers%%", appHeaders, false) | |||
| .replace ("%%app_class_name%%", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) | |||
| .replace ("%%content_component_class%%", contentCompName, false) | |||
| .replace ("%%allow_more_than_one_instance%%", "true", false); | |||
| if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) | |||
| failedFiles.add (mainCppFile.getFullPathName()); | |||