@@ -193,8 +193,6 @@ private: | |||
"If you are building a legacy VST plug-in then this path should point to a VST2 SDK. " | |||
"The VST2 SDK can be obtained from the vstsdk3610_11_06_2018_build_37 (or older) VST3 SDK or JUCE version 5.3.2. " | |||
"You also need a VST2 license from Steinberg to distribute VST2 plug-ins."); | |||
builder.add (new FilePathPropertyComponent (vst3PathValue, "VST3 SDK", true, isThisOS), | |||
"This path can be set to use a custom VST3 SDK instead of the one which is embedded in JUCE."); | |||
if (getSelectedOS() != TargetOS::linux) | |||
{ | |||
@@ -247,7 +245,6 @@ private: | |||
juceModulePathValue = settings.getStoredPath (Ids::defaultJuceModulePath, os); | |||
userModulePathValue = settings.getStoredPath (Ids::defaultUserModulePath, os); | |||
vstPathValue = settings.getStoredPath (Ids::vstLegacyPath, os); | |||
vst3PathValue = settings.getStoredPath (Ids::vst3Path, os); | |||
rtasPathValue = settings.getStoredPath (Ids::rtasPath, os); | |||
aaxPathValue = settings.getStoredPath (Ids::aaxPath, os); | |||
androidSDKPathValue = settings.getStoredPath (Ids::androidSDKPath, os); | |||
@@ -262,7 +259,6 @@ private: | |||
juceModulePathValue .resetToDefault(); | |||
userModulePathValue .resetToDefault(); | |||
vstPathValue .resetToDefault(); | |||
vst3PathValue .resetToDefault(); | |||
rtasPathValue .resetToDefault(); | |||
aaxPathValue .resetToDefault(); | |||
androidSDKPathValue .resetToDefault(); | |||
@@ -277,8 +273,7 @@ private: | |||
Value selectedOSValue; | |||
ValueWithDefault jucePathValue, juceModulePathValue, userModulePathValue, | |||
vst3PathValue, vstPathValue, rtasPathValue, aaxPathValue, | |||
androidSDKPathValue, androidNDKPathValue, | |||
vstPathValue, rtasPathValue, aaxPathValue, androidSDKPathValue, androidNDKPathValue, | |||
clionExePathValue, androidStudioExePathValue; | |||
Viewport propertyViewport; | |||
@@ -686,7 +686,7 @@ namespace | |||
static bool isValidPathIdentifier (const String& id, const String& os) | |||
{ | |||
return id == "vst3Path" || id == "vstLegacyPath" || (id == "aaxPath" && os != "linux") || (id == "rtasPath" && os != "linux") | |||
return id == "vstLegacyPath" || (id == "aaxPath" && os != "linux") || (id == "rtasPath" && os != "linux") | |||
|| id == "androidSDKPath" || id == "androidNDKPath" || id == "defaultJuceModulePath" || id == "defaultUserModulePath"; | |||
} | |||
@@ -848,7 +848,7 @@ namespace | |||
<< std::endl | |||
<< " " << appName << " --set-global-search-path os identifier_to_set new_path" << std::endl | |||
<< " Sets the global path for a specified os and identifier. The os should be either osx, windows or linux and the identifiers can be any of the following: " | |||
<< "defaultJuceModulePath, defaultUserModulePath, vst3Path, vstLegacyPath, aaxPath (not valid on linux), rtasPath (not valid on linux), androidSDKPath or androidNDKPath. " << std::endl | |||
<< "defaultJuceModulePath, defaultUserModulePath, vstLegacyPath, aaxPath (not valid on linux), rtasPath (not valid on linux), androidSDKPath or androidNDKPath. " << std::endl | |||
<< std::endl | |||
<< " " << appName << " --create-project-from-pip path/to/PIP path/to/output path/to/JUCE/modules (optional) path/to/user/modules (optional)" << std::endl | |||
<< " Generates a folder containing a JUCE project in the specified output path using the specified PIP file. Use the optional JUCE and user module paths to override " | |||
@@ -459,11 +459,6 @@ private: | |||
&& (project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST3", false) | |||
|| project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST", false)); | |||
auto customVst3Path = getAppSettings().getStoredPath (Ids::vst3Path, TargetOS::getThisOS()).get().toString(); | |||
if (customVst3Path.isNotEmpty() && (project.isAudioPluginProject() || isVSTHost)) | |||
paths.add (customVst3Path); | |||
OwnedArray<LibraryModule> modules; | |||
project.getEnabledModules().createRequiredModules (modules); | |||
@@ -471,9 +466,8 @@ private: | |||
{ | |||
paths.addIfNotAlreadyThere (module->getFolder().getParentDirectory().getFullPathName()); | |||
if (customVst3Path.isEmpty() && (project.isAudioPluginProject() || isVSTHost)) | |||
if (module->getID() == "juce_audio_processors") | |||
paths.addIfNotAlreadyThere (module->getFolder().getChildFile ("format_types").getChildFile ("VST3_SDK").getFullPathName()); | |||
if (module->getID() == "juce_audio_processors" && (project.isAudioPluginProject() || isVSTHost)) | |||
paths.addIfNotAlreadyThere (module->getFolder().getChildFile ("format_types").getChildFile ("VST3_SDK").getFullPathName()); | |||
} | |||
return convertSearchPathsToAbsolute (paths); | |||
@@ -126,9 +126,6 @@ public: | |||
vstLegacyPathValueWrapper.init ({ settings, Ids::vstLegacyFolder, nullptr }, | |||
getAppSettings().getStoredPath (Ids::vstLegacyPath, TargetOS::windows), TargetOS::windows); | |||
vst3PathValueWrapper.init ({ settings, Ids::vst3Folder, nullptr }, | |||
getAppSettings().getStoredPath (Ids::vst3Path, TargetOS::windows), TargetOS::windows); | |||
aaxPathValueWrapper.init ({ settings, Ids::aaxFolder, nullptr }, | |||
getAppSettings().getStoredPath (Ids::aaxPath, TargetOS::windows), TargetOS::windows); | |||
@@ -646,9 +646,6 @@ public: | |||
vstLegacyPathValueWrapper.init ({ settings, Ids::vstLegacyFolder, nullptr }, | |||
getAppSettings().getStoredPath (Ids::vstLegacyPath, TargetOS::osx), TargetOS::osx); | |||
vst3PathValueWrapper.init ({ settings, Ids::vst3Folder, nullptr }, | |||
getAppSettings().getStoredPath (Ids::vst3Path, TargetOS::osx), TargetOS::osx); | |||
aaxPathValueWrapper.init ({ settings, Ids::aaxFolder, nullptr }, | |||
getAppSettings().getStoredPath (Ids::aaxPath, TargetOS::osx), TargetOS::osx); | |||
@@ -308,14 +308,6 @@ void ProjectExporter::createPropertyEditors (PropertyListBuilder& props) | |||
"This can be an absolute path, or a path relative to the Projucer project file."); | |||
} | |||
if ((shouldBuildTargetType (build_tools::ProjectType::Target::VST3PlugIn) && project.shouldBuildVST3()) || (project.isVST3PluginHost() && supportsTargetType (build_tools::ProjectType::Target::VST3PlugIn))) | |||
{ | |||
props.add (new FilePathPropertyComponent (vst3PathValueWrapper.wrappedValue, "VST3 SDK Folder", true, | |||
getTargetOSForExporter() == TargetOS::getThisOS(), "*", project.getProjectFolder()), | |||
"If you're building a VST3 plug-in or host, you can use this field to override the global VST3 SDK path with a project-specific path. " | |||
"This can be an absolute path, or a path relative to the Projucer project file."); | |||
} | |||
if (shouldBuildTargetType (build_tools::ProjectType::Target::AAXPlugIn) && project.shouldBuildAAX()) | |||
{ | |||
props.add (new FilePathPropertyComponent (aaxPathValueWrapper.wrappedValue, "AAX SDK Folder", true, | |||
@@ -404,7 +396,7 @@ void ProjectExporter::addVSTPathsIfPluginOrHost() | |||
|| ((shouldBuildTargetType (build_tools::ProjectType::Target::VST3PlugIn) && project.shouldBuildVST3()) || project.isVST3PluginHost())) | |||
{ | |||
addLegacyVSTFolderToPathIfSpecified(); | |||
addVST3FolderToPath(); | |||
addToExtraSearchPaths (getInternalVST3SDKPath(), 0); | |||
} | |||
} | |||
@@ -431,16 +423,6 @@ build_tools::RelativePath ProjectExporter::getInternalVST3SDKPath() | |||
.getChildFile ("VST3_SDK"); | |||
} | |||
void ProjectExporter::addVST3FolderToPath() | |||
{ | |||
auto vst3Folder = getVST3PathString(); | |||
if (vst3Folder.isNotEmpty()) | |||
addToExtraSearchPaths (build_tools::RelativePath (vst3Folder, build_tools::RelativePath::projectFolder), 0); | |||
else | |||
addToExtraSearchPaths (getInternalVST3SDKPath(), 0); | |||
} | |||
void ProjectExporter::addAAXFoldersToPath() | |||
{ | |||
auto aaxFolder = getAAXPathString(); | |||
@@ -147,7 +147,6 @@ public: | |||
bool shouldUseGNUExtensions() const { return gnuExtensionsValue.get(); } | |||
String getVSTLegacyPathString() const { return vstLegacyPathValueWrapper.wrappedValue.get(); } | |||
String getVST3PathString() const { return vst3PathValueWrapper.wrappedValue.get(); } | |||
String getAAXPathString() const { return aaxPathValueWrapper.wrappedValue.get(); } | |||
String getRTASPathString() const { return rtasPathValueWrapper.wrappedValue.get(); } | |||
@@ -359,7 +358,7 @@ protected: | |||
//============================================================================== | |||
// Wraps a ValueWithDefault object that has a default which depends on a global value. | |||
// Used for the VST3, RTAS and AAX project-specific path options. | |||
// Used for the VST, RTAS and AAX project-specific path options. | |||
struct ValueWithDefaultWrapper : public Value::Listener | |||
{ | |||
void init (const ValueWithDefault& vwd, ValueWithDefault global, TargetOS::OS targetOS) | |||
@@ -388,7 +387,7 @@ protected: | |||
TargetOS::OS os; | |||
}; | |||
ValueWithDefaultWrapper vstLegacyPathValueWrapper, vst3PathValueWrapper, rtasPathValueWrapper, aaxPathValueWrapper; | |||
ValueWithDefaultWrapper vstLegacyPathValueWrapper, rtasPathValueWrapper, aaxPathValueWrapper; | |||
ValueWithDefault targetLocationValue, extraCompilerFlagsValue, extraLinkerFlagsValue, externalLibrariesValue, | |||
userNotesValue, gnuExtensionsValue, bigIconValue, smallIconValue, extraPPDefsValue; | |||
@@ -454,7 +453,6 @@ private: | |||
void addCommonAudioPluginSettings(); | |||
void addLegacyVSTFolderToPathIfSpecified(); | |||
build_tools::RelativePath getInternalVST3SDKPath(); | |||
void addVST3FolderToPath(); | |||
void addAAXFoldersToPath(); | |||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectExporter) | |||
@@ -272,10 +272,6 @@ static bool isGlobalPathValid (const File& relativeTo, const Identifier& key, co | |||
{ | |||
fileToCheckFor = "pluginterfaces/vst2.x/aeffect.h"; | |||
} | |||
if (key == Ids::vst3Path) | |||
{ | |||
fileToCheckFor = "base/source/baseiids.cpp"; | |||
} | |||
else if (key == Ids::rtasPath) | |||
{ | |||
fileToCheckFor = "AlturaPorts/TDMPlugIns/PlugInLibrary/EffectClasses/CEffectProcessMIDI.cpp"; | |||
@@ -382,7 +378,7 @@ static String getFallbackPathForOS (const Identifier& key, DependencyPathOS os) | |||
{ | |||
return (os == TargetOS::windows ? "C:\\modules" : "~/modules"); | |||
} | |||
else if (key == Ids::vstLegacyPath || key == Ids::vst3Path) | |||
else if (key == Ids::vstLegacyPath) | |||
{ | |||
return {}; | |||
} | |||
@@ -67,7 +67,6 @@ namespace Ids | |||
DECLARE_ID (rtasFolder); | |||
DECLARE_ID (auFolder); | |||
DECLARE_ID (vstLegacyPath); | |||
DECLARE_ID (vst3Path); | |||
DECLARE_ID (rtasPath); | |||
DECLARE_ID (aaxPath); | |||
DECLARE_ID (flags); | |||