Loading...
Searching...
No Matches
juce::ARAHostDocumentController Class Referencefinal

Detailed Description

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< ARAHostDocumentControllercreate (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.

Constructors and Destructors

◆ ~ARAHostDocumentController()

juce::ARAHostDocumentController::~ARAHostDocumentController ( )

Member Functions

◆ create()

std::unique_ptr< ARAHostDocumentController > juce::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 )
static

Factory function.

You must check if the returned pointer is valid.

◆ getDocumentController()

ARA::Host::DocumentController & juce::ARAHostDocumentController::getDocumentController ( ) const

Returns the underlying ARA::Host::DocumentController reference.

◆ bindDocumentToPluginInstance()

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.

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram