JUCE: ARAAudioSourceReader Class Reference

JUCE

Public Member Functions | List of all members
ARAAudioSourceReader Class Reference
juce_audio_formats » format

Subclass of AudioFormatReader that reads samples from a single ARA audio source. More...

`#include <juce_ARAAudioReaders.h>`

Inheritance diagram for ARAAudioSourceReader:

## Public Member Functions
| ARAAudioSourceReader (ARAAudioSource *audioSource)
| Use an ARAAudioSource to construct an audio source reader for the given `audioSource`. More...
| ~ARAAudioSourceReader () override
bool | readSamples (int **destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override
| Subclasses must implement this method to perform the low-level read operation. More...
bool | isValid () const
| Returns true as long as the reader's underlying ARAAudioSource remains accessible and its sample content is not changed. More...
void | invalidate ()
| Invalidate the reader - the reader will call this internally if needed, but can also be invalidated from the outside (from message thread only!). More...
void | willUpdateAudioSourceProperties (ARAAudioSource *audioSource, ARAAudioSource::PropertiesPtr newProperties) override
| Called before the audio source's properties are updated. More...
void | doUpdateAudioSourceContent (ARAAudioSource *audioSource, ARAContentUpdateScopes scopeFlags) override
| Called when the audio source's content (i.e. More...
void | willEnableAudioSourceSamplesAccess (ARAAudioSource *audioSource, bool enable) override
| Called before access to an audio source's samples is enabled or disabled. More...
void | didEnableAudioSourceSamplesAccess (ARAAudioSource *audioSource, bool enable) override
| Called after access to an audio source's samples is enabled or disabled. More...
void | willDestroyAudioSource (ARAAudioSource *audioSource) override
| Called before the audio source is destroyed. More...
Public Member Functions inherited from AudioFormatReader
virtual | ~AudioFormatReader ()
| Destructor. More...
const String & | getFormatName () const noexcept
| Returns a description of what type of format this is. More...
bool | read (float *const *destChannels, int numDestChannels, int64 startSampleInSource, int numSamplesToRead)
| Reads samples from the stream. More...
bool | read (int *const *destChannels, int numDestChannels, int64 startSampleInSource, int numSamplesToRead, bool fillLeftoverChannelsWithCopies)
| Reads samples from the stream. More...
bool | read (AudioBuffer< float > *buffer, int startSampleInDestBuffer, int numSamples, int64 readerStartSample, bool useReaderLeftChan, bool useReaderRightChan)
| Fills a section of an AudioBuffer from this reader. More...
virtual void | readMaxLevels (int64 startSample, int64 numSamples, Range< float > *results, int numChannelsToRead)
| Finds the highest and lowest sample levels from a section of the audio stream. More...
virtual void | readMaxLevels (int64 startSample, int64 numSamples, float &lowestLeft, float &highestLeft, float &lowestRight, float &highestRight)
| Finds the highest and lowest sample levels from a section of the audio stream. More...
int64 | searchForLevel (int64 startSample, int64 numSamplesToSearch, double magnitudeRangeMinimum, double magnitudeRangeMaximum, int minimumConsecutiveSamples)
| Scans the source looking for a sample whose magnitude is in a specified range. More...
virtual AudioChannelSet | getChannelLayout ()
| Get the channel layout of the audio stream. More...

## Additional Inherited Members
Public Attributes inherited from AudioFormatReader
double | sampleRate = 0
| The sample-rate of the stream. More...
unsigned int | bitsPerSample = 0
| The number of bits per sample, e.g. More...
int64 | lengthInSamples = 0
| The total number of samples in the audio stream. More...
unsigned int | numChannels = 0
| The total number of channels in the audio stream. More...
bool | usesFloatingPointData = false
| Indicates whether the data is floating-point or fixed. More...
StringPairArray | metadataValues
| A set of metadata values that the reader has pulled out of the stream. More...
InputStream * | input
| The input stream, for use by subclasses. More...
Protected Member Functions inherited from AudioFormatReader
| AudioFormatReader (InputStream *sourceStream, const String &formatName)
| Creates an AudioFormatReader object. More...
Static Protected Member Functions inherited from AudioFormatReader
static void | clearSamplesBeyondAvailableLength (int **destChannels, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int &numSamples, int64 fileLengthInSamples)
| Used by AudioFormatReader subclasses to clear any parts of the data blocks that lie beyond the end of their available length. More...

## Detailed Description

Subclass of AudioFormatReader that reads samples from a single ARA audio source.

Plug-Ins typically use this from their rendering code, wrapped in a BufferingAudioReader to bridge between realtime rendering and non-realtime audio reading.

The reader becomes invalidated if

- the audio source content is updated in a way that affects its samples,
- the audio source sample access is disabled, or
- the audio source being read is destroyed.

## Constructor & Destructor Documentation

## ◆ ARAAudioSourceReader()

ARAAudioSourceReader::ARAAudioSourceReader | ( | ARAAudioSource * | audioSource | ) |
| explicit

Use an ARAAudioSource to construct an audio source reader for the given `audioSource`.

## ◆ ~ARAAudioSourceReader()

ARAAudioSourceReader::~ARAAudioSourceReader | ( |  | ) |
| override

## Member Function Documentation

## ◆ readSamples()

bool ARAAudioSourceReader::readSamples | ( | int ** | destChannels,
|  | int | numDestChannels,
|  | int | startOffsetInDestBuffer,
|  | int64 | startSampleInFile,
|  | int | numSamples
| ) |  |
| overridevirtual

Subclasses must implement this method to perform the low-level read operation.

Callers should use read() instead of calling this directly.

Parameters

  destChannels | the array of destination buffers to fill. Some of these pointers may be null
  numDestChannels | the number of items in the destChannels array. This value is guaranteed not to be greater than the number of channels that this reader object contains
  startOffsetInDestBuffer | the number of samples from the start of the dest data at which to begin writing
  startSampleInFile | the number of samples into the source data at which to begin reading. This value is guaranteed to be >= 0.
  numSamples | the number of samples to read

Implements AudioFormatReader.

## ◆ isValid()

bool ARAAudioSourceReader::isValid | ( |  | ) | const

Returns true as long as the reader's underlying ARAAudioSource remains accessible and its sample content is not changed.

## ◆ invalidate()

void ARAAudioSourceReader::invalidate | ( |  | ) |

Invalidate the reader - the reader will call this internally if needed, but can also be invalidated from the outside (from message thread only!).

## ◆ willUpdateAudioSourceProperties()

void ARAAudioSourceReader::willUpdateAudioSourceProperties | ( | ARAAudioSource * | audioSource,
|  | ARAAudioSource::PropertiesPtr | newProperties
| ) |  |
| overridevirtual

Called before the audio source's properties are updated.

Parameters

  audioSource | The audio source whose properties will be updated.
  newProperties | The audio source properties that will be assigned to `audioSource`.

Reimplemented from ARAAudioSourceListener.

## ◆ doUpdateAudioSourceContent()

void ARAAudioSourceReader::doUpdateAudioSourceContent | ( | ARAAudioSource * | audioSource,
|  | ARAContentUpdateScopes | scopeFlags
| ) |  |
| overridevirtual

Called when the audio source's content (i.e.

samples or notes) changes.

Parameters

  audioSource | The audio source with updated content.
  scopeFlags | The scope of the content update.

Reimplemented from ARAAudioSourceListener.

## ◆ willEnableAudioSourceSamplesAccess()

void ARAAudioSourceReader::willEnableAudioSourceSamplesAccess | ( | ARAAudioSource * | audioSource,
|  | bool | enable
| ) |  |
| overridevirtual

Called before access to an audio source's samples is enabled or disabled.

Parameters

  audioSource | The audio source whose sample access state will be changed.
  enable | A bool indicating whether or not sample access will be enabled or disabled.

Reimplemented from ARAAudioSourceListener.

## ◆ didEnableAudioSourceSamplesAccess()

void ARAAudioSourceReader::didEnableAudioSourceSamplesAccess | ( | ARAAudioSource * | audioSource,
|  | bool | enable
| ) |  |
| overridevirtual

Called after access to an audio source's samples is enabled or disabled.

Parameters

  audioSource | The audio source whose sample access state was changed.
  enable | A bool indicating whether or not sample access was enabled or disabled.

Reimplemented from ARAAudioSourceListener.

## ◆ willDestroyAudioSource()

void ARAAudioSourceReader::willDestroyAudioSource | ( | ARAAudioSource * | audioSource | ) |
| overridevirtual

Called before the audio source is destroyed.

Parameters

  audioSource | The audio source that will be destroyed.

Reimplemented from ARAAudioSourceListener.

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

- juce_ARAAudioReaders.h