Loading...
Searching...
No Matches
juce::AudioProcessorARAExtension Class Reference

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

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

- juce_audio_processors_headless/utilities/ARA/juce_AudioProcessor_ARAExtensions.h

Inherits ARA::PlugIn::PlugInExtension.

## Public Member Functions

| AudioProcessorARAExtension ()=default
template<typename PlaybackRenderer_t = ARAPlaybackRenderer>
PlaybackRenderer_t * | getPlaybackRenderer () const noexcept
| Returns the result of ARA::PlugIn::PlugInExtension::getPlaybackRenderer() with the pointer cast to ARAPlaybackRenderer*.
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*.
bool | isPlaybackRenderer () const noexcept
| Returns true if plugin instance fulfills the ARAPlaybackRenderer role.
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.

## Protected Member Functions

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 | releaseResourcesForARA ()
| Implementation helper for AudioProcessor::releaseResources().
bool | processBlockForARA (AudioBuffer< float > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo)
| Implementation helper for AudioProcessor::processBlock().
bool | processBlockForARA (AudioBuffer< float > &buffer, AudioProcessor::Realtime isNonRealtime, AudioPlayHead *playhead)
| Implementation helper for AudioProcessor::processBlock().
void | didBindToARA () noexcept override
| Optional hook for derived classes to perform any additional initialization that may be needed.

## Constructors and Destructors

## AudioProcessorARAExtension()

juce::AudioProcessorARAExtension::AudioProcessorARAExtension | ( |  | ) |

default

Referenced by didBindToARA().

## Member Functions

## getPlaybackRenderer()

template<typename PlaybackRenderer_t = ARAPlaybackRenderer>

PlaybackRenderer_t * juce::AudioProcessorARAExtension::getPlaybackRenderer | ( |  | ) | const

inline noexcept

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.

## getEditorRenderer()

template<typename EditorRenderer_t = ARAEditorRenderer>

EditorRenderer_t * juce::AudioProcessorARAExtension::getEditorRenderer | ( |  | ) | const

inline noexcept

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

inline noexcept

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.

## isPlaybackRenderer()

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

inline noexcept

Returns true if plugin instance fulfills the ARAPlaybackRenderer role.

## isEditorRenderer()

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

inline noexcept

Returns true if plugin instance fulfills the ARAEditorRenderer role.

## isEditorView()

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

inline noexcept

Returns true if plugin instance fulfills the ARAEditorView role.

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

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

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

## processBlockForARA() [1/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.

## processBlockForARA() [2/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.

## didBindToARA()

void juce::AudioProcessorARAExtension::didBindToARA | ( |  | ) |

override protected noexcept

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.

References AudioProcessorARAExtension(), and JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited