mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Projucer: Remove custom VST3 path options
This commit is contained in:
parent
74df988e9d
commit
521c250413
9 changed files with 9 additions and 51 deletions
|
|
@ -193,8 +193,6 @@ private:
|
||||||
"If you are building a legacy VST plug-in then this path should point to a VST2 SDK. "
|
"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. "
|
"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.");
|
"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)
|
if (getSelectedOS() != TargetOS::linux)
|
||||||
{
|
{
|
||||||
|
|
@ -247,7 +245,6 @@ private:
|
||||||
juceModulePathValue = settings.getStoredPath (Ids::defaultJuceModulePath, os);
|
juceModulePathValue = settings.getStoredPath (Ids::defaultJuceModulePath, os);
|
||||||
userModulePathValue = settings.getStoredPath (Ids::defaultUserModulePath, os);
|
userModulePathValue = settings.getStoredPath (Ids::defaultUserModulePath, os);
|
||||||
vstPathValue = settings.getStoredPath (Ids::vstLegacyPath, os);
|
vstPathValue = settings.getStoredPath (Ids::vstLegacyPath, os);
|
||||||
vst3PathValue = settings.getStoredPath (Ids::vst3Path, os);
|
|
||||||
rtasPathValue = settings.getStoredPath (Ids::rtasPath, os);
|
rtasPathValue = settings.getStoredPath (Ids::rtasPath, os);
|
||||||
aaxPathValue = settings.getStoredPath (Ids::aaxPath, os);
|
aaxPathValue = settings.getStoredPath (Ids::aaxPath, os);
|
||||||
androidSDKPathValue = settings.getStoredPath (Ids::androidSDKPath, os);
|
androidSDKPathValue = settings.getStoredPath (Ids::androidSDKPath, os);
|
||||||
|
|
@ -262,7 +259,6 @@ private:
|
||||||
juceModulePathValue .resetToDefault();
|
juceModulePathValue .resetToDefault();
|
||||||
userModulePathValue .resetToDefault();
|
userModulePathValue .resetToDefault();
|
||||||
vstPathValue .resetToDefault();
|
vstPathValue .resetToDefault();
|
||||||
vst3PathValue .resetToDefault();
|
|
||||||
rtasPathValue .resetToDefault();
|
rtasPathValue .resetToDefault();
|
||||||
aaxPathValue .resetToDefault();
|
aaxPathValue .resetToDefault();
|
||||||
androidSDKPathValue .resetToDefault();
|
androidSDKPathValue .resetToDefault();
|
||||||
|
|
@ -277,8 +273,7 @@ private:
|
||||||
Value selectedOSValue;
|
Value selectedOSValue;
|
||||||
|
|
||||||
ValueWithDefault jucePathValue, juceModulePathValue, userModulePathValue,
|
ValueWithDefault jucePathValue, juceModulePathValue, userModulePathValue,
|
||||||
vst3PathValue, vstPathValue, rtasPathValue, aaxPathValue,
|
vstPathValue, rtasPathValue, aaxPathValue, androidSDKPathValue, androidNDKPathValue,
|
||||||
androidSDKPathValue, androidNDKPathValue,
|
|
||||||
clionExePathValue, androidStudioExePathValue;
|
clionExePathValue, androidStudioExePathValue;
|
||||||
|
|
||||||
Viewport propertyViewport;
|
Viewport propertyViewport;
|
||||||
|
|
|
||||||
|
|
@ -686,7 +686,7 @@ namespace
|
||||||
|
|
||||||
static bool isValidPathIdentifier (const String& id, const String& os)
|
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";
|
|| id == "androidSDKPath" || id == "androidNDKPath" || id == "defaultJuceModulePath" || id == "defaultUserModulePath";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -848,7 +848,7 @@ namespace
|
||||||
<< std::endl
|
<< std::endl
|
||||||
<< " " << appName << " --set-global-search-path os identifier_to_set new_path" << 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: "
|
<< " 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
|
<< 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
|
<< " " << 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 "
|
<< " 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_VST3", false)
|
||||||
|| project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST", 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;
|
OwnedArray<LibraryModule> modules;
|
||||||
project.getEnabledModules().createRequiredModules (modules);
|
project.getEnabledModules().createRequiredModules (modules);
|
||||||
|
|
||||||
|
|
@ -471,9 +466,8 @@ private:
|
||||||
{
|
{
|
||||||
paths.addIfNotAlreadyThere (module->getFolder().getParentDirectory().getFullPathName());
|
paths.addIfNotAlreadyThere (module->getFolder().getParentDirectory().getFullPathName());
|
||||||
|
|
||||||
if (customVst3Path.isEmpty() && (project.isAudioPluginProject() || isVSTHost))
|
if (module->getID() == "juce_audio_processors" && (project.isAudioPluginProject() || isVSTHost))
|
||||||
if (module->getID() == "juce_audio_processors")
|
paths.addIfNotAlreadyThere (module->getFolder().getChildFile ("format_types").getChildFile ("VST3_SDK").getFullPathName());
|
||||||
paths.addIfNotAlreadyThere (module->getFolder().getChildFile ("format_types").getChildFile ("VST3_SDK").getFullPathName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return convertSearchPathsToAbsolute (paths);
|
return convertSearchPathsToAbsolute (paths);
|
||||||
|
|
|
||||||
|
|
@ -126,9 +126,6 @@ public:
|
||||||
vstLegacyPathValueWrapper.init ({ settings, Ids::vstLegacyFolder, nullptr },
|
vstLegacyPathValueWrapper.init ({ settings, Ids::vstLegacyFolder, nullptr },
|
||||||
getAppSettings().getStoredPath (Ids::vstLegacyPath, TargetOS::windows), TargetOS::windows);
|
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 },
|
aaxPathValueWrapper.init ({ settings, Ids::aaxFolder, nullptr },
|
||||||
getAppSettings().getStoredPath (Ids::aaxPath, TargetOS::windows), TargetOS::windows);
|
getAppSettings().getStoredPath (Ids::aaxPath, TargetOS::windows), TargetOS::windows);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -646,9 +646,6 @@ public:
|
||||||
vstLegacyPathValueWrapper.init ({ settings, Ids::vstLegacyFolder, nullptr },
|
vstLegacyPathValueWrapper.init ({ settings, Ids::vstLegacyFolder, nullptr },
|
||||||
getAppSettings().getStoredPath (Ids::vstLegacyPath, TargetOS::osx), TargetOS::osx);
|
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 },
|
aaxPathValueWrapper.init ({ settings, Ids::aaxFolder, nullptr },
|
||||||
getAppSettings().getStoredPath (Ids::aaxPath, TargetOS::osx), TargetOS::osx);
|
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.");
|
"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())
|
if (shouldBuildTargetType (build_tools::ProjectType::Target::AAXPlugIn) && project.shouldBuildAAX())
|
||||||
{
|
{
|
||||||
props.add (new FilePathPropertyComponent (aaxPathValueWrapper.wrappedValue, "AAX SDK Folder", true,
|
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()))
|
|| ((shouldBuildTargetType (build_tools::ProjectType::Target::VST3PlugIn) && project.shouldBuildVST3()) || project.isVST3PluginHost()))
|
||||||
{
|
{
|
||||||
addLegacyVSTFolderToPathIfSpecified();
|
addLegacyVSTFolderToPathIfSpecified();
|
||||||
addVST3FolderToPath();
|
addToExtraSearchPaths (getInternalVST3SDKPath(), 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -431,16 +423,6 @@ build_tools::RelativePath ProjectExporter::getInternalVST3SDKPath()
|
||||||
.getChildFile ("VST3_SDK");
|
.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()
|
void ProjectExporter::addAAXFoldersToPath()
|
||||||
{
|
{
|
||||||
auto aaxFolder = getAAXPathString();
|
auto aaxFolder = getAAXPathString();
|
||||||
|
|
|
||||||
|
|
@ -147,7 +147,6 @@ public:
|
||||||
bool shouldUseGNUExtensions() const { return gnuExtensionsValue.get(); }
|
bool shouldUseGNUExtensions() const { return gnuExtensionsValue.get(); }
|
||||||
|
|
||||||
String getVSTLegacyPathString() const { return vstLegacyPathValueWrapper.wrappedValue.get(); }
|
String getVSTLegacyPathString() const { return vstLegacyPathValueWrapper.wrappedValue.get(); }
|
||||||
String getVST3PathString() const { return vst3PathValueWrapper.wrappedValue.get(); }
|
|
||||||
String getAAXPathString() const { return aaxPathValueWrapper.wrappedValue.get(); }
|
String getAAXPathString() const { return aaxPathValueWrapper.wrappedValue.get(); }
|
||||||
String getRTASPathString() const { return rtasPathValueWrapper.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.
|
// 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
|
struct ValueWithDefaultWrapper : public Value::Listener
|
||||||
{
|
{
|
||||||
void init (const ValueWithDefault& vwd, ValueWithDefault global, TargetOS::OS targetOS)
|
void init (const ValueWithDefault& vwd, ValueWithDefault global, TargetOS::OS targetOS)
|
||||||
|
|
@ -388,7 +387,7 @@ protected:
|
||||||
TargetOS::OS os;
|
TargetOS::OS os;
|
||||||
};
|
};
|
||||||
|
|
||||||
ValueWithDefaultWrapper vstLegacyPathValueWrapper, vst3PathValueWrapper, rtasPathValueWrapper, aaxPathValueWrapper;
|
ValueWithDefaultWrapper vstLegacyPathValueWrapper, rtasPathValueWrapper, aaxPathValueWrapper;
|
||||||
|
|
||||||
ValueWithDefault targetLocationValue, extraCompilerFlagsValue, extraLinkerFlagsValue, externalLibrariesValue,
|
ValueWithDefault targetLocationValue, extraCompilerFlagsValue, extraLinkerFlagsValue, externalLibrariesValue,
|
||||||
userNotesValue, gnuExtensionsValue, bigIconValue, smallIconValue, extraPPDefsValue;
|
userNotesValue, gnuExtensionsValue, bigIconValue, smallIconValue, extraPPDefsValue;
|
||||||
|
|
@ -454,7 +453,6 @@ private:
|
||||||
void addCommonAudioPluginSettings();
|
void addCommonAudioPluginSettings();
|
||||||
void addLegacyVSTFolderToPathIfSpecified();
|
void addLegacyVSTFolderToPathIfSpecified();
|
||||||
build_tools::RelativePath getInternalVST3SDKPath();
|
build_tools::RelativePath getInternalVST3SDKPath();
|
||||||
void addVST3FolderToPath();
|
|
||||||
void addAAXFoldersToPath();
|
void addAAXFoldersToPath();
|
||||||
|
|
||||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectExporter)
|
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";
|
fileToCheckFor = "pluginterfaces/vst2.x/aeffect.h";
|
||||||
}
|
}
|
||||||
if (key == Ids::vst3Path)
|
|
||||||
{
|
|
||||||
fileToCheckFor = "base/source/baseiids.cpp";
|
|
||||||
}
|
|
||||||
else if (key == Ids::rtasPath)
|
else if (key == Ids::rtasPath)
|
||||||
{
|
{
|
||||||
fileToCheckFor = "AlturaPorts/TDMPlugIns/PlugInLibrary/EffectClasses/CEffectProcessMIDI.cpp";
|
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");
|
return (os == TargetOS::windows ? "C:\\modules" : "~/modules");
|
||||||
}
|
}
|
||||||
else if (key == Ids::vstLegacyPath || key == Ids::vst3Path)
|
else if (key == Ids::vstLegacyPath)
|
||||||
{
|
{
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,6 @@ namespace Ids
|
||||||
DECLARE_ID (rtasFolder);
|
DECLARE_ID (rtasFolder);
|
||||||
DECLARE_ID (auFolder);
|
DECLARE_ID (auFolder);
|
||||||
DECLARE_ID (vstLegacyPath);
|
DECLARE_ID (vstLegacyPath);
|
||||||
DECLARE_ID (vst3Path);
|
|
||||||
DECLARE_ID (rtasPath);
|
DECLARE_ID (rtasPath);
|
||||||
DECLARE_ID (aaxPath);
|
DECLARE_ID (aaxPath);
|
||||||
DECLARE_ID (flags);
|
DECLARE_ID (flags);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue