TracktionEngine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ARAPluginFactory Struct Reference

Factory for creating ARA plugin instances. More...

#include <tracktion_ARAPluginFactory.h>

Public Member Functions

ExternalPlugin::Ptr createPlugin (Edit &ed)
 
ExternalPlugin::Ptr createPlugin (Edit &ed, const juce::PluginDescription &desc)
 
ARAInstancecreateInstance (ExternalPlugin &p, ARADocumentControllerRef dcRef, ARAPlugInInstanceRoleFlags roles=allInstanceRoles)
 
 ~ARAPluginFactory ()
 

Static Public Member Functions

static ARAPluginFactorygetInstance (Engine &engine, const juce::PluginDescription &desc)
 Returns (or creates) the factory for a specific ARA plugin type.
 
static ARAPluginFactorygetExistingInstance (const juce::PluginDescription &desc)
 Returns the factory for a plugin type if one has already been created, without creating one.
 
static juce::PluginDescription findPreferredDefault (const juce::Array< juce::PluginDescription > &descs)
 Picks the preferred default ARA plugin description for legacy clips.
 
static ARAPluginFactorygetDefaultInstance (Engine &engine)
 Returns the factory for the first/default ARA plugin (backward compat).
 
static void shutdown ()
 
static std::map< juce::String, juce::ARAFactoryResult > & getLookupCache ()
 Factories loaded for archive-ID lookups, kept for the session so their modules aren't torn down (bundleExit) while plugin background threads may be running.
 

Public Attributes

const ARAFactory * factory = nullptr
 

Static Public Attributes

static constexpr ARAPlugInInstanceRoleFlags allInstanceRoles
 The full role set used for clip player instances, which render playback audio as well as hosting the editor.
 

Detailed Description

Factory for creating ARA plugin instances.

Maintains a registry of per-plugin-type factories, keyed by PluginDescription identifier string.

Constructor & Destructor Documentation

◆ ~ARAPluginFactory()

ARAPluginFactory::~ARAPluginFactory ( )

Member Function Documentation

◆ getInstance()

static ARAPluginFactory & ARAPluginFactory::getInstance ( Engine &  engine,
const juce::PluginDescription &  desc 
)
static

Returns (or creates) the factory for a specific ARA plugin type.

Referenced by getDefaultInstance().

◆ getExistingInstance()

static ARAPluginFactory * ARAPluginFactory::getExistingInstance ( const juce::PluginDescription &  desc)
static

Returns the factory for a plugin type if one has already been created, without creating one.

◆ findPreferredDefault()

static juce::PluginDescription ARAPluginFactory::findPreferredDefault ( const juce::Array< juce::PluginDescription > &  descs)
static

Picks the preferred default ARA plugin description for legacy clips.

Prefers Melodyne since legacy clips were always Melodyne.

Referenced by getDefaultInstance().

◆ getDefaultInstance()

static ARAPluginFactory * ARAPluginFactory::getDefaultInstance ( Engine &  engine)
static

Returns the factory for the first/default ARA plugin (backward compat).

References findPreferredDefault(), and getInstance().

◆ shutdown()

static void ARAPluginFactory::shutdown ( )
static

References CRASH_TRACER, and getLookupCache().

◆ getLookupCache()

static std::map< juce::String, juce::ARAFactoryResult > & ARAPluginFactory::getLookupCache ( )
static

Factories loaded for archive-ID lookups, kept for the session so their modules aren't torn down (bundleExit) while plugin background threads may be running.

Keyed by plugin identifier string.

Referenced by shutdown().

◆ createPlugin() [1/2]

ExternalPlugin::Ptr ARAPluginFactory::createPlugin ( Edit &  ed)

References createPlugin(), and factory.

Referenced by createPlugin().

◆ createPlugin() [2/2]

ExternalPlugin::Ptr ARAPluginFactory::createPlugin ( Edit &  ed,
const juce::PluginDescription &  desc 
)

◆ createInstance()

ARAInstance * ARAPluginFactory::createInstance ( ExternalPlugin &  p,
ARADocumentControllerRef  dcRef,
ARAPlugInInstanceRoleFlags  roles = allInstanceRoles 
)

References factory.

Member Data Documentation

◆ allInstanceRoles

constexpr ARAPlugInInstanceRoleFlags ARAPluginFactory::allInstanceRoles
staticconstexpr
Initial value:
= kARAPlaybackRendererRole
| kARAEditorRendererRole
| kARAEditorViewRole

The full role set used for clip player instances, which render playback audio as well as hosting the editor.

◆ factory

const ARAFactory* ARAPluginFactory::factory = nullptr

Referenced by createInstance(), and createPlugin().


The documentation for this struct was generated from the following file: