Browse Source

Projucer: Only add plug-in properties to plug-in projects

tags/2021-05-28
ed 5 years ago
parent
commit
fdc9831e60
11 changed files with 46 additions and 45 deletions
  1. +3
    -3
      extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp
  2. +1
    -1
      extras/Projucer/Source/Project/jucer_Module.cpp
  3. +1
    -1
      extras/Projucer/Source/Project/jucer_Project.cpp
  4. +11
    -13
      extras/Projucer/Source/Project/jucer_Project.h
  5. +1
    -1
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h
  6. +1
    -1
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h
  7. +6
    -6
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h
  8. +4
    -3
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h
  9. +3
    -3
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
  10. +13
    -11
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
  11. +2
    -2
      extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h

+ 3
- 3
extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp View File

@@ -380,7 +380,7 @@ private:
auto isVSTHost = project.getEnabledModules().isModuleEnabled ("juce_audio_processors") auto isVSTHost = project.getEnabledModules().isModuleEnabled ("juce_audio_processors")
&& (project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST3") || project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST")); && (project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST3") || project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST"));
auto isPluginProject = proj.getProjectType().isAudioPlugin();
auto isPluginProject = proj.isAudioPluginProject();
OwnedArray<LibraryModule> modules; OwnedArray<LibraryModule> modules;
proj.getEnabledModules().createRequiredModules (modules); proj.getEnabledModules().createRequiredModules (modules);
@@ -471,7 +471,7 @@ private:
auto customVst3Path = getAppSettings().getStoredPath (Ids::vst3Path, TargetOS::getThisOS()).get().toString(); auto customVst3Path = getAppSettings().getStoredPath (Ids::vst3Path, TargetOS::getThisOS()).get().toString();
if (customVst3Path.isNotEmpty() && (project.getProjectType().isAudioPlugin() || isVSTHost))
if (customVst3Path.isNotEmpty() && (project.isAudioPluginProject() || isVSTHost))
paths.add (customVst3Path); paths.add (customVst3Path);
OwnedArray<LibraryModule> modules; OwnedArray<LibraryModule> modules;
@@ -481,7 +481,7 @@ private:
{ {
paths.addIfNotAlreadyThere (module->getFolder().getParentDirectory().getFullPathName()); paths.addIfNotAlreadyThere (module->getFolder().getParentDirectory().getFullPathName());
if (customVst3Path.isEmpty() && (project.getProjectType().isAudioPlugin() || isVSTHost))
if (customVst3Path.isEmpty() && (project.isAudioPluginProject() || isVSTHost))
if (module->getID() == "juce_audio_processors") 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());
} }


+ 1
- 1
extras/Projucer/Source/Project/jucer_Module.cpp View File

@@ -571,7 +571,7 @@ bool EnabledModuleList::isModuleEnabled (const String& moduleID) const
bool EnabledModuleList::isAudioPluginModuleMissing() const bool EnabledModuleList::isAudioPluginModuleMissing() const
{ {
return project.getProjectType().isAudioPlugin()
return project.isAudioPluginProject()
&& ! isModuleEnabled ("juce_audio_plugin_client"); && ! isModuleEnabled ("juce_audio_plugin_client");
} }


+ 1
- 1
extras/Projucer/Source/Project/jucer_Project.cpp View File

