LMMS
Loading...
Searching...
No Matches
juce::ARADocumentControllerSpecialisation Class Referenceabstract

#include <juce_ARADocumentController.h>

Inheritance diagram for juce::ARADocumentControllerSpecialisation:
juce::ARADocumentListener juce::ARAMusicalContextListener juce::ARARegionSequenceListener juce::ARAAudioSourceListener juce::ARAAudioModificationListener juce::ARAPlaybackRegionListener

Classes

class  FactoryConfig
class  ARADocumentControllerImpl

Public Member Functions

 ARADocumentControllerSpecialisation (const ARA::PlugIn::PlugInEntry *entry, const ARA::ARADocumentControllerHostInstance *instance)
virtual ~ARADocumentControllerSpecialisation ()
ARA::PlugIn::DocumentController * getDocumentController () noexcept
template<typename DocumentType = ARADocument>
DocumentType * getDocument ()
Public Member Functions inherited from juce::ARADocumentListener
virtual ~ARADocumentListener ()=default
virtual ARA_DISABLE_UNREFERENCED_PARAMETER_WARNING_BEGIN void willBeginEditing (ARADocument *document)
virtual void didEndEditing (ARADocument *document)
virtual void willNotifyModelUpdates (ARADocument *document)
virtual void didNotifyModelUpdates (ARADocument *document)
virtual void willUpdateDocumentProperties (ARADocument *document, ARA::PlugIn::PropertiesPtr< ARA::ARADocumentProperties > newProperties)
virtual void didUpdateDocumentProperties (ARADocument *document)
virtual void didAddMusicalContextToDocument (ARADocument *document, ARAMusicalContext *musicalContext)
virtual void willRemoveMusicalContextFromDocument (ARADocument *document, ARAMusicalContext *musicalContext)
virtual void didReorderMusicalContextsInDocument (ARADocument *document)
virtual void didAddRegionSequenceToDocument (ARADocument *document, ARARegionSequence *regionSequence)
virtual void willRemoveRegionSequenceFromDocument (ARADocument *document, ARARegionSequence *regionSequence)
virtual void didReorderRegionSequencesInDocument (ARADocument *document)
virtual void didAddAudioSourceToDocument (ARADocument *document, ARAAudioSource *audioSource)
virtual void willRemoveAudioSourceFromDocument (ARADocument *document, ARAAudioSource *audioSource)
virtual void willDestroyDocument (ARADocument *document)
Public Member Functions inherited from juce::ARAMusicalContextListener
virtual ~ARAMusicalContextListener ()=default
virtual ARA_DISABLE_UNREFERENCED_PARAMETER_WARNING_BEGIN void willUpdateMusicalContextProperties (ARAMusicalContext *musicalContext, ARA::PlugIn::PropertiesPtr< ARA::ARAMusicalContextProperties > newProperties)
virtual void didUpdateMusicalContextProperties (ARAMusicalContext *musicalContext)
virtual void doUpdateMusicalContextContent (ARAMusicalContext *musicalContext, ARAContentUpdateScopes scopeFlags)
virtual void didAddRegionSequenceToMusicalContext (ARAMusicalContext *musicalContext, ARARegionSequence *regionSequence)
virtual void willRemoveRegionSequenceFromMusicalContext (ARAMusicalContext *musicalContext, ARARegionSequence *regionSequence)
virtual void didReorderRegionSequencesInMusicalContext (ARAMusicalContext *musicalContext)
virtual void willDestroyMusicalContext (ARAMusicalContext *musicalContext)
Public Member Functions inherited from juce::ARARegionSequenceListener
virtual ~ARARegionSequenceListener ()=default
virtual ARA_DISABLE_UNREFERENCED_PARAMETER_WARNING_BEGIN void willUpdateRegionSequenceProperties (ARARegionSequence *regionSequence, ARA::PlugIn::PropertiesPtr< ARA::ARARegionSequenceProperties > newProperties)
virtual void didUpdateRegionSequenceProperties (ARARegionSequence *regionSequence)
virtual void willRemovePlaybackRegionFromRegionSequence (ARARegionSequence *regionSequence, ARAPlaybackRegion *playbackRegion)
virtual void didAddPlaybackRegionToRegionSequence (ARARegionSequence *regionSequence, ARAPlaybackRegion *playbackRegion)
virtual void willDestroyRegionSequence (ARARegionSequence *regionSequence)
Public Member Functions inherited from juce::ARAAudioSourceListener
virtual ~ARAAudioSourceListener ()=default
virtual ARA_DISABLE_UNREFERENCED_PARAMETER_WARNING_BEGIN void willUpdateAudioSourceProperties (ARAAudioSource *audioSource, ARA::PlugIn::PropertiesPtr< ARA::ARAAudioSourceProperties > newProperties)
virtual void didUpdateAudioSourceProperties (ARAAudioSource *audioSource)
virtual void doUpdateAudioSourceContent (ARAAudioSource *audioSource, ARAContentUpdateScopes scopeFlags)
virtual void didUpdateAudioSourceAnalysisProgress (ARAAudioSource *audioSource, ARA::ARAAnalysisProgressState state, float progress)
virtual void willEnableAudioSourceSamplesAccess (ARAAudioSource *audioSource, bool enable)
virtual void didEnableAudioSourceSamplesAccess (ARAAudioSource *audioSource, bool enable)
virtual void willDeactivateAudioSourceForUndoHistory (ARAAudioSource *audioSource, bool deactivate)
virtual void didDeactivateAudioSourceForUndoHistory (ARAAudioSource *audioSource, bool deactivate)
virtual void didAddAudioModificationToAudioSource (ARAAudioSource *audioSource, ARAAudioModification *audioModification)
virtual void willRemoveAudioModificationFromAudioSource (ARAAudioSource *audioSource, ARAAudioModification *audioModification)
virtual void willDestroyAudioSource (ARAAudioSource *audioSource)
Public Member Functions inherited from juce::ARAAudioModificationListener
virtual ~ARAAudioModificationListener ()=default
virtual ARA_DISABLE_UNREFERENCED_PARAMETER_WARNING_BEGIN void willUpdateAudioModificationProperties (ARAAudioModification *audioModification, ARA::PlugIn::PropertiesPtr< ARA::ARAAudioModificationProperties > newProperties)
virtual void didUpdateAudioModificationProperties (ARAAudioModification *audioModification)
virtual void didUpdateAudioModificationContent (ARAAudioModification *audioModification, ARAContentUpdateScopes scopeFlags)
virtual void willDeactivateAudioModificationForUndoHistory (ARAAudioModification *audioModification, bool deactivate)
virtual void didDeactivateAudioModificationForUndoHistory (ARAAudioModification *audioModification, bool deactivate)
virtual void didAddPlaybackRegionToAudioModification (ARAAudioModification *audioModification, ARAPlaybackRegion *playbackRegion)
virtual void willRemovePlaybackRegionFromAudioModification (ARAAudioModification *audioModification, ARAPlaybackRegion *playbackRegion)
virtual void willDestroyAudioModification (ARAAudioModification *audioModification)
Public Member Functions inherited from juce::ARAPlaybackRegionListener
virtual ~ARAPlaybackRegionListener ()=default
virtual ARA_DISABLE_UNREFERENCED_PARAMETER_WARNING_BEGIN void willUpdatePlaybackRegionProperties (ARAPlaybackRegion *playbackRegion, ARA::PlugIn::PropertiesPtr< ARA::ARAPlaybackRegionProperties > newProperties)
virtual void didUpdatePlaybackRegionProperties (ARAPlaybackRegion *playbackRegion)
virtual void didUpdatePlaybackRegionContent (ARAPlaybackRegion *playbackRegion, ARAContentUpdateScopes scopeFlags)
virtual void willDestroyPlaybackRegion (ARAPlaybackRegion *playbackRegion)

Static Public Member Functions

template<typename SpecialisationType>
static const ARA::ARAFactory * createARAFactory ()
template<typename Specialisation = ARADocumentControllerSpecialisation>
static Specialisation * getSpecialisedDocumentController (ARA::PlugIn::DocumentController *dc)

Protected Member Functions

virtual bool doRestoreObjectsFromStream (ARAInputStream &input, const ARARestoreObjectsFilter *filter)=0
virtual bool doStoreObjectsToStream (ARAOutputStream &output, const ARAStoreObjectsFilter *filter)=0
virtual ARAPlaybackRendererdoCreatePlaybackRenderer ()
virtual ARAEditorRendererdoCreateEditorRenderer ()
virtual ARAEditorViewdoCreateEditorView ()
virtual bool doIsAudioSourceContentAvailable (const ARA::PlugIn::AudioSource *audioSource, ARA::ARAContentType type)
virtual ARA::ARAContentGrade doGetAudioSourceContentGrade (const ARA::PlugIn::AudioSource *audioSource, ARA::ARAContentType type)
virtual ARA::PlugIn::ContentReader * doCreateAudioSourceContentReader (ARA::PlugIn::AudioSource *audioSource, ARA::ARAContentType type, const ARA::ARAContentTimeRange *range)
virtual bool doIsAudioModificationContentAvailable (const ARA::PlugIn::AudioModification *audioModification, ARA::ARAContentType type)
virtual ARA::ARAContentGrade doGetAudioModificationContentGrade (const ARA::PlugIn::AudioModification *audioModification, ARA::ARAContentType type)
virtual ARA::PlugIn::ContentReader * doCreateAudioModificationContentReader (ARA::PlugIn::AudioModification *audioModification, ARA::ARAContentType type, const ARA::ARAContentTimeRange *range)
virtual bool doIsPlaybackRegionContentAvailable (const ARA::PlugIn::PlaybackRegion *playbackRegion, ARA::ARAContentType type)
virtual ARA::ARAContentGrade doGetPlaybackRegionContentGrade (const ARA::PlugIn::PlaybackRegion *playbackRegion, ARA::ARAContentType type)
virtual ARA::PlugIn::ContentReader * doCreatePlaybackRegionContentReader (ARA::PlugIn::PlaybackRegion *playbackRegion, ARA::ARAContentType type, const ARA::ARAContentTimeRange *range)
virtual bool doIsAudioSourceContentAnalysisIncomplete (const ARA::PlugIn::AudioSource *audioSource, ARA::ARAContentType type)
virtual void doRequestAudioSourceContentAnalysis (ARA::PlugIn::AudioSource *audioSource, std::vector< ARA::ARAContentType > const &contentTypes)
virtual ARA::ARAInt32 doGetProcessingAlgorithmsCount ()
virtual const ARA::ARAProcessingAlgorithmProperties * doGetProcessingAlgorithmProperties (ARA::ARAInt32 algorithmIndex)
virtual ARA::ARAInt32 doGetProcessingAlgorithmForAudioSource (const ARA::PlugIn::AudioSource *audioSource)
virtual void doRequestProcessingAlgorithmForAudioSource (ARA::PlugIn::AudioSource *audioSource, ARA::ARAInt32 algorithmIndex)
virtual ARADocumentdoCreateDocument ()
virtual ARAMusicalContextdoCreateMusicalContext (ARADocument *document, ARA::ARAMusicalContextHostRef hostRef)
virtual ARARegionSequencedoCreateRegionSequence (ARADocument *document, ARA::ARARegionSequenceHostRef hostRef)
virtual ARAAudioSourcedoCreateAudioSource (ARADocument *document, ARA::ARAAudioSourceHostRef hostRef)
virtual ARAAudioModificationdoCreateAudioModification (ARAAudioSource *audioSource, ARA::ARAAudioModificationHostRef hostRef, const ARAAudioModification *optionalModificationToClone)
virtual ARAPlaybackRegiondoCreatePlaybackRegion (ARAAudioModification *modification, ARA::ARAPlaybackRegionHostRef hostRef)

Private Member Functions

ARADocumentgetDocumentImpl ()

Static Private Member Functions

static ARADocumentControllerSpecialisationgetSpecialisedDocumentControllerImpl (ARA::PlugIn::DocumentController *)

Private Attributes

std::unique_ptr< ARADocumentControllerImpldocumentController

Detailed Description

This class contains the customisation points for the JUCE provided ARA document controller implementation.

Every ARA enabled plugin must provide its own document controller implementation. To do this, inherit from this class, and override its protected methods as needed. Then you need to implement a global function somewhere in your module called createARAFactory(). This function must return an ARAFactory* that will instantiate document controller objects using your specialisation. There are helper functions inside ARADocumentControllerSpecialisation, so the implementation of createARAFactory() can always be a simple one-liner. For example

class MyDocumentController : public ARADocumentControllerSpecialisation
{
//...
};
const ARA::ARAFactory* JUCE_CALLTYPE createARAFactory()
{
return juce::ARADocumentControllerSpecialisation::createARAFactory<MyDocumentController>();
}
ARADocumentControllerSpecialisation(const ARA::PlugIn::PlugInEntry *entry, const ARA::ARADocumentControllerHostInstance *instance)
Definition juce_ARADocumentController.cpp:813
#define JUCE_CALLTYPE

