JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::AudioProcessorARAExtension Class Reference

Extension class meant to be subclassed by the plugin's implementation of. More...

#include <juce_AudioProcessor_ARAExtensions.h>

Inheritance diagram for juce::AudioProcessorARAExtension:
Collaboration diagram for juce::AudioProcessorARAExtension:

Public Member Functions

 AudioProcessorARAExtension ()=default
 
template<typename EditorRenderer_t = ARAEditorRenderer>
EditorRenderer_t * getEditorRenderer () const noexcept
 Returns the result of ARA::PlugIn::PlugInExtension::getEditorRenderer() with the pointer cast to ARAEditorRenderer*.
 
template<typename EditorView_t = ARAEditorView>
EditorView_t * getEditorView () const noexcept
 Returns the result of ARA::PlugIn::PlugInExtension::getEditorView() with the pointer cast to ARAEditorView*.
 
template<typename PlaybackRenderer_t = ARAPlaybackRenderer>
PlaybackRenderer_t * getPlaybackRenderer () const noexcept
 Returns the result of ARA::PlugIn::PlugInExtension::getPlaybackRenderer() with the pointer cast to ARAPlaybackRenderer*.
 
bool isEditorRenderer () const noexcept
 Returns true if plugin instance fulfills the ARAEditorRenderer role.
 
bool isEditorView () const noexcept
 Returns true if plugin instance fulfills the ARAEditorView role.
 
bool isPlaybackRenderer () const noexcept
 Returns true if plugin instance fulfills the ARAPlaybackRenderer role.
 

Protected Member Functions

void didBindToARA () noexcept override
 Optional hook for derived classes to perform any additional initialization that may be needed.
 
bool getTailLengthSecondsForARA (double &tailLength) const
 Implementation helper for AudioProcessor::getTailLengthSeconds().
 
bool prepareToPlayForARA (double sampleRate, int samplesPerBlock, int numChannels, AudioProcessor::ProcessingPrecision precision)
 Implementation helper for AudioProcessor::prepareToPlay().
 
bool processBlockForARA (AudioBuffer< float > &buffer, AudioProcessor::Realtime isNonRealtime, AudioPlayHead *playhead)
 Implementation helper for AudioProcessor::processBlock().
 
bool processBlockForARA (AudioBuffer< float > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo)
 Implementation helper for AudioProcessor::processBlock().
 
bool releaseResourcesForARA ()
 Implementation helper for AudioProcessor::releaseResources().
 

Detailed Description

Extension class meant to be subclassed by the plugin's implementation of.

See also
AudioProcessor.

Subclassing AudioProcessorARAExtension allows access to the three possible plugin instance roles as defined by the ARA SDK. Hosts can assign any subset of roles to each plugin instance.

@tags{ARA}

Constructor & Destructor Documentation

◆ AudioProcessorARAExtension()

juce::AudioProcessorARAExtension::AudioProcessorARAExtension ( )
default

Member Function Documentation

◆ didBindToARA()

void juce::AudioProcessorARAExtension::didBindToARA ( )
overrideprotectednoexcept

Optional hook for derived classes to perform any additional initialization that may be needed.

If overriding this, make sure you call the base class implementation from your override.

◆ getEditorRenderer()

template<typename EditorRenderer_t = ARAEditorRenderer>
EditorRenderer_t * juce::AudioProcessorARAExtension::getEditorRenderer ( ) const
inlinenoexcept

Returns the result of ARA::PlugIn::PlugInExtension::getEditorRenderer() with the pointer cast to ARAEditorRenderer*.

If you have overridden ARADocumentControllerSpecialisation::doCreateEditorRenderer(), then you can use the template parameter to cast the pointers to your subclass of ARAEditorRenderer.

◆ getEditorView()

template<typename EditorView_t = ARAEditorView>
EditorView_t * juce::AudioProcessorARAExtension::getEditorView ( ) const
inlinenoexcept

Returns the result of ARA::PlugIn::PlugInExtension::getEditorView() with the pointer cast to ARAEditorView*.

If you have overridden ARADocumentControllerSpecialisation::doCreateEditorView(), then you can use the template parameter to cast the pointers to your subclass of ARAEditorView.

◆ getPlaybackRenderer()

template<typename PlaybackRenderer_t = ARAPlaybackRenderer>
PlaybackRenderer_t * juce::AudioProcessorARAExtension::getPlaybackRenderer ( ) const
inlinenoexcept

Returns the result of ARA::PlugIn::PlugInExtension::getPlaybackRenderer() with the pointer cast to ARAPlaybackRenderer*.

If you have overridden ARADocumentControllerSpecialisation::doCreatePlaybackRenderer(), then you can use the template parameter to cast the pointers to your subclass of ARAPlaybackRenderer.

◆ getTailLengthSecondsForARA()

bool juce::AudioProcessorARAExtension::getTailLengthSecondsForARA ( double &  tailLength) const
protected

Implementation helper for AudioProcessor::getTailLengthSeconds().

If bound to ARA, this traverses the instance roles to retrieve the respective tail time and returns true. Otherwise returns false and leaves tailLength unmodified.

◆ isEditorRenderer()

bool juce::AudioProcessorARAExtension::isEditorRenderer ( ) const
inlinenoexcept

Returns true if plugin instance fulfills the ARAEditorRenderer role.

◆ isEditorView()

bool juce::AudioProcessorARAExtension::isEditorView ( ) const
inlinenoexcept

Returns true if plugin instance fulfills the ARAEditorView role.

◆ isPlaybackRenderer()

bool juce::AudioProcessorARAExtension::isPlaybackRenderer ( ) const
inlinenoexcept

Returns true if plugin instance fulfills the ARAPlaybackRenderer role.

◆ prepareToPlayForARA()

bool juce::AudioProcessorARAExtension::prepareToPlayForARA ( double  sampleRate,
int  samplesPerBlock,
int  numChannels,
AudioProcessor::ProcessingPrecision  precision 
)
protected

Implementation helper for AudioProcessor::prepareToPlay().

If bound to ARA, this traverses the instance roles to prepare them for play and returns true. Otherwise returns false and does nothing.

◆ processBlockForARA() [1/2]

bool juce::AudioProcessorARAExtension::processBlockForARA ( AudioBuffer< float > &  buffer,
AudioProcessor::Realtime  isNonRealtime,
AudioPlayHead playhead 
)
protected

Implementation helper for AudioProcessor::processBlock().

If bound to ARA, this traverses the instance roles to let them process the block and returns true. Otherwise returns false and does nothing.

Use this overload if your rendering code does not have a current positionInfo available.

◆ processBlockForARA() [2/2]

bool juce::AudioProcessorARAExtension::processBlockForARA ( AudioBuffer< float > &  buffer,
AudioProcessor::Realtime  realtime,
const AudioPlayHead::PositionInfo positionInfo 
)
protected

Implementation helper for AudioProcessor::processBlock().

If bound to ARA, this traverses the instance roles to let them process the block and returns true. Otherwise returns false and does nothing.

Use this overload if your rendering code already has a current positionInfo available.

◆ releaseResourcesForARA()

bool juce::AudioProcessorARAExtension::releaseResourcesForARA ( )
protected

Implementation helper for AudioProcessor::releaseResources().

If bound to ARA, this traverses the instance roles to let them release resources and returns true. Otherwise returns false and does nothing.


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