Base class for a renderer fulfilling the ARAPlaybackRenderer role as described in the ARA SDK. More...
#include <juce_ARAPlugInInstanceRoles.h>


Public Types | |
| enum class | AlwaysNonRealtime { no , yes } |
Public Member Functions | |
| template<typename PlaybackRegion_t = ARAPlaybackRegion> | |
| std::vector< PlaybackRegion_t * > const & | getPlaybackRegions () const noexcept |
| Returns the PlaybackRegions. | |
| virtual void | prepareToPlay (double sampleRate, int maximumSamplesPerBlock, int numChannels, AudioProcessor::ProcessingPrecision precision, AlwaysNonRealtime alwaysNonRealtime=AlwaysNonRealtime::no) |
| Initialises the renderer for playback. | |
| virtual bool | processBlock (AudioBuffer< double > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept |
| Renders the output into the given buffer. | |
| bool | processBlock (AudioBuffer< float > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept override |
| Renders the output into the given buffer. | |
| virtual bool | processBlock (AudioBuffer< float > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept=0 |
| Renders the output into the given buffer. | |
| virtual void | releaseResources () |
| Frees render resources allocated in prepareToPlay(). | |
| virtual void | reset () |
| Resets the internal state variables of the renderer. | |
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.
@tags{ARA}
|
stronginherited |
|
inlinenoexcept |
Returns the PlaybackRegions.
| PlaybackRegion_t |
|
virtualinherited |
Initialises the renderer for playback.
| sampleRate | The sample rate that will be used for the data that is sent to the renderer |
| maximumSamplesPerBlock | The maximum number of samples that will be in the blocks sent to process() method |
| numChannels | The number of channels that the process() method will be expected to handle |
| precision | This should be the same as the result of getProcessingPrecision() for the enclosing AudioProcessor |
| alwaysNonRealtime | yes if this renderer is never used in realtime (e.g. if providing data for views only) |
|
virtualnoexcept |
Renders the output into the given buffer.
Returns true if rendering executed without error, false otherwise.
| 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.
Reimplemented from juce::ARARenderer.
|
overridevirtualnoexcept |
Renders the output into the given buffer.
Returns true if rendering executed without error, false otherwise.
| 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 juce::ARARenderer.
|
virtualnoexcept |
Renders the output into the given buffer.
Returns true if rendering executed without error, false otherwise.
| 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 juce::ARARenderer.
|
inlinevirtualinherited |
Frees render resources allocated in prepareToPlay().
|
inlinevirtualinherited |
Resets the internal state variables of the renderer.