JUCE: ARAPlaybackRenderer Class Reference

JUCE

Public Member Functions | List of all members
ARAPlaybackRenderer Class Reference
juce_audio_processors » utilities

Base class for a renderer fulfilling the ARAPlaybackRenderer role as described in the ARA SDK. More...

`#include <juce_ARAPlugInInstanceRoles.h>`

Inheritance diagram for ARAPlaybackRenderer:

## Public Member Functions
bool | processBlock (AudioBuffer< float > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept override
| Renders the output into the given buffer. More...
template<typename PlaybackRegion_t = ARAPlaybackRegion>
std::vector< PlaybackRegion_t * > const & | getPlaybackRegions () const noexcept
| Returns the PlaybackRegions. More...
Public Member Functions inherited from ARARenderer
virtual | ~ARARenderer ()=default
virtual void | prepareToPlay (double sampleRate, int maximumSamplesPerBlock, int numChannels, AudioProcessor::ProcessingPrecision precision, AlwaysNonRealtime alwaysNonRealtime=AlwaysNonRealtime::no)
| Initialises the renderer for playback. More...
virtual void | releaseResources ()
| Frees render resources allocated in prepareToPlay(). More...
virtual void | reset ()
| Resets the internal state variables of the renderer. More...
virtual bool | processBlock (AudioBuffer< float > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept=0
| Renders the output into the given buffer. More...
virtual bool | processBlock (AudioBuffer< double > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept
| Renders the output into the given buffer. More...

## Additional Inherited Members
Public Types inherited from ARARenderer
enum class | AlwaysNonRealtime { no , yes }

## Detailed Description

Base class for a renderer fulfilling the ARAPlaybackRenderer role as described in the ARA SDK.

Instances of this class are constructed by the DocumentController. If you are subclassing ARAPlaybackRenderer, make sure to call the base class implementation of any overridden function, except for processBlock.

## Member Function Documentation

## ◆ processBlock()

bool ARAPlaybackRenderer::processBlock | ( | AudioBuffer< float > & | buffer,
|  | AudioProcessor::Realtime | realtime,
|  | const AudioPlayHead::PositionInfo & | positionInfo
| ) |  |
| overridevirtualnoexcept

Renders the output into the given buffer.

Returns true if rendering executed without error, false otherwise.

Parameters

  buffer | The output buffer for the rendering. ARAPlaybackRenderers will replace the sample data, while ARAEditorRenderer will add to it.
  realtime | Indicates whether the call is executed under real time constraints. The value of this parameter may change from one call to the next, and if the value is yes, the rendering may fail if the required samples cannot be obtained in time.
  positionInfo | Current song position, playback state and playback loop location. There should be no need to access the bpm, timeSig and ppqPosition members in any ARA renderer since ARA provides that information with random access in its model graph.

Returns false if non-ARA fallback rendering is required and true otherwise.

Implements ARARenderer.

References gl::buffer, and ignoreUnused().

## ◆ getPlaybackRegions()

template<typename PlaybackRegion_t = ARAPlaybackRegion>

std::vector< PlaybackRegion_t * > const & ARAPlaybackRenderer::getPlaybackRegions | ( |  | ) | const
| noexcept

Returns the PlaybackRegions.

Template Parameters

  PlaybackRegion_t |

Returns

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

- juce_ARAPlugInInstanceRoles.h