Loading...
Searching...
No Matches
juce::ARARenderer Class Referenceabstract

## Detailed Description

Base class for a renderer fulfilling either the ARAPlaybackRenderer or the ARAEditorRenderer role.

Instances of either subclass are constructed by the DocumentController.

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

- juce_audio_processors_headless/utilities/ARA/juce_ARAPlugInInstanceRoles.h

Inheritance diagram for juce::ARARenderer:

## Public Types

enum class | AlwaysNonRealtime { no , yes }

## Public Member Functions

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.
virtual bool | processBlock (AudioBuffer< float > &buffer, AudioProcessor::Realtime realtime, const AudioPlayHead::PositionInfo &positionInfo) noexcept=0
| 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.

## Member Enums

## AlwaysNonRealtime

enum class juce::ARARenderer::AlwaysNonRealtime

strong

Enumerator
no |
yes |

## Constructors and Destructors

## ~ARARenderer()

virtual juce::ARARenderer::~ARARenderer | ( |  | ) |

virtual default

## Member Functions

## prepareToPlay()

virtual void juce::ARARenderer::prepareToPlay | ( | double | sampleRate,
|  | int | maximumSamplesPerBlock,
|  | int | numChannels,
|  | AudioProcessor::ProcessingPrecision | precision,
|  | AlwaysNonRealtime | alwaysNonRealtime = AlwaysNonRealtime::no )

virtual

Initialises the renderer for playback.

Parameters

  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)

References no.

## releaseResources()

virtual void juce::ARARenderer::releaseResources | ( |  | ) |

inline virtual

Frees render resources allocated in prepareToPlay().

## reset()

virtual void juce::ARARenderer::reset | ( |  | ) |

inline virtual

Resets the internal state variables of the renderer.

## processBlock() [1/2]

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

pure virtual noexcept

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.

Implemented in juce::ARAEditorRenderer, and juce::ARAPlaybackRenderer.

Referenced by juce::ARAEditorRenderer::processBlock(), and juce::ARAPlaybackRenderer::processBlock().

## processBlock() [2/2]

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

virtual noexcept

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.

Reimplemented in juce::ARAEditorRenderer, and juce::ARAPlaybackRenderer.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited