1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Projucer: Generate moduleinfo.json file during VST3 build

This commit is contained in:
reuk 2023-04-24 17:44:21 +01:00
parent 0032e1ec86
commit b8f116c5c5
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C
10 changed files with 310 additions and 95 deletions

View file

@ -369,6 +369,8 @@ void Project::initialiseAudioPluginValues()
pluginVSTNumMidiOutputsValue.referTo (projectRoot, Ids::pluginVSTNumMidiOutputs, getUndoManager(), 16);
pluginLV2URIValue.referTo (projectRoot, Ids::lv2Uri, getUndoManager(), getDefaultLV2URI());
vst3ManifestEnabledValue.referTo (projectRoot, Ids::vst3ManifestEnabled, getUndoManager(), false);
}
void Project::updateOldStyleConfigList()
@ -1262,6 +1264,8 @@ bool Project::shouldBuildTargetType (build_tools::ProjectType::Target::Type targ
return shouldBuildVST();
case Target::VST3PlugIn:
return shouldBuildVST3();
case Target::VST3Helper:
return shouldBuildVST3() && isVst3ManifestEnabled();
case Target::AAXPlugIn:
return shouldBuildAAX();
case Target::AudioUnitPlugIn:
@ -1273,7 +1277,7 @@ bool Project::shouldBuildTargetType (build_tools::ProjectType::Target::Type targ
case Target::UnityPlugIn:
return shouldBuildUnityPlugin();
case Target::LV2PlugIn:
case Target::LV2TurtleProgram:
case Target::LV2Helper:
return shouldBuildLV2();
case Target::AggregateTarget:
case Target::SharedCodeTarget:
@ -1537,6 +1541,14 @@ void Project::createAudioPluginPropertyEditors (PropertyListBuilder& props)
"If neither of these are selected, the appropriate one will be automatically added based on the \"Plugin is a synth\" option.");
}
props.add (new ChoicePropertyComponent (vst3ManifestEnabledValue, "Plugin VST3 moduleinfo.json Enabled"),
"Check this box if you want a moduleinfo.json file to be generated as part of the VST3 build. "
"This may improve startup/scanning time for hosts that understand the contents of this file. "
"This setting is disabled by default because the moduleinfo.json path can cause problems during code signing on macOS. "
"Bundles containing a moduleinfo.json may be rejected by code signing verification at any point in the future without notice per https://developer.apple.com/library/archive/technotes/tn2206."
"If you enable this setting, be aware that the code signature for the moduleinfo.json will be stored in its extended file attributes. "
"Therefore, you will need to ensure that these attributes are not changed or removed when distributing the VST3.");
props.add (new MultiChoicePropertyComponent (pluginAAXCategoryValue, "Plugin AAX Category", getAllAAXCategoryStrings(), getAllAAXCategoryVars()),
"AAX category.");
@ -1570,7 +1582,6 @@ void Project::createAudioPluginPropertyEditors (PropertyListBuilder& props)
props.add (new TextPropertyComponent (pluginARACompatibleArchiveIDsValue, "Plugin ARA Compatible Document Archive IDs", 1024, true),
"List of compatible ARA Document Archive IDs - one per line");
}
}