| @@ -3,8 +3,9 @@ | |||
| IMPORTANT! This file is auto-generated each time you save your | |||
| project - if you alter its contents, your changes may be overwritten! | |||
| If you want to change any of these values, use the Introjucer to do so, | |||
| rather than editing this file directly! | |||
| There's a section below where you can add your own custom code safely, and the | |||
| Introjucer will preserve the contents of that block, but the best way to change | |||
| any of these definitions is by using the Introjucer's project settings. | |||
| Any commented-out settings will assume their default values. | |||
| @@ -13,6 +14,13 @@ | |||
| #ifndef __JUCE_APPCONFIG_M70QFTRRK__ | |||
| #define __JUCE_APPCONFIG_M70QFTRRK__ | |||
| //============================================================================== | |||
| // [BEGIN_USER_CODE_SECTION] | |||
| // (You can add your own code in this section, and the Introjucer will not overwrite it) | |||
| // [END_USER_CODE_SECTION] | |||
| //============================================================================== | |||
| #define JUCE_MODULE_AVAILABLE_juce_core 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_cryptography 1 | |||
| @@ -74,6 +74,8 @@ public: | |||
| return thread.result; | |||
| } | |||
| const String appConfigUserContent (loadUserContentFromAppConfig()); | |||
| if (generatedCodeFolder.exists()) | |||
| deleteNonHiddenFilesIn (generatedCodeFolder); | |||
| @@ -91,7 +93,7 @@ public: | |||
| } | |||
| if (errors.size() == 0) | |||
| writeAppConfigFile (modules); | |||
| writeAppConfigFile (modules, appConfigUserContent); | |||
| if (errors.size() == 0) | |||
| writeBinaryDataFiles(); | |||
| @@ -103,7 +105,7 @@ public: | |||
| writeProjects (modules); | |||
| if (errors.size() == 0) | |||
| writeAppConfigFile (modules); // (this is repeated in case the projects added anything to it) | |||
| writeAppConfigFile (modules, appConfigUserContent); // (this is repeated in case the projects added anything to it) | |||
| if (generatedCodeFolder.exists() && errors.size() == 0) | |||
| writeReadmeFile(); | |||
| @@ -258,11 +260,42 @@ private: | |||
| return longest; | |||
| } | |||
| void writeAppConfig (OutputStream& out, const OwnedArray<LibraryModule>& modules) | |||
| File getAppConfigFile() const { return generatedCodeFolder.getChildFile (project.getAppConfigFilename()); } | |||
| String loadUserContentFromAppConfig() const | |||
| { | |||
| StringArray lines, userContent; | |||
| lines.addLines (getAppConfigFile().loadFileAsString()); | |||
| bool foundCodeSection = false; | |||
| for (int i = 0; i < lines.size(); ++i) | |||
| { | |||
| if (lines[i].contains ("[BEGIN_USER_CODE_SECTION]")) | |||
| { | |||
| for (int j = i + 1; j < lines.size() && ! lines[j].contains ("[END_USER_CODE_SECTION]"); ++j) | |||
| userContent.add (lines[j]); | |||
| foundCodeSection = true; | |||
| break; | |||
| } | |||
| } | |||
| if (! foundCodeSection) | |||
| { | |||
| userContent.add (String::empty); | |||
| userContent.add ("// (You can add your own code in this section, and the Introjucer will not overwrite it)"); | |||
| userContent.add (String::empty); | |||
| } | |||
| return userContent.joinIntoString (newLine) + newLine; | |||
| } | |||
| void writeAppConfig (OutputStream& out, const OwnedArray<LibraryModule>& modules, const String& userContent) | |||
| { | |||
| writeAutoGenWarningComment (out); | |||
| out << " If you want to change any of these values, use the Introjucer to do so," << newLine | |||
| << " rather than editing this file directly!" << newLine | |||
| out << " There's a section below where you can add your own custom code safely, and the" << newLine | |||
| << " Introjucer will preserve the contents of that block, but the best way to change" << newLine | |||
| << " any of these definitions is by using the Introjucer's project settings." << newLine | |||
| << newLine | |||
| << " Any commented-out settings will assume their default values." << newLine | |||
| << newLine | |||
| @@ -273,6 +306,11 @@ private: | |||
| out << "#ifndef " << headerGuard << newLine | |||
| << "#define " << headerGuard << newLine | |||
| << newLine | |||
| << "//==============================================================================" << newLine | |||
| << "// [BEGIN_USER_CODE_SECTION]" << newLine | |||
| << userContent | |||
| << "// [END_USER_CODE_SECTION]" << newLine | |||
| << newLine | |||
| << "//==============================================================================" << newLine; | |||
| const int longestName = findLongestModuleName (modules); | |||
| @@ -328,12 +366,12 @@ private: | |||
| << "#endif // " << headerGuard << newLine; | |||
| } | |||
| void writeAppConfigFile (const OwnedArray<LibraryModule>& modules) | |||
| void writeAppConfigFile (const OwnedArray<LibraryModule>& modules, const String& userContent) | |||
| { | |||
| appConfigFile = generatedCodeFolder.getChildFile (project.getAppConfigFilename()); | |||
| appConfigFile = getAppConfigFile(); | |||
| MemoryOutputStream mem; | |||
| writeAppConfig (mem, modules); | |||
| writeAppConfig (mem, modules, userContent); | |||
| saveGeneratedFile (project.getAppConfigFilename(), mem); | |||
| } | |||
| @@ -3,8 +3,9 @@ | |||
| IMPORTANT! This file is auto-generated each time you save your | |||
| project - if you alter its contents, your changes may be overwritten! | |||
| If you want to change any of these values, use the Introjucer to do so, | |||
| rather than editing this file directly! | |||
| There's a section below where you can add your own custom code safely, and the | |||
| Introjucer will preserve the contents of that block, but the best way to change | |||
| any of these definitions is by using the Introjucer's project settings. | |||
| Any commented-out settings will assume their default values. | |||
| @@ -13,6 +14,13 @@ | |||
| #ifndef __JUCE_APPCONFIG_SLVVV6J__ | |||
| #define __JUCE_APPCONFIG_SLVVV6J__ | |||
| //============================================================================== | |||
| // [BEGIN_USER_CODE_SECTION] | |||
| // (You can add your own code in this section, and the Introjucer will not overwrite it) | |||
| // [END_USER_CODE_SECTION] | |||
| //============================================================================== | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 | |||
| @@ -3,8 +3,9 @@ | |||
| IMPORTANT! This file is auto-generated each time you save your | |||
| project - if you alter its contents, your changes may be overwritten! | |||
| If you want to change any of these values, use the Introjucer to do so, | |||
| rather than editing this file directly! | |||
| There's a section below where you can add your own custom code safely, and the | |||
| Introjucer will preserve the contents of that block, but the best way to change | |||
| any of these definitions is by using the Introjucer's project settings. | |||
| Any commented-out settings will assume their default values. | |||
| @@ -13,6 +14,13 @@ | |||
| #ifndef __JUCE_APPCONFIG_0NRD9LLGO__ | |||
| #define __JUCE_APPCONFIG_0NRD9LLGO__ | |||
| //============================================================================== | |||
| // [BEGIN_USER_CODE_SECTION] | |||
| // (You can add your own code in this section, and the Introjucer will not overwrite it) | |||
| // [END_USER_CODE_SECTION] | |||
| //============================================================================== | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 | |||
| @@ -3,8 +3,9 @@ | |||
| IMPORTANT! This file is auto-generated each time you save your | |||
| project - if you alter its contents, your changes may be overwritten! | |||
| If you want to change any of these values, use the Introjucer to do so, | |||
| rather than editing this file directly! | |||
| There's a section below where you can add your own custom code safely, and the | |||
| Introjucer will preserve the contents of that block, but the best way to change | |||
| any of these definitions is by using the Introjucer's project settings. | |||
| Any commented-out settings will assume their default values. | |||
| @@ -13,6 +14,13 @@ | |||
| #ifndef __JUCE_APPCONFIG_NTE0XB0IJ__ | |||
| #define __JUCE_APPCONFIG_NTE0XB0IJ__ | |||
| //============================================================================== | |||
| // [BEGIN_USER_CODE_SECTION] | |||
| // (You can add your own code in this section, and the Introjucer will not overwrite it) | |||
| // [END_USER_CODE_SECTION] | |||
| //============================================================================== | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 | |||
| @@ -3,8 +3,9 @@ | |||
| IMPORTANT! This file is auto-generated each time you save your | |||
| project - if you alter its contents, your changes may be overwritten! | |||
| If you want to change any of these values, use the Introjucer to do so, | |||
| rather than editing this file directly! | |||
| There's a section below where you can add your own custom code safely, and the | |||
| Introjucer will preserve the contents of that block, but the best way to change | |||
| any of these definitions is by using the Introjucer's project settings. | |||
| Any commented-out settings will assume their default values. | |||
| @@ -13,6 +14,13 @@ | |||
| #ifndef __JUCE_APPCONFIG_3T6YQETY1__ | |||
| #define __JUCE_APPCONFIG_3T6YQETY1__ | |||
| //============================================================================== | |||
| // [BEGIN_USER_CODE_SECTION] | |||
| // (You can add your own code in this section, and the Introjucer will not overwrite it) | |||
| // [END_USER_CODE_SECTION] | |||
| //============================================================================== | |||
| #define JUCE_MODULE_AVAILABLE_juce_core 1 | |||
| @@ -3,8 +3,9 @@ | |||
| IMPORTANT! This file is auto-generated each time you save your | |||
| project - if you alter its contents, your changes may be overwritten! | |||
| If you want to change any of these values, use the Introjucer to do so, | |||
| rather than editing this file directly! | |||
| There's a section below where you can add your own custom code safely, and the | |||
| Introjucer will preserve the contents of that block, but the best way to change | |||
| any of these definitions is by using the Introjucer's project settings. | |||
| Any commented-out settings will assume their default values. | |||
| @@ -13,6 +14,13 @@ | |||
| #ifndef __JUCE_APPCONFIG_TTAKTK1S__ | |||
| #define __JUCE_APPCONFIG_TTAKTK1S__ | |||
| //============================================================================== | |||
| // [BEGIN_USER_CODE_SECTION] | |||
| // (You can add your own code in this section, and the Introjucer will not overwrite it) | |||
| // [END_USER_CODE_SECTION] | |||
| //============================================================================== | |||
| #define JUCE_MODULE_AVAILABLE_juce_core 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_data_structures 1 | |||
| @@ -3,8 +3,9 @@ | |||
| IMPORTANT! This file is auto-generated each time you save your | |||
| project - if you alter its contents, your changes may be overwritten! | |||
| If you want to change any of these values, use the Introjucer to do so, | |||
| rather than editing this file directly! | |||
| There's a section below where you can add your own custom code safely, and the | |||
| Introjucer will preserve the contents of that block, but the best way to change | |||
| any of these definitions is by using the Introjucer's project settings. | |||
| Any commented-out settings will assume their default values. | |||
| @@ -13,6 +14,13 @@ | |||
| #ifndef __JUCE_APPCONFIG_IVABE4__ | |||
| #define __JUCE_APPCONFIG_IVABE4__ | |||
| //============================================================================== | |||
| // [BEGIN_USER_CODE_SECTION] | |||
| // (You can add your own code in this section, and the Introjucer will not overwrite it) | |||
| // [END_USER_CODE_SECTION] | |||
| //============================================================================== | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 | |||
| @@ -3,8 +3,9 @@ | |||
| IMPORTANT! This file is auto-generated each time you save your | |||
| project - if you alter its contents, your changes may be overwritten! | |||
| If you want to change any of these values, use the Introjucer to do so, | |||
| rather than editing this file directly! | |||
| There's a section below where you can add your own custom code safely, and the | |||
| Introjucer will preserve the contents of that block, but the best way to change | |||
| any of these definitions is by using the Introjucer's project settings. | |||
| Any commented-out settings will assume their default values. | |||
| @@ -13,6 +14,13 @@ | |||
| #ifndef __JUCE_APPCONFIG_UY86NK__ | |||
| #define __JUCE_APPCONFIG_UY86NK__ | |||
| //============================================================================== | |||
| // [BEGIN_USER_CODE_SECTION] | |||
| // (You can add your own code in this section, and the Introjucer will not overwrite it) | |||
| // [END_USER_CODE_SECTION] | |||
| //============================================================================== | |||
| #define JUCE_MODULE_AVAILABLE_juce_core 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_data_structures 1 | |||