JUCE
Public Member Functions | List of all members
ARAPlaybackRenderer Class Reference

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

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

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: