JUCE: ARAHostDocumentController Class Reference

JUCE

Public Member Functions | Static Public Member Functions | List of all members
ARAHostDocumentController Class Referencefinal
juce_audio_processors » format_types

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

`#include <juce_ARAHosting.h>`

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

## 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. More...

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

## Constructor & Destructor Documentation

## ◆ ~ARAHostDocumentController()

ARAHostDocumentController::~ARAHostDocumentController | ( |  | ) |

## Member Function Documentation

## ◆ create()

static std::unique_ptr< ARAHostDocumentController > 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 & ARAHostDocumentController::getDocumentController | ( |  | ) | const

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

## ◆ bindDocumentToPluginInstance()

ARAHostModel::PlugInExtensionInstance 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.

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

- juce_ARAHosting.h