Loading...
Searching...
No Matches
ARAPlaybackRenderer Class Reference

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.
 
template<typename PlaybackRegion_t = ARAPlaybackRegion>
std::vector< PlaybackRegion_t * > const & getPlaybackRegions () const noexcept
 Returns the PlaybackRegions.
 
virtual bool processBlock (AudioBuffer< double > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept
 Renders the output into the given buffer.
 
- 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.
 
virtual void releaseResources ()
 Frees render resources allocated in prepareToPlay().
 
virtual void reset ()
 Resets the internal state variables of the renderer.
 

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() [1/2]

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
bufferThe output buffer for the rendering. ARAPlaybackRenderers will replace the sample data, while ARAEditorRenderer will add to it.
realtimeIndicates 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.
positionInfoCurrent 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.

◆ getPlaybackRegions()

template<typename PlaybackRegion_t = ARAPlaybackRegion>
std::vector< PlaybackRegion_t * > const & ARAPlaybackRenderer::getPlaybackRegions ( ) const
noexcept

Returns the PlaybackRegions.

Template Parameters
PlaybackRegion_t
Returns

◆ processBlock() [2/2]

virtual bool ARARenderer::processBlock ( AudioBuffer< double > & buffer,
AudioProcessor::Realtime realtime,
const AudioPlayHead::PositionInfo & positionInfo )
virtualnoexcept

Renders the output into the given buffer.

Returns true if rendering executed without error, false otherwise.

Parameters
bufferThe output buffer for the rendering. ARAPlaybackRenderers will replace the sample data, while ARAEditorRenderer will add to it.
realtimeIndicates 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.
positionInfoCurrent 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.

Reimplemented from ARARenderer.


The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram