Loading...
Searching...
No Matches
ARAEditorRenderer Class Reference

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

#include <juce_ARAPlugInInstanceRoles.h>

Inheritance diagram for ARAEditorRenderer:

Public Member Functions

template<typename PlaybackRegion_t = ARAPlaybackRegion>
std::vector< PlaybackRegion_t * > const & getPlaybackRegions () const noexcept
 
template<typename RegionSequence_t = ARARegionSequence>
std::vector< RegionSequence_t * > const & getRegionSequences () const noexcept
 
bool processBlock (AudioBuffer< float > &buffer, AudioProcessor::Realtime isNonRealtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept override
 Renders the output into the given buffer.
 
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 ARAEditorRenderer role as described in the ARA SDK.

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

Member Function Documentation

◆ getPlaybackRegions()

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

◆ getRegionSequences()

template<typename RegionSequence_t = ARARegionSequence>
std::vector< RegionSequence_t * > const & ARAEditorRenderer::getRegionSequences ( ) const
noexcept

◆ processBlock() [1/2]

bool ARAEditorRenderer::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.

◆ 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