JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::ARAHostDocumentController Class Referencefinal

Wrapper class for ARA::Host::DocumentController. More...

#include <juce_ARAHosting.h>

Collaboration diagram for juce::ARAHostDocumentController:

Public Member Functions

 ~ARAHostDocumentController ()
 
ARAHostModel::PlugInExtensionInstance bindDocumentToPluginInstance (AudioPluginInstance &instance, ARA::ARAPlugInInstanceRoleFlags knownRoles, ARA::ARAPlugInInstanceRoleFlags assignedRoles)
 Binds the ARAHostDocumentController and its enclosed document to a plugin instance.
 
ARA::Host::DocumentController & getDocumentController () const
 Returns the underlying ARA::Host::DocumentController reference.
 

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.
 

Private Member Functions

 ARAHostDocumentController (std::unique_ptr< Impl > &&implIn)
 

Private Attributes

std::unique_ptr< Impl > impl
 

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.

@tags{ARA}

Constructor & Destructor Documentation

◆ ~ARAHostDocumentController()

juce::ARAHostDocumentController::~ARAHostDocumentController ( )

◆ ARAHostDocumentController()

juce::ARAHostDocumentController::ARAHostDocumentController ( std::unique_ptr< Impl > &&  implIn)
explicitprivate

Member Function Documentation

◆ 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.

◆ create()

static 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.

Member Data Documentation

◆ impl

std::unique_ptr<Impl> juce::ARAHostDocumentController::impl
private

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