Browse Source

Projucer: Set extra plugin formats and characteristics of PIP examples

tags/2021-05-28
ed 7 years ago
parent
commit
12b90421b4
2 changed files with 35 additions and 0 deletions
  1. +32
    -0
      extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp
  2. +3
    -0
      extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h

+ 32
- 0
extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp View File

@@ -462,7 +462,12 @@ Result PIPGenerator::setProjectSettings (ValueTree& jucerTree)
jucerTree.setProperty (Ids::pluginManufacturer, metadata[Ids::vendor], nullptr);
StringArray pluginFormatsToBuild (Ids::buildVST.toString(), Ids::buildAU.toString(), Ids::buildStandalone.toString());
pluginFormatsToBuild.addArray (getExtraPluginFormatsToBuild());
jucerTree.setProperty (Ids::pluginFormats, pluginFormatsToBuild.joinIntoString (","), nullptr);
if (! getPluginCharacteristics().isEmpty())
jucerTree.setProperty (Ids::pluginCharacteristicsValue, getPluginCharacteristics().joinIntoString (","), nullptr);
}
return Result::ok();
@@ -561,3 +566,30 @@ bool PIPGenerator::copyRelativeFileToLocalSourceDirectory (const File& fileToCop
return fileToCopy.copyFileTo (outputDirectory.getChildFile ("Source")
.getChildFile (fileToCopy.getFileName()));
}
StringArray PIPGenerator::getExtraPluginFormatsToBuild() const
{
auto name = metadata[Ids::name].toString();
if (name == "AUv3SynthPlugin" || name == "AudioPluginDemo")
return { Ids::buildAUv3.toString() };
if (name == "InterAppAudioEffectPlugin")
return { Ids::enableIAA.toString() };
return {};
}
StringArray PIPGenerator::getPluginCharacteristics() const
{
StringArray characteristics;
auto name = metadata[Ids::name].toString();
if (name == "AudioPluginDemo" || name == "AUv3SynthPlugin" || name == "MultiOutSynthPlugin") characteristics.add (Ids::pluginWantsMidiIn.toString());
if (name == "AUv3SynthPlugin" || name == "MultiOutSynthPlugin") characteristics.add (Ids::pluginIsSynth.toString());
if (name == "AudioPluginDemo") characteristics.add (Ids::pluginEditorRequiresKeys.toString());
if (name == "ArpeggiatorPlugin") characteristics.add (Ids::pluginIsMidiEffectPlugin.toString());
return characteristics;
}

+ 3
- 0
extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h View File

@@ -74,6 +74,9 @@ private:
Array<File> replaceRelativeIncludesAndGetFilesToMove();
bool copyRelativeFileToLocalSourceDirectory (const File&) const noexcept;
StringArray getExtraPluginFormatsToBuild() const;
StringArray getPluginCharacteristics() const;
//==============================================================================
File pipFile, outputDirectory;
var metadata;


Loading…
Cancel
Save