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

Projucer: Add ARA support

This commit is contained in:
attila 2022-03-01 17:51:05 +01:00
parent 6c2881ce30
commit 31b2a86559
31 changed files with 1021 additions and 68 deletions

View file

@ -6797,11 +6797,266 @@ static const unsigned char temp_binary_data_35[] =
const char* jucer_AudioComponentTemplate_h = (const char*) temp_binary_data_35;
//================== jucer_AudioPluginEditorTemplate.cpp ==================
//================== jucer_AudioPluginARADocumentControllerTemplate.cpp ==================
static const unsigned char temp_binary_data_36[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
" This file was auto-generated!\r\n"
"\r\n"
" It contains the basic framework code for an ARA document controller implementation.\r\n"
"\r\n"
" ==============================================================================\r\n"
"*/\r\n"
"\r\n"
"%%aradocumentcontroller_headers%%\r\n"
"%%araplaybackrenderer_headers%%\r\n"
"\r\n"
"//==============================================================================\r\n"
"ARA::PlugIn::PlaybackRenderer* %%aradocumentcontroller_class_name%%::doCreatePlaybackRenderer() noexcept\r\n"
"{\r\n"
" return new %%araplaybackrenderer_class_name%% (getDocumentController());\r\n"
"}\r\n"
"\r\n"
"//==============================================================================\r\n"
"bool %%aradocumentcontroller_class_name%%::doRestoreObjectsFromStream (juce::ARAInputStream& input, const juce::ARARestoreObjectsFilter* filter) noexcept\r\n"
"{\r\n"
" // You should use this method to read any persistent data associated with\r\n"
" // your ARA model graph stored in an archive using the supplied ARAInputStream.\r\n"
" // Be sure to check the ARARestoreObjectsFilter to determine which objects to restore.\r\n"
" return true;\r\n"
"}\r\n"
"\r\n"
"bool %%aradocumentcontroller_class_name%%::doStoreObjectsToStream (juce::ARAOutputStream& output, const juce::ARAStoreObjectsFilter* filter) noexcept\r\n"
"{\r\n"
" // You should use this method to write any persistent data associated with\r\n"
" // your ARA model graph into the an archive using the supplied ARAOutputStream.\r\n"
" // Be sure to check the ARAStoreObjectsFilter to determine which objects to store.\r\n"
" return true;\r\n"
"}\r\n"
"\r\n"
"//==============================================================================\r\n"
"// This creates the static ARAFactory instances for the plugin.\r\n"
"const ARA::ARAFactory* JUCE_CALLTYPE createARAFactory()\r\n"
"{\r\n"
" return juce::ARADocumentControllerSpecialisation::createARAFactory<%%aradocumentcontroller_class_name%%>();\r\n"
"}\r\n";
const char* jucer_AudioPluginARADocumentControllerTemplate_cpp = (const char*) temp_binary_data_36;
//================== jucer_AudioPluginARADocumentControllerTemplate.h ==================
static const unsigned char temp_binary_data_37[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
" This file was auto-generated!\r\n"
"\r\n"
" It contains the basic framework code for an ARA document controller implementation.\r\n"
"\r\n"
" ==============================================================================\r\n"
"*/\r\n"
"\r\n"
"#pragma once\r\n"
"\r\n"
"#include <juce_audio_processors/juce_audio_processors.h>\r\n"
"\r\n"
"//==============================================================================\r\n"
"/**\r\n"
"*/\r\n"
"class %%aradocumentcontroller_class_name%% : public juce::ARADocumentControllerSpecialisation\r\n"
"{\r\n"
"public:\r\n"
" //==============================================================================\r\n"
" using ARADocumentControllerSpecialisation::ARADocumentControllerSpecialisation;\r\n"
"\r\n"
"protected:\r\n"
" //==============================================================================\r\n"
" // Override document controller customization methods here\r\n"
"\r\n"
" ARAPlaybackRenderer* doCreatePlaybackRenderer() noexcept override;\r\n"
"\r\n"
" bool doRestoreObjectsFromStream (juce::ARAInputStream& input, const juce::ARARestoreObjectsFilter* filter) noexcept override;\r\n"
" bool doStoreObjectsToStream (juce::ARAOutputStream& output, const juce::ARAStoreObjectsFilter* filter) noexcept override;\r\n"
"\r\n"
"private:\r\n"
" //==============================================================================\r\n"
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%aradocumentcontroller_class_name%%)\r\n"
"};\r\n";
const char* jucer_AudioPluginARADocumentControllerTemplate_h = (const char*) temp_binary_data_37;
//================== jucer_AudioPluginARAPlaybackRendererTemplate.cpp ==================
static const unsigned char temp_binary_data_38[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
" This file was auto-generated!\r\n"
"\r\n"
" It contains the basic framework code for an ARA playback renderer implementation.\r\n"
"\r\n"
" ==============================================================================\r\n"
"*/\r\n"
"\r\n"
"%%araplaybackrenderer_headers%%\r\n"
"\r\n"
"//==============================================================================\r\n"
"void %%araplaybackrenderer_class_name%%::prepareToPlay (double sampleRateIn, int maximumSamplesPerBlockIn, int numChannelsIn, juce::AudioProcessor::ProcessingPrecision, AlwaysNonRealtime alwaysNonRealtime)\r\n"
"{\r\n"
" numChannels = numChannelsIn;\r\n"
" sampleRate = sampleRateIn;\r\n"
" maximumSamplesPerBlock = maximumSamplesPerBlockIn;\r\n"
" useBufferedAudioSourceReader = alwaysNonRealtime == AlwaysNonRealtime::no;\r\n"
"}\r\n"
"\r\n"
"void %%araplaybackrenderer_class_name%%::releaseResources()\r\n"
"{\r\n"
"}\r\n"
"\r\n"
"//==============================================================================\r\n"
"bool %%araplaybackrenderer_class_name%%::processBlock (juce::AudioBuffer<float>& buffer, juce::AudioProcessor::Realtime realtime, const juce::AudioPlayHead::CurrentPositionInfo& positionInfo) noexcept\r\n"
"{\r\n"
" const auto numSamples = buffer.getNumSamples();\r\n"
" jassert (numSamples <= maximumSamplesPerBlock);\r\n"
" jassert (numChannels == buffer.getNumChannels());\r\n"
" jassert (realtime == juce::AudioProcessor::Realtime::no || useBufferedAudioSourceReader);\r\n"
" const auto timeInSamples = positionInfo.timeInSamples;\r\n"
" const auto isPlaying = positionInfo.isPlaying;\r\n"
"\r\n"
" bool success = true;\r\n"
" bool didRenderAnyRegion = false;\r\n"
"\r\n"
" if (isPlaying)\r\n"
" {\r\n"
" const auto blockRange = juce::Range<juce::int64>::withStartAndLength (timeInSamples, numSamples);\r\n"
"\r\n"
" for (const auto& playbackRegion : getPlaybackRegions())\r\n"
" {\r\n"
" // Evaluate region borders in song time, calculate sample range to render in song time.\r\n"
" // Note that this example does not use head- or tailtime, so the includeHeadAndTail\r\n"
" // parameter is set to false here - this might need to be adjusted in actual plug-ins.\r\n"
" const auto playbackSampleRange = playbackRegion->getSampleRange (sampleRate,\r\n"
" juce::ARAPlaybackRegion::IncludeHeadAndTail::no);\r\n"
" auto renderRange = blockRange.getIntersectionWith (playbackSampleRange);\r\n"
"\r\n"
" if (renderRange.isEmpty())\r\n"
" continue;\r\n"
"\r\n"
" // Evaluate region borders in modification/source time and calculate offset between\r\n"
" // song and source samples, then clip song samples accordingly\r\n"
" // (if an actual plug-in supports time stretching, this must be taken into account here).\r\n"
" juce::Range<juce::int64> modificationSampleRange { playbackRegion->getStartInAudioModificationSamples(),\r\n"
" playbackRegion->getEndInAudioModificationSamples() };\r\n"
" const auto modificationSampleOffset = modificationSampleRange.getStart() - playbackSampleRange.getStart();\r\n"
"\r\n"
" renderRange = renderRange.getIntersectionWith (modificationSampleRange.movedToStartAt (playbackSampleRange.getStart()));\r\n"
"\r\n"
" if (renderRange.isEmpty())\r\n"
" continue;\r\n"
"\r\n"
" // Now calculate the samples in renderRange for this PlaybackRegion based on the ARA model\r\n"
" // graph. If didRenderAnyRegion is true, add the region's output samples in renderRange to\r\n"
" // the buffer. Otherwise the buffer needs to be initialised so the sample value must be\r\n"
" // overwritten.\r\n"
" const int numSamplesToRead = (int) renderRange.getLength();\r\n"
" const int startInBuffer = (int) (renderRange.getStart() - blockRange.getStart());\r\n"
" const auto startInSource = renderRange.getStart() + modificationSampleOffset;\r\n"
"\r\n"
" for (int c = 0; c < numChannels; ++c)\r\n"
" {\r\n"
" auto* channelData = buffer.getWritePointer (c);\r\n"
"\r\n"
" for (int i = 0; i < numSamplesToRead; ++i)\r\n"
" {\r\n"
" // Calculate region output sample at index startInSource + i ...\r\n"
" float sample = 0.0f;\r\n"
"\r\n"
" if (didRenderAnyRegion)\r\n"
" channelData[startInBuffer + i] += sample;\r\n"
" else\r\n"
" channelData[startInBuffer + i] = sample;\r\n"
" }\r\n"
" }\r\n"
"\r\n"
" // If rendering first region, clear any excess at start or end of the region.\r\n"
" if (! didRenderAnyRegion)\r\n"
" {\r\n"
" if (startInBuffer != 0)\r\n"
" buffer.clear (0, startInBuffer);\r\n"
"\r\n"
" const int endInBuffer = startInBuffer + numSamples;\r\n"
" const int remainingSamples = numSamples - endInBuffer;\r\n"
"\r\n"
" if (remainingSamples != 0)\r\n"
" buffer.clear (endInBuffer, remainingSamples);\r\n"
"\r\n"
" didRenderAnyRegion = true;\r\n"
" }\r\n"
" }\r\n"
" }\r\n"
"\r\n"
" if (! didRenderAnyRegion)\r\n"
" buffer.clear();\r\n"
"\r\n"
" return success;\r\n"
"}\r\n";
const char* jucer_AudioPluginARAPlaybackRendererTemplate_cpp = (const char*) temp_binary_data_38;
//================== jucer_AudioPluginARAPlaybackRendererTemplate.h ==================
static const unsigned char temp_binary_data_39[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
" This file was auto-generated!\r\n"
"\r\n"
" It contains the basic framework code for an ARA playback renderer implementation.\r\n"
"\r\n"
" ==============================================================================\r\n"
"*/\r\n"
"\r\n"
"#pragma once\r\n"
"\r\n"
"#include <juce_audio_processors/juce_audio_processors.h>\r\n"
"\r\n"
"//==============================================================================\r\n"
"/**\r\n"
"*/\r\n"
"class %%araplaybackrenderer_class_name%% : public juce::ARAPlaybackRenderer\r\n"
"{\r\n"
"public:\r\n"
" //==============================================================================\r\n"
" using juce::ARAPlaybackRenderer::ARAPlaybackRenderer;\r\n"
"\r\n"
" //==============================================================================\r\n"
" void prepareToPlay (double sampleRate,\r\n"
" int maximumSamplesPerBlock,\r\n"
" int numChannels,\r\n"
" juce::AudioProcessor::ProcessingPrecision,\r\n"
" AlwaysNonRealtime alwaysNonRealtime) override;\r\n"
" void releaseResources() override;\r\n"
"\r\n"
" //==============================================================================\r\n"
" bool processBlock (juce::AudioBuffer<float> & buffer,\r\n"
" juce::AudioProcessor::Realtime realtime,\r\n"
" const juce::AudioPlayHead::CurrentPositionInfo& positionInfo) noexcept override;\r\n"
"\r\n"
"private:\r\n"
" //==============================================================================\r\n"
" double sampleRate = 44100.0;\r\n"
" int maximumSamplesPerBlock = 4096;\r\n"
" int numChannels = 1;\r\n"
" bool useBufferedAudioSourceReader = true;\r\n"
"\r\n"
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%araplaybackrenderer_class_name%%)\r\n"
"};\r\n";
const char* jucer_AudioPluginARAPlaybackRendererTemplate_h = (const char*) temp_binary_data_39;
//================== jucer_AudioPluginEditorTemplate.cpp ==================
static const unsigned char temp_binary_data_40[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
" This file contains the basic framework code for a JUCE plugin editor.\r\n"
"\r\n"
" ==============================================================================\r\n"
@ -6839,10 +7094,10 @@ static const unsigned char temp_binary_data_36[] =
" // subcomponents in your editor..\r\n"
"}\r\n";
const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_36;
const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_40;
//================== jucer_AudioPluginEditorTemplate.h ==================
static const unsigned char temp_binary_data_37[] =
static const unsigned char temp_binary_data_41[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -6876,10 +7131,10 @@ static const unsigned char temp_binary_data_37[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%editor_class_name%%)\r\n"
"};\r\n";
const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_37;
const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_41;
//================== jucer_AudioPluginFilterTemplate.cpp ==================
static const unsigned char temp_binary_data_38[] =
static const unsigned char temp_binary_data_42[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7071,10 +7326,10 @@ static const unsigned char temp_binary_data_38[] =
" return new %%filter_class_name%%();\r\n"
"}\r\n";
const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_38;
const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_42;
//================== jucer_AudioPluginFilterTemplate.h ==================
static const unsigned char temp_binary_data_39[] =
static const unsigned char temp_binary_data_43[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7091,6 +7346,9 @@ static const unsigned char temp_binary_data_39[] =
"/**\r\n"
"*/\r\n"
"class %%filter_class_name%% : public juce::AudioProcessor\r\n"
" #if JucePlugin_Enable_ARA\r\n"
" , public juce::AudioProcessorARAExtension\r\n"
" #endif\r\n"
"{\r\n"
"public:\r\n"
" //==============================================================================\r\n"
@ -7135,10 +7393,10 @@ static const unsigned char temp_binary_data_39[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%filter_class_name%%)\r\n"
"};\r\n";
const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_39;
const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_43;
//================== jucer_ComponentTemplate.cpp ==================
static const unsigned char temp_binary_data_40[] =
static const unsigned char temp_binary_data_44[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7214,10 +7472,10 @@ static const unsigned char temp_binary_data_40[] =
"//[EndFile] You can add extra defines here...\r\n"
"//[/EndFile]\r\n";
const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_40;
const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_44;
//================== jucer_ComponentTemplate.h ==================
static const unsigned char temp_binary_data_41[] =
static const unsigned char temp_binary_data_45[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7280,10 +7538,10 @@ static const unsigned char temp_binary_data_41[] =
"//[EndFile] You can add extra defines here...\r\n"
"//[/EndFile]\r\n";
const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_41;
const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_45;
//================== jucer_ContentCompSimpleTemplate.h ==================
static const unsigned char temp_binary_data_42[] =
static const unsigned char temp_binary_data_46[] =
"#pragma once\r\n"
"\r\n"
"%%include_juce%%\r\n"
@ -7333,10 +7591,10 @@ static const unsigned char temp_binary_data_42[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%)\r\n"
"};\r\n";
const char* jucer_ContentCompSimpleTemplate_h = (const char*) temp_binary_data_42;
const char* jucer_ContentCompSimpleTemplate_h = (const char*) temp_binary_data_46;
//================== jucer_ContentCompTemplate.cpp ==================
static const unsigned char temp_binary_data_43[] =
static const unsigned char temp_binary_data_47[] =
"%%include_corresponding_header%%\r\n"
"\r\n"
"//==============================================================================\r\n"
@ -7367,10 +7625,10 @@ static const unsigned char temp_binary_data_43[] =
" // update their positions.\r\n"
"}\r\n";
const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_43;
const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_47;
//================== jucer_ContentCompTemplate.h ==================
static const unsigned char temp_binary_data_44[] =
static const unsigned char temp_binary_data_48[] =
"#pragma once\r\n"
"\r\n"
"%%include_juce%%\r\n"
@ -7399,10 +7657,10 @@ static const unsigned char temp_binary_data_44[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%)\r\n"
"};\r\n";
const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_44;
const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_48;
//================== jucer_InlineComponentTemplate.h ==================
static const unsigned char temp_binary_data_45[] =
static const unsigned char temp_binary_data_49[] =
"//==============================================================================\r\n"
"class %%component_class%% : public juce::Component\r\n"
"{\r\n"
@ -7444,10 +7702,10 @@ static const unsigned char temp_binary_data_45[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%component_class%%)\r\n"
"};\r\n";
const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_45;
const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_49;
//================== jucer_MainConsoleAppTemplate.cpp ==================
static const unsigned char temp_binary_data_46[] =
static const unsigned char temp_binary_data_50[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7468,10 +7726,10 @@ static const unsigned char temp_binary_data_46[] =
" return 0;\r\n"
"}\r\n";
const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_46;
const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_50;
//================== jucer_MainTemplate_NoWindow.cpp ==================
static const unsigned char temp_binary_data_47[] =
static const unsigned char temp_binary_data_51[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7524,10 +7782,10 @@ static const unsigned char temp_binary_data_47[] =
"// This macro generates the main() routine that launches the app.\r\n"
"START_JUCE_APPLICATION (%%app_class_name%%)\r\n";
const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_47;
const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_51;
//================== jucer_MainTemplate_Window.cpp ==================
static const unsigned char temp_binary_data_48[] =
static const unsigned char temp_binary_data_52[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7633,10 +7891,10 @@ static const unsigned char temp_binary_data_48[] =
"// This macro generates the main() routine that launches the app.\r\n"
"START_JUCE_APPLICATION (%%app_class_name%%)\r\n";
const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_48;
const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_52;
//================== jucer_NewComponentTemplate.cpp ==================
static const unsigned char temp_binary_data_49[] =
static const unsigned char temp_binary_data_53[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7689,10 +7947,10 @@ static const unsigned char temp_binary_data_49[] =
"\r\n"
"}\r\n";
const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_49;
const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_53;
//================== jucer_NewComponentTemplate.h ==================
static const unsigned char temp_binary_data_50[] =
static const unsigned char temp_binary_data_54[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7723,10 +7981,10 @@ static const unsigned char temp_binary_data_50[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%component_class%%)\r\n"
"};\r\n";
const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_50;
const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_54;
//================== jucer_NewCppFileTemplate.cpp ==================
static const unsigned char temp_binary_data_51[] =
static const unsigned char temp_binary_data_55[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7739,10 +7997,10 @@ static const unsigned char temp_binary_data_51[] =
"\r\n"
"%%include_corresponding_header%%\r\n";
const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_51;
const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_55;
//================== jucer_NewCppFileTemplate.h ==================
static const unsigned char temp_binary_data_52[] =
static const unsigned char temp_binary_data_56[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7755,10 +8013,10 @@ static const unsigned char temp_binary_data_52[] =
"\r\n"
"#pragma once\r\n";
const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_52;
const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_56;
//================== jucer_NewInlineComponentTemplate.h ==================
static const unsigned char temp_binary_data_53[] =
static const unsigned char temp_binary_data_57[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -7821,10 +8079,10 @@ static const unsigned char temp_binary_data_53[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%component_class%%)\r\n"
"};\r\n";
const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_53;
const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_57;
//================== jucer_OpenGLComponentSimpleTemplate.h ==================
static const unsigned char temp_binary_data_54[] =
static const unsigned char temp_binary_data_58[] =
"#pragma once\r\n"
"\r\n"
"%%include_juce%%\r\n"
@ -7893,10 +8151,10 @@ static const unsigned char temp_binary_data_54[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%)\r\n"
"};\r\n";
const char* jucer_OpenGLComponentSimpleTemplate_h = (const char*) temp_binary_data_54;
const char* jucer_OpenGLComponentSimpleTemplate_h = (const char*) temp_binary_data_58;
//================== jucer_OpenGLComponentTemplate.cpp ==================
static const unsigned char temp_binary_data_55[] =
static const unsigned char temp_binary_data_59[] =
"%%include_corresponding_header%%\r\n"
"\r\n"
"//==============================================================================\r\n"
@ -7946,10 +8204,10 @@ static const unsigned char temp_binary_data_55[] =
" // update their positions.\r\n"
"}\r\n";
const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_55;
const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_59;
//================== jucer_OpenGLComponentTemplate.h ==================
static const unsigned char temp_binary_data_56[] =
static const unsigned char temp_binary_data_60[] =
"#pragma once\r\n"
"\r\n"
"%%include_juce%%\r\n"
@ -7983,10 +8241,10 @@ static const unsigned char temp_binary_data_56[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%content_component_class%%)\r\n"
"};\r\n";
const char* jucer_OpenGLComponentTemplate_h = (const char*) temp_binary_data_56;
const char* jucer_OpenGLComponentTemplate_h = (const char*) temp_binary_data_60;
//================== jucer_PIPAudioProcessorTemplate.h ==================
static const unsigned char temp_binary_data_57[] =
static const unsigned char temp_binary_data_61[] =
"class %%class_name%% : public juce::AudioProcessor\r\n"
"{\r\n"
"public:\r\n"
@ -8095,10 +8353,10 @@ static const unsigned char temp_binary_data_57[] =
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%class_name%%)\r\n"
"};\r\n";
const char* jucer_PIPAudioProcessorTemplate_h = (const char*) temp_binary_data_57;
const char* jucer_PIPAudioProcessorTemplate_h = (const char*) temp_binary_data_61;
//================== jucer_PIPTemplate.h ==================
static const unsigned char temp_binary_data_58[] =
static const unsigned char temp_binary_data_62[] =
"/*******************************************************************************\r\n"
" The block below describes the properties of this PIP. A PIP is a short snippet\r\n"
" of code that can be read by the Projucer and used to generate a JUCE project.\r\n"
@ -8117,10 +8375,10 @@ static const unsigned char temp_binary_data_58[] =
"//==============================================================================\r\n"
"%%pip_code%%\r\n";
const char* jucer_PIPTemplate_h = (const char*) temp_binary_data_58;
const char* jucer_PIPTemplate_h = (const char*) temp_binary_data_62;
//================== colourscheme_dark.xml ==================
static const unsigned char temp_binary_data_59[] =
static const unsigned char temp_binary_data_63[] =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"
"\r\n"
"<COLOUR_SCHEME font=\"&lt;Monospaced&gt;; 13.0\">\r\n"
@ -8145,10 +8403,10 @@ static const unsigned char temp_binary_data_59[] =
" <COLOUR name=\"Error\" colour=\"FFE60000\"/>\r\n"
"</COLOUR_SCHEME>\r\n";
const char* colourscheme_dark_xml = (const char*) temp_binary_data_59;
const char* colourscheme_dark_xml = (const char*) temp_binary_data_63;
//================== colourscheme_light.xml ==================
static const unsigned char temp_binary_data_60[] =
static const unsigned char temp_binary_data_64[] =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"
"\r\n"
"<COLOUR_SCHEME font=\"&lt;Monospaced&gt;; 13.0\">\r\n"
@ -8173,10 +8431,10 @@ static const unsigned char temp_binary_data_60[] =
" <COLOUR name=\"Error\" colour=\"ffcc0000\"/>\r\n"
"</COLOUR_SCHEME>\r\n";
const char* colourscheme_light_xml = (const char*) temp_binary_data_60;
const char* colourscheme_light_xml = (const char*) temp_binary_data_64;
//================== juce_runtime_arch_detection.cpp ==================
static const unsigned char temp_binary_data_61[] =
static const unsigned char temp_binary_data_65[] =
"/*\r\n"
" ==============================================================================\r\n"
"\r\n"
@ -8255,7 +8513,7 @@ static const unsigned char temp_binary_data_61[] =
"\r\n"
"#endif\r\n";
const char* juce_runtime_arch_detection_cpp = (const char*) temp_binary_data_61;
const char* juce_runtime_arch_detection_cpp = (const char*) temp_binary_data_65;
const char* getNamedResource (const char* resourceNameUTF8, int& numBytes);
@ -8305,10 +8563,14 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes)
case 0xfb6f6d96: numBytes = 3554; return jucer_AudioComponentSimpleTemplate_h;
case 0xafccbd3f: numBytes = 2941; return jucer_AudioComponentTemplate_cpp;
case 0x915d7304: numBytes = 1187; return jucer_AudioComponentTemplate_h;
case 0x744d44d6: numBytes = 1920; return jucer_AudioPluginARADocumentControllerTemplate_cpp;
case 0x3eb8f45b: numBytes = 1439; return jucer_AudioPluginARADocumentControllerTemplate_h;
case 0xea35a37d: numBytes = 5192; return jucer_AudioPluginARAPlaybackRendererTemplate_cpp;
case 0x78a6d0c2: numBytes = 1765; return jucer_AudioPluginARAPlaybackRendererTemplate_h;
case 0x27c5a93a: numBytes = 1355; return jucer_AudioPluginEditorTemplate_cpp;
case 0x4d0721bf: numBytes = 973; return jucer_AudioPluginEditorTemplate_h;
case 0x51b49ac5: numBytes = 6218; return jucer_AudioPluginFilterTemplate_cpp;
case 0x488afa0a: numBytes = 2299; return jucer_AudioPluginFilterTemplate_h;
case 0x488afa0a: numBytes = 2462; return jucer_AudioPluginFilterTemplate_h;
case 0xabad7041: numBytes = 2147; return jucer_ComponentTemplate_cpp;
case 0xfc72fe86: numBytes = 2065; return jucer_ComponentTemplate_h;
case 0x1657b643: numBytes = 1524; return jucer_ContentCompSimpleTemplate_h;
@ -8376,6 +8638,10 @@ const char* namedResourceList[] =
"jucer_AudioComponentSimpleTemplate_h",
"jucer_AudioComponentTemplate_cpp",
"jucer_AudioComponentTemplate_h",
"jucer_AudioPluginARADocumentControllerTemplate_cpp",
"jucer_AudioPluginARADocumentControllerTemplate_h",
"jucer_AudioPluginARAPlaybackRendererTemplate_cpp",
"jucer_AudioPluginARAPlaybackRendererTemplate_h",
"jucer_AudioPluginEditorTemplate_cpp",
"jucer_AudioPluginEditorTemplate_h",
"jucer_AudioPluginFilterTemplate_cpp",
@ -8442,6 +8708,10 @@ const char* originalFilenames[] =
"jucer_AudioComponentSimpleTemplate.h",
"jucer_AudioComponentTemplate.cpp",
"jucer_AudioComponentTemplate.h",
"jucer_AudioPluginARADocumentControllerTemplate.cpp",
"jucer_AudioPluginARADocumentControllerTemplate.h",
"jucer_AudioPluginARAPlaybackRendererTemplate.cpp",
"jucer_AudioPluginARAPlaybackRendererTemplate.h",
"jucer_AudioPluginEditorTemplate.cpp",
"jucer_AudioPluginEditorTemplate.h",
"jucer_AudioPluginFilterTemplate.cpp",