Most member functions have a default implementation so you can build up your required feature set gradually. The protected functions of this class fall in three distinct groups:

  • interactive editing and playback,
  • analysis features provided by the plugin and utilised by the host, and
  • maintaining the ARA model graph.

On top of the pure virtual functions, you will probably want to override doCreatePlaybackRenderer() at the very least if you want your plugin to play any sound. This function belongs to the first group.

If your plugin has analysis capabilities and wants to allow the host to access these, functions in the second group should be overridden.

The default implementation of the ARA model object classes - i.e. ARADocument, ARAMusicalContext, ARARegionSequence, ARAAudioSource, ARAAudioModification, ARAPlaybackRegion - should be sufficient for maintaining a representation of the ARA model graph, hence overriding the model object creation functions e.g. doCreateMusicalContext() is considered an advanced use case. Hence you should be able to get a lot done without overriding functions in the third group.

In order to react to the various ARA state changes you can override any of the ARA model object Listener functions that ARADocumentControllerSpecialisation inherits from. Such listener functions can be attached to one particular model objects instance, but the listener functions inside ARADocumentControllerSpecialisation will respond to the events of all instances of the model objects.

@tags{ARA}

Constructor & Destructor Documentation

◆ ARADocumentControllerSpecialisation()

juce::ARADocumentControllerSpecialisation::ARADocumentControllerSpecialisation ( const ARA::PlugIn::PlugInEntry * entry,
const ARA::ARADocumentControllerHostInstance * instance )

Constructor. Used internally by the ARAFactory implementation.

◆ ~ARADocumentControllerSpecialisation()

juce::ARADocumentControllerSpecialisation::~ARADocumentControllerSpecialisation ( )
virtualdefault

Destructor.

Member Function Documentation

◆ createARAFactory()

template<typename SpecialisationType>
const ARA::ARAFactory * juce::ARADocumentControllerSpecialisation::createARAFactory ( )
inlinestatic

Helper function for implementing the global createARAFactory() function.

For example

class MyDocumentController : public ARADocumentControllerSpecialisation
{
//...
};
const ARA::ARAFactory* JUCE_CALLTYPE createARAFactory()
{
return juce::ARADocumentControllerSpecialisation::createARAFactory<MyDocumentController>();
}

◆ doCreateAudioModification()

ARAAudioModification * juce::ARADocumentControllerSpecialisation::doCreateAudioModification ( ARAAudioSource * audioSource,
ARA::ARAAudioModificationHostRef hostRef,
const ARAAudioModification * optionalModificationToClone )
protectedvirtual

Override to return a custom subclass instance of ARAAudioModification.

◆ doCreateAudioModificationContentReader()

ARA::PlugIn::ContentReader * juce::ARADocumentControllerSpecialisation::doCreateAudioModificationContentReader ( ARA::PlugIn::AudioModification * audioModification,
ARA::ARAContentType type,
const ARA::ARAContentTimeRange * range )
protectedvirtual

Override to implement createAudioModificationContentReader() for all your supported content types, returning a custom subclass instance of ContentReader providing data of the requested type. For read-only data directly inherited from the underlying audio source you can just delegate the call to the audio source, but user-editable modification data must be specifically handled here.

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doCreateAudioModificationContentReader.

◆ doCreateAudioSource()

ARAAudioSource * juce::ARADocumentControllerSpecialisation::doCreateAudioSource ( ARADocument * document,
ARA::ARAAudioSourceHostRef hostRef )
protectedvirtual

Override to return a custom subclass instance of ARAAudioSource.

◆ doCreateAudioSourceContentReader()

ARA::PlugIn::ContentReader * juce::ARADocumentControllerSpecialisation::doCreateAudioSourceContentReader ( ARA::PlugIn::AudioSource * audioSource,
ARA::ARAContentType type,
const ARA::ARAContentTimeRange * range )
protectedvirtual

Override to implement createAudioSourceContentReader() for all your supported content types, returning a custom subclass instance of ContentReader providing data of the requested type.

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doCreateAudioSourceContentReader.

◆ doCreateDocument()

JUCE_END_IGNORE_WARNINGS_GCC_LIKE ARADocument * juce::ARADocumentControllerSpecialisation::doCreateDocument ( )
protectedvirtual

Override to return a custom subclass instance of ARADocument.

◆ doCreateEditorRenderer()

ARAEditorRenderer * juce::ARADocumentControllerSpecialisation::doCreateEditorRenderer ( )
protectedvirtual

Override to return a custom subclass instance of ARAEditorRenderer.

◆ doCreateEditorView()

ARAEditorView * juce::ARADocumentControllerSpecialisation::doCreateEditorView ( )
protectedvirtual

Override to return a custom subclass instance of ARAEditorView.

◆ doCreateMusicalContext()

ARAMusicalContext * juce::ARADocumentControllerSpecialisation::doCreateMusicalContext ( ARADocument * document,
ARA::ARAMusicalContextHostRef hostRef )
protectedvirtual

Override to return a custom subclass instance of ARAMusicalContext.

◆ doCreatePlaybackRegion()

ARAPlaybackRegion * juce::ARADocumentControllerSpecialisation::doCreatePlaybackRegion ( ARAAudioModification * modification,
ARA::ARAPlaybackRegionHostRef hostRef )
protectedvirtual

Override to return a custom subclass instance of ARAPlaybackRegion.

◆ doCreatePlaybackRegionContentReader()

ARA::PlugIn::ContentReader * juce::ARADocumentControllerSpecialisation::doCreatePlaybackRegionContentReader ( ARA::PlugIn::PlaybackRegion * playbackRegion,
ARA::ARAContentType type,
const ARA::ARAContentTimeRange * range )
protectedvirtual

Override to implement createPlaybackRegionContentReader() for all your supported content types, returning a custom subclass instance of ContentReader providing data of the requested type.

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doCreatePlaybackRegionContentReader.

◆ doCreatePlaybackRenderer()

ARAPlaybackRenderer * juce::ARADocumentControllerSpecialisation::doCreatePlaybackRenderer ( )
protectedvirtual

Override to return a custom subclass instance of ARAPlaybackRenderer.

◆ doCreateRegionSequence()

ARARegionSequence * juce::ARADocumentControllerSpecialisation::doCreateRegionSequence ( ARADocument * document,
ARA::ARARegionSequenceHostRef hostRef )
protectedvirtual

Override to return a custom subclass instance of ARARegionSequence.

◆ doGetAudioModificationContentGrade()

