mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
ARA Client: Add CMake support for creating plugins
This commit is contained in:
parent
5f4da905d7
commit
6c2881ce30
5 changed files with 176 additions and 7 deletions
|
|
@ -320,6 +320,13 @@ namespace build_tools
|
|||
addPlistDictionaryKey (*resourceUsageDict, "temporary-exception.files.all.read-write", true);
|
||||
}
|
||||
|
||||
if (isPluginARAEffect)
|
||||
{
|
||||
dict->createNewChildElement ("key")->addTextElement ("tags");
|
||||
auto* tagsArray = dict->createNewChildElement ("array");
|
||||
tagsArray->createNewChildElement ("string")->addTextElement ("ARA");
|
||||
}
|
||||
|
||||
return { plistKey, plistEntry };
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ namespace build_tools
|
|||
bool isAuSandboxSafe = false;
|
||||
bool isPluginSynth = false;
|
||||
bool suppressResourceUsage = false;
|
||||
bool isPluginARAEffect = false;
|
||||
|
||||
private:
|
||||
void write (MemoryOutputStream&) const;
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ namespace build_tools
|
|||
virtual bool isGUIApplication() const { return false; }
|
||||
virtual bool isCommandLineApp() const { return false; }
|
||||
virtual bool isAudioPlugin() const { return false; }
|
||||
virtual bool isARAAudioPlugin() const { return false; }
|
||||
|
||||
//==============================================================================
|
||||
struct Target
|
||||
|
|
@ -111,8 +112,7 @@ namespace build_tools
|
|||
case SharedCodeTarget: return "Shared Code";
|
||||
case AggregateTarget: return "All";
|
||||
case LV2TurtleProgram: return "LV2 Manifest Helper";
|
||||
case unspecified:
|
||||
default: break;
|
||||
case unspecified: break;
|
||||
}
|
||||
|
||||
return "undefined";
|
||||
|
|
@ -160,7 +160,7 @@ namespace build_tools
|
|||
case LV2TurtleProgram: return executable;
|
||||
case AggregateTarget:
|
||||
case unspecified:
|
||||
default: break;
|
||||
break;
|
||||
}
|
||||
|
||||
return unknown;
|
||||
|
|
@ -252,7 +252,43 @@ namespace build_tools
|
|||
case Target::StaticLibrary:
|
||||
case Target::DynamicLibrary:
|
||||
case Target::unspecified:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
struct ProjectType_ARAAudioPlugin : public ProjectType
|
||||
{
|
||||
ProjectType_ARAAudioPlugin() : ProjectType (getTypeName(), "ARA Audio Plug-in") {}
|
||||
|
||||
static const char* getTypeName() noexcept { return "araaudioplug"; }
|
||||
bool isAudioPlugin() const override { return true; }
|
||||
bool isARAAudioPlugin() const override { return true; }
|
||||
|
||||
bool supportsTargetType (Target::Type targetType) const override
|
||||
{
|
||||
switch (targetType)
|
||||
{
|
||||
case Target::VSTPlugIn:
|
||||
case Target::VST3PlugIn:
|
||||
case Target::AAXPlugIn:
|
||||
case Target::AudioUnitPlugIn:
|
||||
case Target::AudioUnitv3PlugIn:
|
||||
case Target::StandalonePlugIn:
|
||||
case Target::UnityPlugIn:
|
||||
case Target::SharedCodeTarget:
|
||||
case Target::AggregateTarget:
|
||||
return true;
|
||||
|
||||
case Target::GUIApp:
|
||||
case Target::ConsoleApp:
|
||||
case Target::StaticLibrary:
|
||||
case Target::DynamicLibrary:
|
||||
case Target::unspecified:
|
||||
case Target::LV2PlugIn:
|
||||
case Target::LV2TurtleProgram:
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -268,8 +304,9 @@ namespace build_tools
|
|||
static ProjectType_StaticLibrary staticLib;
|
||||
static ProjectType_DLL dll;
|
||||
static ProjectType_AudioPlugin plugin;
|
||||
static ProjectType_ARAAudioPlugin araplugin;
|
||||
|
||||
return Array<ProjectType*>(&guiApp, &consoleApp, &staticLib, &dll, &plugin);
|
||||
return Array<ProjectType*>(&guiApp, &consoleApp, &staticLib, &dll, &plugin, &araplugin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue