Wrapper class for ARA::Host::DocumentController.
In order to create an ARAHostDocumentController from an ARAFactoryWrapper you must provide at least two mandatory host side interfaces. You can create these implementations by inheriting from the base classes in the ARA::Host namespace.
Public Member Functions | |
~ARAHostDocumentController () | |
ARA::Host::DocumentController & | getDocumentController () const |
Returns the underlying ARA::Host::DocumentController reference. | |
ARAHostModel::PlugInExtensionInstance | bindDocumentToPluginInstance (AudioPluginInstance &instance, ARA::ARAPlugInInstanceRoleFlags knownRoles, ARA::ARAPlugInInstanceRoleFlags assignedRoles) |
Binds the ARAHostDocumentController and its enclosed document to a plugin instance. |
Static Public Member Functions | |
static std::unique_ptr< ARAHostDocumentController > | create (ARAFactoryWrapper factory, const String &documentName, std::unique_ptr< ARA::Host::AudioAccessControllerInterface > audioAccessController, std::unique_ptr< ARA::Host::ArchivingControllerInterface > archivingController, std::unique_ptr< ARA::Host::ContentAccessControllerInterface > contentAccessController=nullptr, std::unique_ptr< ARA::Host::ModelUpdateControllerInterface > modelUpdateController=nullptr, std::unique_ptr< ARA::Host::PlaybackControllerInterface > playbackController=nullptr) |
Factory function. |
juce::ARAHostDocumentController::~ARAHostDocumentController | ( | ) |
|
static |
Factory function.
You must check if the returned pointer is valid.
ARA::Host::DocumentController & juce::ARAHostDocumentController::getDocumentController | ( | ) | const |
Returns the underlying ARA::Host::DocumentController reference.
ARAHostModel::PlugInExtensionInstance juce::ARAHostDocumentController::bindDocumentToPluginInstance | ( | AudioPluginInstance & | instance, |
ARA::ARAPlugInInstanceRoleFlags | knownRoles, | ||
ARA::ARAPlugInInstanceRoleFlags | assignedRoles ) |
Binds the ARAHostDocumentController and its enclosed document to a plugin instance.
The resulting ARAHostModel::PlugInExtensionInstance is responsible for fulfilling the ARA specific roles of the plugin.
A single DocumentController can be bound to multiple plugin instances, which is a typical practice among hosts.