ARA::ARAContentGrade juce::ARADocumentControllerSpecialisation::doGetAudioModificationContentGrade ( const ARA::PlugIn::AudioModification * audioModification,
ARA::ARAContentType type )
protectedvirtual

Override to implement getAudioModificationContentGrade() for all your supported content types. For read-only data directly inherited from the underlying audio source you can just delegate the call to the audio source, but user-editable modification data must be specifically handled here.

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doGetAudioModificationContentGrade.

◆ doGetAudioSourceContentGrade()

ARA::ARAContentGrade juce::ARADocumentControllerSpecialisation::doGetAudioSourceContentGrade ( const ARA::PlugIn::AudioSource * audioSource,
ARA::ARAContentType type )
protectedvirtual

Override to implement getAudioSourceContentGrade() for all your supported content types.

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doGetAudioSourceContentGrade.

◆ doGetPlaybackRegionContentGrade()

ARA::ARAContentGrade juce::ARADocumentControllerSpecialisation::doGetPlaybackRegionContentGrade ( const ARA::PlugIn::PlaybackRegion * playbackRegion,
ARA::ARAContentType type )
protectedvirtual

Override to implement getPlaybackRegionContentGrade() for all your supported content types. Typically, this call can directly delegate to the underlying audio modification, since most plug-ins will apply their modification data to the playback region with a transformation that does not affect content grade.

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doGetPlaybackRegionContentGrade.

◆ doGetProcessingAlgorithmForAudioSource()

ARA::ARAInt32 juce::ARADocumentControllerSpecialisation::doGetProcessingAlgorithmForAudioSource ( const ARA::PlugIn::AudioSource * audioSource)
protectedvirtual

Override to implement getProcessingAlgorithmForAudioSource().

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doGetProcessingAlgorithmForAudioSource.

◆ doGetProcessingAlgorithmProperties()

const ARA::ARAProcessingAlgorithmProperties * juce::ARADocumentControllerSpecialisation::doGetProcessingAlgorithmProperties ( ARA::ARAInt32 algorithmIndex)
protectedvirtual

Override to implement getProcessingAlgorithmProperties().

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doGetProcessingAlgorithmProperties.

◆ doGetProcessingAlgorithmsCount()

ARA::ARAInt32 juce::ARADocumentControllerSpecialisation::doGetProcessingAlgorithmsCount ( )
protectedvirtual

Override to implement getProcessingAlgorithmsCount().

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doGetProcessingAlgorithmsCount.

◆ doIsAudioModificationContentAvailable()

bool juce::ARADocumentControllerSpecialisation::doIsAudioModificationContentAvailable ( const ARA::PlugIn::AudioModification * audioModification,
ARA::ARAContentType type )
protectedvirtual

Override to implement isAudioModificationContentAvailable() for all your supported content types - the default implementation always returns false. For read-only data directly inherited from the underlying audio source you can just delegate the call to the audio source, but user-editable modification data must be specifically handled here.

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doIsAudioModificationContentAvailable.

◆ doIsAudioSourceContentAnalysisIncomplete()

bool juce::ARADocumentControllerSpecialisation::doIsAudioSourceContentAnalysisIncomplete ( const ARA::PlugIn::AudioSource * audioSource,
ARA::ARAContentType type )
protectedvirtual

Override to implement isAudioSourceContentAnalysisIncomplete().

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doIsAudioSourceContentAnalysisIncomplete.

◆ doIsAudioSourceContentAvailable()

bool juce::ARADocumentControllerSpecialisation::doIsAudioSourceContentAvailable ( const ARA::PlugIn::AudioSource * audioSource,
ARA::ARAContentType type )
protectedvirtual

Override to implement isAudioSourceContentAvailable() for all your supported content types - the default implementation always returns false, preventing any calls to doGetAudioSourceContentGrade() and doCreateAudioSourceContentReader().

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doIsAudioSourceContentAvailable.

◆ doIsPlaybackRegionContentAvailable()

bool juce::ARADocumentControllerSpecialisation::doIsPlaybackRegionContentAvailable ( const ARA::PlugIn::PlaybackRegion * playbackRegion,
ARA::ARAContentType type )
protectedvirtual

Override to implement isPlaybackRegionContentAvailable() for all your supported content types - the default implementation always returns false. Typically, this call can directly delegate to the underlying audio modification, since most plug-ins will apply their modification data to the playback region with a transformation that does not affect content availability.

This function's result is returned from ARA::PlugIn::DocumentControllerDelegate::doIsPlaybackRegionContentAvailable.

◆ doRequestAudioSourceContentAnalysis()

void juce::ARADocumentControllerSpecialisation::doRequestAudioSourceContentAnalysis ( ARA::PlugIn::AudioSource * audioSource,
std::vector< ARA::ARAContentType > const & contentTypes )
protectedvirtual

Override to implement requestAudioSourceContentAnalysis().

This function's called from ARA::PlugIn::DocumentControllerDelegate::doRequestAudioSourceContentAnalysis.

◆ doRequestProcessingAlgorithmForAudioSource()

void juce::ARADocumentControllerSpecialisation::doRequestProcessingAlgorithmForAudioSource ( ARA::PlugIn::AudioSource * audioSource,
ARA::ARAInt32 algorithmIndex )
protectedvirtual

Override to implement requestProcessingAlgorithmForAudioSource().

This function's called from ARA::PlugIn::DocumentControllerDelegate::doRequestProcessingAlgorithmForAudioSource.

◆ doRestoreObjectsFromStream()

virtual bool juce::ARADocumentControllerSpecialisation::doRestoreObjectsFromStream ( ARAInputStream & input,
const ARARestoreObjectsFilter * filter )
protectedpure virtual

Read an ARADocument archive from a juce::InputStream.

Parameters
inputData stream containing previously persisted data to be used when restoring the ARADocument
filterA filter to be applied to the stream

Return true if the operation is successful.

See also
ARADocumentControllerInterface::restoreObjectsFromArchive

◆ doStoreObjectsToStream()

virtual bool juce::ARADocumentControllerSpecialisation::doStoreObjectsToStream ( ARAOutputStream & output,
const ARAStoreObjectsFilter * filter )
protectedpure virtual

Write an ARADocument archive to a juce::OutputStream.

Parameters
outputData stream that should be used to write the persistent ARADocument data
filterA filter to be applied to the stream

Returns true if the operation is successful.

See also
ARADocumentControllerInterface::storeObjectsToArchive

◆ getDocument()

template<typename DocumentType = ARADocument>
DocumentType * juce::ARADocumentControllerSpecialisation::getDocument ( )
inline

Returns a pointer to the ARA document root maintained by this document controller.

◆ getDocumentController()

ARA::PlugIn::DocumentController * juce::ARADocumentControllerSpecialisation::getDocumentController ( )
noexcept

Returns the underlying DocumentController object that references this specialisation.

◆ getDocumentImpl()

ARADocument * juce::ARADocumentControllerSpecialisation::getDocumentImpl ( )
private

◆ getSpecialisedDocumentController()

template<typename Specialisation = ARADocumentControllerSpecialisation>
Specialisation * juce::ARADocumentControllerSpecialisation::getSpecialisedDocumentController ( ARA::PlugIn::DocumentController * dc)
inlinestatic

Returns a pointer to the ARADocumentControllerSpecialisation instance that is referenced by the provided DocumentController. You can use this function to access your specialisation from anywhere where you have access to ARA::PlugIn::DocumentController*.

◆ getSpecialisedDocumentControllerImpl()

ARADocumentControllerSpecialisation * juce::ARADocumentControllerSpecialisation::getSpecialisedDocumentControllerImpl ( ARA::PlugIn::DocumentController * dc)
staticprivate

Member Data Documentation

◆ documentController

std::unique_ptr<ARADocumentControllerImpl> juce::ARADocumentControllerSpecialisation::documentController
private

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