@@ -1006,7 +1006,7 @@ void Project::createPropertyEditors (PropertyListBuilder& props)
props.add (new TextPropertyComponent (bundleIdentifierValue, "Bundle Identifier", 256, false), props.add (new TextPropertyComponent (bundleIdentifierValue, "Bundle Identifier", 256, false),
"A unique identifier for this product, mainly for use in OSX/iOS builds. It should be something like 'com.yourcompanyname.yourproductname'"); "A unique identifier for this product, mainly for use in OSX/iOS builds. It should be something like 'com.yourcompanyname.yourproductname'");
if (getProjectType().isAudioPlugin())
if (isAudioPluginProject())
createAudioPluginPropertyEditors (props); createAudioPluginPropertyEditors (props);
{ {


+ 11
- 13
extras/Projucer/Source/Project/jucer_Project.h View File

@@ -147,7 +147,6 @@ public:
String getVSTNumMIDIInputsString() const { return pluginVSTNumMidiInputsValue.get(); } String getVSTNumMIDIInputsString() const { return pluginVSTNumMidiInputsValue.get(); }
String getVSTNumMIDIOutputsString() const { return pluginVSTNumMidiOutputsValue.get(); } String getVSTNumMIDIOutputsString() const { return pluginVSTNumMidiOutputsValue.get(); }
//==============================================================================
static bool checkMultiChoiceVar (const ValueWithDefault& valueToCheck, Identifier idToCheck) noexcept static bool checkMultiChoiceVar (const ValueWithDefault& valueToCheck, Identifier idToCheck) noexcept
{ {
if (! valueToCheck.get().isArray()) if (! valueToCheck.get().isArray())
@@ -161,18 +160,18 @@ public:
return false; return false;
} }
//==============================================================================
bool shouldBuildVST() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::buildVST); }
bool shouldBuildVST3() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::buildVST3); }
bool shouldBuildAU() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::buildAU); }
bool shouldBuildAUv3() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::buildAUv3); }
bool shouldBuildRTAS() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::buildRTAS); }
bool shouldBuildAAX() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::buildAAX); }
bool shouldBuildStandalonePlugin() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::buildStandalone); }
bool shouldBuildUnityPlugin() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::buildUnity); }
bool shouldEnableIAA() const { return checkMultiChoiceVar (pluginFormatsValue, Ids::enableIAA); }
bool isAudioPluginProject() const { return getProjectType().isAudioPlugin(); }
bool shouldBuildVST() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::buildVST); }
bool shouldBuildVST3() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::buildVST3); }
bool shouldBuildAU() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::buildAU); }
bool shouldBuildAUv3() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::buildAUv3); }
bool shouldBuildRTAS() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::buildRTAS); }
bool shouldBuildAAX() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::buildAAX); }
bool shouldBuildStandalonePlugin() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::buildStandalone); }
bool shouldBuildUnityPlugin() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::buildUnity); }
bool shouldEnableIAA() const { return isAudioPluginProject() && checkMultiChoiceVar (pluginFormatsValue, Ids::enableIAA); }
//==============================================================================
bool isPluginSynth() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginIsSynth); } bool isPluginSynth() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginIsSynth); }
bool pluginWantsMidiInput() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginWantsMidiIn); } bool pluginWantsMidiInput() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginWantsMidiIn); }
bool pluginProducesMidiOutput() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginProducesMidiOut); } bool pluginProducesMidiOutput() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginProducesMidiOut); }
@@ -183,7 +182,6 @@ public:
bool isPluginAAXBypassDisabled() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginAAXDisableBypass); } bool isPluginAAXBypassDisabled() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginAAXDisableBypass); }
bool isPluginAAXMultiMonoDisabled() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginAAXDisableMultiMono); } bool isPluginAAXMultiMonoDisabled() const { return checkMultiChoiceVar (pluginCharacteristicsValue, Ids::pluginAAXDisableMultiMono); }
//==============================================================================
static StringArray getAllAUMainTypeStrings() noexcept; static StringArray getAllAUMainTypeStrings() noexcept;
static Array<var> getAllAUMainTypeVars() noexcept; static Array<var> getAllAUMainTypeVars() noexcept;
Array<var> getDefaultAUMainTypes() const noexcept; Array<var> getDefaultAUMainTypes() const noexcept;


+ 1
- 1
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h View File

@@ -1350,7 +1350,7 @@ private:
mo << " \"" << file.toUnixStyle() << "\"" << newLine; mo << " \"" << file.toUnixStyle() << "\"" << newLine;
if ((! projectItem.shouldBeCompiled()) || (! shouldFileBeCompiledByDefault (f)) if ((! projectItem.shouldBeCompiled()) || (! shouldFileBeCompiledByDefault (f))
|| (getProject().getProjectType().isAudioPlugin()
|| (getProject().isAudioPluginProject()
&& targetType != ProjectType::Target::SharedCodeTarget && targetType != ProjectType::Target::SharedCodeTarget
&& targetType != ProjectType::Target::StandalonePlugIn)) && targetType != ProjectType::Target::StandalonePlugIn))
{ {


+ 1
- 1
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h View File

@@ -304,7 +304,7 @@ private:
template <class Target, class Exporter> template <class Target, class Exporter>
void getFileInfoList (Target& target, Exporter& exporter, const Project::Item& projectItem, std::vector<std::tuple<String, bool, String>>& fileInfoList) const void getFileInfoList (Target& target, Exporter& exporter, const Project::Item& projectItem, std::vector<std::tuple<String, bool, String>>& fileInfoList) const
{ {
auto targetType = (getProject().getProjectType().isAudioPlugin() ? target.type : Target::Type::SharedCodeTarget);
auto targetType = (getProject().isAudioPluginProject() ? target.type : Target::Type::SharedCodeTarget);
if (projectItem.isGroup()) if (projectItem.isGroup())
{ {


+ 6
- 6
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h View File

@@ -432,7 +432,7 @@ private:
if (config.exporter.isLinux()) if (config.exporter.isLinux())
{ {
if (target.isDynamicLibrary() || getProject().getProjectType().isAudioPlugin())
if (target.isDynamicLibrary() || getProject().isAudioPluginProject())
flags.add ("-fPIC"); flags.add ("-fPIC");
auto packages = getPackages(); auto packages = getPackages();
@@ -495,7 +495,7 @@ private:
{ {
auto librarySearchPaths = config.getLibrarySearchPaths(); auto librarySearchPaths = config.getLibrarySearchPaths();
if (getProject().getProjectType().isAudioPlugin() && target.type != ProjectType::Target::SharedCodeTarget)
if (getProject().isAudioPluginProject() && target.type != ProjectType::Target::SharedCodeTarget)
librarySearchPaths.add (RelativePath (getSharedCodePath (config), RelativePath::buildTargetFolder).getParentDirectory().toUnixStyle().quoted()); librarySearchPaths.add (RelativePath (getSharedCodePath (config), RelativePath::buildTargetFolder).getParentDirectory().toUnixStyle().quoted());
return librarySearchPaths; return librarySearchPaths;
@@ -601,7 +601,7 @@ private:
xml.createNewChildElement ("Option")->setAttribute ("type", getTypeIndex (target.type)); xml.createNewChildElement ("Option")->setAttribute ("type", getTypeIndex (target.type));
xml.createNewChildElement ("Option")->setAttribute ("compiler", "gcc"); xml.createNewChildElement ("Option")->setAttribute ("compiler", "gcc");
if (getProject().getProjectType().isAudioPlugin() && target.type != ProjectType::Target::SharedCodeTarget)
if (getProject().isAudioPluginProject() && target.type != ProjectType::Target::SharedCodeTarget)
xml.createNewChildElement ("Option")->setAttribute ("external_deps", getSharedCodePath (config)); xml.createNewChildElement ("Option")->setAttribute ("external_deps", getSharedCodePath (config));
{ {
@@ -635,7 +635,7 @@ private:
{ {
auto* linker = xml.createNewChildElement ("Linker"); auto* linker = xml.createNewChildElement ("Linker");
if (getProject().getProjectType().isAudioPlugin() && target.type != ProjectType::Target::SharedCodeTarget)
if (getProject().isAudioPluginProject() && target.type != ProjectType::Target::SharedCodeTarget)
setAddOption (*linker, "option", getSharedCodePath (config).quoted()); setAddOption (*linker, "option", getSharedCodePath (config).quoted());
for (auto& flag : getLinkerFlags (config, target)) for (auto& flag : getLinkerFlags (config, target))
@@ -747,7 +747,7 @@ private:
// the single target // the single target
CodeBlocksTarget& getMainTarget() const CodeBlocksTarget& getMainTarget() const
{ {
if (getProject().getProjectType().isAudioPlugin())
if (getProject().isAudioPluginProject())
return getTargetWithType (ProjectType::Target::SharedCodeTarget); return getTargetWithType (ProjectType::Target::SharedCodeTarget);
for (auto* target : targets) for (auto* target : targets)
@@ -761,7 +761,7 @@ private:
CodeBlocksTarget& getTargetForProjectItem (const Project::Item& projectItem) const CodeBlocksTarget& getTargetForProjectItem (const Project::Item& projectItem) const
{ {
if (getProject().getProjectType().isAudioPlugin())
if (getProject().isAudioPluginProject())
{ {
if (! projectItem.shouldBeCompiled()) if (! projectItem.shouldBeCompiled())
return getTargetWithType (ProjectType::Target::SharedCodeTarget); return getTargetWithType (ProjectType::Target::SharedCodeTarget);


+ 4
- 3
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h View File

@@ -196,7 +196,8 @@ public:
void createConfigProperties (PropertyListBuilder& props) override void createConfigProperties (PropertyListBuilder& props) override
{ {
addVisualStudioPluginInstallPathProperties (props);
if (project.isAudioPluginProject())
addVisualStudioPluginInstallPathProperties (props);
props.add (new ChoicePropertyComponent (architectureTypeValue, "Architecture", props.add (new ChoicePropertyComponent (architectureTypeValue, "Architecture",
{ get32BitArchName(), get64BitArchName() }, { get32BitArchName(), get64BitArchName() },
@@ -741,7 +742,7 @@ public:
//============================================================================== //==============================================================================
void addFilesToCompile (const Project::Item& projectItem, XmlElement& cpps, XmlElement& headers, XmlElement& otherFiles) const void addFilesToCompile (const Project::Item& projectItem, XmlElement& cpps, XmlElement& headers, XmlElement& otherFiles) const
{ {
auto targetType = (getOwner().getProject().getProjectType().isAudioPlugin() ? type : SharedCodeTarget);
auto targetType = (getOwner().getProject().isAudioPluginProject() ? type : SharedCodeTarget);
if (projectItem.isGroup()) if (projectItem.isGroup())
{ {
@@ -823,7 +824,7 @@ public:
bool addFilesToFilter (const Project::Item& projectItem, const String& path, bool addFilesToFilter (const Project::Item& projectItem, const String& path,
XmlElement& cpps, XmlElement& headers, XmlElement& otherFiles, XmlElement& groups) const XmlElement& cpps, XmlElement& headers, XmlElement& otherFiles, XmlElement& groups) const
{ {
auto targetType = (getOwner().getProject().getProjectType().isAudioPlugin() ? type : SharedCodeTarget);
auto targetType = (getOwner().getProject().isAudioPluginProject() ? type : SharedCodeTarget);
if (projectItem.isGroup()) if (projectItem.isGroup())
{ {


+ 3
- 3
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h View File

@@ -718,7 +718,7 @@ private:
} }
else else
{ {
if (! getProject().getProjectType().isAudioPlugin())
if (! getProject().isAudioPluginProject())
out << "all : " << target->getBuildProduct() << newLine << newLine; out << "all : " << target->getBuildProduct() << newLine << newLine;
target->writeTargetLine (out, packages); target->writeTargetLine (out, packages);
@@ -903,7 +903,7 @@ private:
{ {
Array<std::pair<File, String>> targetFiles; Array<std::pair<File, String>> targetFiles;
auto targetType = (p.getProjectType().isAudioPlugin() ? target->type : MakefileTarget::SharedCodeTarget);
auto targetType = (p.isAudioPluginProject() ? target->type : MakefileTarget::SharedCodeTarget);
for (auto& f : files) for (auto& f : files)
if (p.getTargetTypeFromFilePath (f.first, true) == targetType) if (p.getTargetTypeFromFilePath (f.first, true) == targetType)
@@ -955,7 +955,7 @@ private:
phonyTargetLine << ".PHONY: clean all strip"; phonyTargetLine << ".PHONY: clean all strip";
if (! getProject().getProjectType().isAudioPlugin())
if (! getProject().isAudioPluginProject())
return phonyTargetLine.toString(); return phonyTargetLine.toString();
for (auto target : targets) for (auto target : targets)


+ 13
- 11
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h View File

@@ -275,7 +275,7 @@ public:
"This way you can specify them for OS X and iOS separately, and modify the content of the resource folders " "This way you can specify them for OS X and iOS separately, and modify the content of the resource folders "
"without re-saving the Projucer project."); "without re-saving the Projucer project.");
if (getProject().getProjectType().isAudioPlugin())
if (getProject().isAudioPluginProject())
props.add (new ChoicePropertyComponent (duplicateAppExResourcesFolderValue, "Add Duplicate Resources Folder to App Extension"), props.add (new ChoicePropertyComponent (duplicateAppExResourcesFolderValue, "Add Duplicate Resources Folder to App Extension"),
"Disable this to prevent the Projucer from creating a duplicate resources folder for AUv3 app extensions."); "Disable this to prevent the Projucer from creating a duplicate resources folder for AUv3 app extensions.");
@@ -674,7 +674,9 @@ protected:
//============================================================================== //==============================================================================
void createConfigProperties (PropertyListBuilder& props) override void createConfigProperties (PropertyListBuilder& props) override
{ {
addXcodePluginInstallPathProperties (props);
if (project.isAudioPluginProject())
addXcodePluginInstallPathProperties (props);
addRecommendedLLVMCompilerWarningsProperty (props); addRecommendedLLVMCompilerWarningsProperty (props);
addGCCOptimisationProperty (props); addGCCOptimisationProperty (props);
@@ -1024,7 +1026,7 @@ public:
{ {
Array<SourceFileInfo> result; Array<SourceFileInfo> result;
auto targetType = (owner.getProject().getProjectType().isAudioPlugin() ? type : SharedCodeTarget);
auto targetType = (owner.getProject().isAudioPluginProject() ? type : SharedCodeTarget);
if (projectItem.isGroup()) if (projectItem.isGroup())
{ {
@@ -1195,7 +1197,7 @@ public:
|| (owner.isiOS() && owner.isiCloudPermissionsEnabled())) || (owner.isiOS() && owner.isiCloudPermissionsEnabled()))
return true; return true;
if (owner.project.getProjectType().isAudioPlugin()
if (owner.project.isAudioPluginProject()
&& ((owner.isOSX() && type == Target::AudioUnitv3PlugIn) && ((owner.isOSX() && type == Target::AudioUnitv3PlugIn)
|| (owner.isiOS() && type == Target::StandalonePlugIn && owner.getProject().shouldEnableIAA()))) || (owner.isiOS() && type == Target::StandalonePlugIn && owner.getProject().shouldEnableIAA())))
return true; return true;
@@ -1512,7 +1514,7 @@ public:
librarySearchPaths.add (owner.getSearchPathForStaticLibrary (lib)); librarySearchPaths.add (owner.getSearchPathForStaticLibrary (lib));
} }
if (owner.project.getProjectType().isAudioPlugin())
if (owner.project.isAudioPluginProject())
{ {
if (owner.getTargetOfType (Target::SharedCodeTarget) != nullptr) if (owner.getTargetOfType (Target::SharedCodeTarget) != nullptr)
{ {
@@ -2233,7 +2235,7 @@ private:
auto sourceFiles = target->sourceIDs; auto sourceFiles = target->sourceIDs;
if (target->type == XcodeTarget::SharedCodeTarget if (target->type == XcodeTarget::SharedCodeTarget
|| (! project.getProjectType().isAudioPlugin()))
|| (! project.isAudioPluginProject()))
sourceFiles.addArray (sourceIDs); sourceFiles.addArray (sourceIDs);
target->addBuildPhase ("PBXSourcesBuildPhase", sourceFiles); target->addBuildPhase ("PBXSourcesBuildPhase", sourceFiles);
@@ -2244,11 +2246,11 @@ private:
target->addShellScriptBuildPhase ("Post-build script", getPostBuildScript()); target->addShellScriptBuildPhase ("Post-build script", getPostBuildScript());
if (project.getProjectType().isAudioPlugin() && project.shouldBuildAUv3()
if (project.isAudioPluginProject() && project.shouldBuildAUv3()
&& project.shouldBuildStandalonePlugin() && target->type == XcodeTarget::StandalonePlugIn) && project.shouldBuildStandalonePlugin() && target->type == XcodeTarget::StandalonePlugIn)
embedAppExtension(); embedAppExtension();
if (project.getProjectType().isAudioPlugin() && project.shouldBuildUnityPlugin()
if (project.isAudioPluginProject() && project.shouldBuildUnityPlugin()
&& target->type == XcodeTarget::UnityPlugIn) && target->type == XcodeTarget::UnityPlugIn)
embedUnityScript(); embedUnityScript();
@@ -2355,7 +2357,7 @@ private:
{ {
StringArray dependencies; StringArray dependencies;
if (project.getProjectType().isAudioPlugin())
if (project.isAudioPluginProject())
{ {
if (target.type == XcodeTarget::StandalonePlugIn) // depends on AUv3 and shared code if (target.type == XcodeTarget::StandalonePlugIn) // depends on AUv3 and shared code
{ {
@@ -3114,7 +3116,7 @@ private:
{ {
StringPairArray entitlements; StringPairArray entitlements;
if (project.getProjectType().isAudioPlugin())
if (project.isAudioPluginProject())
{ {
if (isiOS() && project.shouldEnableIAA()) if (isiOS() && project.shouldEnableIAA())
entitlements.set ("inter-app-audio", "<true/>"); entitlements.set ("inter-app-audio", "<true/>");
@@ -3144,7 +3146,7 @@ private:
for (auto& option : getHardenedRuntimeOptions()) for (auto& option : getHardenedRuntimeOptions())
entitlements.set (option, "<true/>"); entitlements.set (option, "<true/>");
if (isAppSandboxEnabled() || (project.getProjectType().isAudioPlugin() && target.type == XcodeTarget::AudioUnitv3PlugIn))
if (isAppSandboxEnabled() || (project.isAudioPluginProject() && target.type == XcodeTarget::AudioUnitv3PlugIn))
{ {
entitlements.set ("com.apple.security.app-sandbox", "<true/>"); entitlements.set ("com.apple.security.app-sandbox", "<true/>");


+ 2
- 2
extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h View File

@@ -95,7 +95,7 @@ public:
auto projectRootHash = project.getProjectRoot().toXmlString().hashCode(); auto projectRootHash = project.getProjectRoot().toXmlString().hashCode();
if (project.getProjectType().isAudioPlugin())
if (project.isAudioPluginProject())
{ {
writePluginCharacteristicsFile(); writePluginCharacteristicsFile();
@@ -157,7 +157,7 @@ public:
if (errors.size() == 0) if (errors.size() == 0)
{ {
if (project.getProjectType().isAudioPlugin())
if (project.isAudioPluginProject())
writePluginCharacteristicsFile(); writePluginCharacteristicsFile();
writeAppConfigFile (modules, loadUserContentFromAppConfig()); writeAppConfigFile (modules, loadUserContentFromAppConfig());


Loading…
Cancel
Save