diff --git a/extras/Projucer/Source/Application/jucer_Application.cpp b/extras/Projucer/Source/Application/jucer_Application.cpp index 0ebf81bc74..4954d89623 100644 --- a/extras/Projucer/Source/Application/jucer_Application.cpp +++ b/extras/Projucer/Source/Application/jucer_Application.cpp @@ -605,7 +605,7 @@ void ProjucerApplication::createExamplesPopupMenu (PopupMenu& menu) noexcept } } -Array ProjucerApplication::getSortedExampleDirectories() const noexcept +Array ProjucerApplication::getSortedExampleDirectories() noexcept { Array exampleDirectories; @@ -662,6 +662,16 @@ bool ProjucerApplication::findWindowAndOpenPIP (const File& pip) return false; } +File ProjucerApplication::getJUCEExamplesDirectoryPathFromGlobal() noexcept +{ + auto globalPath = getAppSettings().getStoredPath (Ids::jucePath).toString(); + + if (globalPath.isNotEmpty()) + return File (globalPath).getChildFile ("examples"); + + return {}; +} + void ProjucerApplication::findAndLaunchExample (int selectedIndex) { File example; @@ -689,7 +699,7 @@ void ProjucerApplication::findAndLaunchExample (int selectedIndex) Analytics::getInstance()->logEvent ("Example Opened", data, ProjucerAnalyticsEvent::exampleEvent); } -File ProjucerApplication::findDemoRunnerExecutable() const noexcept +File ProjucerApplication::findDemoRunnerExecutable() noexcept { auto buildsPath = getJUCEExamplesDirectoryPathFromGlobal().getChildFile ("DemoRunner").getChildFile ("Builds"); @@ -751,7 +761,7 @@ File ProjucerApplication::findDemoRunnerExecutable() const noexcept return {}; } -File ProjucerApplication::findDemoRunnerProject() const noexcept +File ProjucerApplication::findDemoRunnerProject() noexcept { auto buildsPath = getJUCEExamplesDirectoryPathFromGlobal().getChildFile ("DemoRunner").getChildFile ("Builds"); diff --git a/extras/Projucer/Source/Application/jucer_Application.h b/extras/Projucer/Source/Application/jucer_Application.h index be50b18f44..ee4d28340b 100644 --- a/extras/Projucer/Source/Application/jucer_Application.h +++ b/extras/Projucer/Source/Application/jucer_Application.h @@ -177,14 +177,15 @@ private: void deleteTemporaryFiles() const noexcept; void createExamplesPopupMenu (PopupMenu&) noexcept; - Array getSortedExampleDirectories() const noexcept; + Array getSortedExampleDirectories() noexcept; Array getSortedExampleFilesInDirectory (const File&) const noexcept; bool findWindowAndOpenPIP (const File&); + File getJUCEExamplesDirectoryPathFromGlobal() noexcept; void findAndLaunchExample (int); - File findDemoRunnerExecutable() const noexcept; - File findDemoRunnerProject() const noexcept; + File findDemoRunnerExecutable() noexcept; + File findDemoRunnerProject() noexcept; void launchDemoRunner(); int numExamples = 0; diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp index 73c14677e8..fb10db21e7 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp +++ b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp @@ -403,16 +403,6 @@ bool isPIPFile (const File& file) noexcept return false; } -File getJUCEExamplesDirectoryPathFromGlobal() noexcept -{ - auto globalPath = getAppSettings().getStoredPath (Ids::jucePath).toString(); - - if (globalPath.isNotEmpty()) - return File (getAppSettings().getStoredPath (Ids::jucePath).toString()).getChildFile ("examples"); - - return {}; -} - bool isValidJUCEExamplesDirectory (const File& directory) noexcept { if (! directory.exists() || ! directory.isDirectory() || ! directory.containsSubDirectories()) diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h index 253e1618e2..7a6c1c068e 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h +++ b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h @@ -68,7 +68,6 @@ StringArray getModulesRequiredForAudioProcessor() noexcept; bool isPIPFile (const File&) noexcept; -File getJUCEExamplesDirectoryPathFromGlobal() noexcept; bool isValidJUCEExamplesDirectory (const File&) noexcept; //============================================================================== diff --git a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp index 72ea529fe5..33a9c504ec 100644 --- a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp +++ b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp @@ -395,12 +395,12 @@ Result PIPGenerator::setProjectSettings (ValueTree& jucerTree) if (useLocalCopy && isJUCEExample (pipFile)) { - auto examplesDirectory = getJUCEExamplesDirectoryPathFromGlobal(); + auto juceDir = getAppSettings().getStoredPath (Ids::jucePath).toString(); - if (isValidJUCEExamplesDirectory (examplesDirectory)) + if (juceDir.isNotEmpty() && isValidJUCEExamplesDirectory (File (juceDir).getChildFile ("examples"))) { defines += ((defines.isEmpty() ? "" : " ") + String ("PIP_JUCE_EXAMPLES_DIRECTORY=") - + Base64::toBase64 (examplesDirectory.getFullPathName())); + + Base64::toBase64 (File (juceDir).getChildFile ("examples").getFullPathName())); } else {