JUCE: ARAAudioSourceReader Class Reference

JUCE

- Main Page
- Related Pages
- Modules
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
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`.
| ~ARAAudioSourceReader () override
bool | readSamples (int *const *destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override
| Subclasses must implement this method to perform the low-level read operation.
bool | isValid () const
| Returns true as long as the reader's underlying ARAAudioSource remains accessible and its sample content is not changed.
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!).
void | willUpdateAudioSourceProperties (ARAAudioSource *audioSource, ARAAudioSource::PropertiesPtr newProperties) override
| Called before the audio source's properties are updated.
void | doUpdateAudioSourceContent (ARAAudioSource *audioSource, ARAContentUpdateScopes scopeFlags) override
| Called when the audio source's content (i.e.
void | willEnableAudioSourceSamplesAccess (ARAAudioSource *audioSource, bool enable) override
| Called before access to an audio source's samples is enabled or disabled.
void | didEnableAudioSourceSamplesAccess (ARAAudioSource *audioSource, bool enable) override
| Called after access to an audio source's samples is enabled or disabled.
void | willDestroyAudioSource (ARAAudioSource *audioSource) override
| Called before the audio source is destroyed.
Public Member Functions inherited from AudioFormatReader
virtual | ~AudioFormatReader ()
| Destructor.
const String & | getFormatName () const noexcept
| Returns a description of what type of format this is.
bool | read (float *const *destChannels, int numDestChannels, int64 startSampleInSource, int numSamplesToRead)
| Reads samples from the stream.
bool | read (int *const *destChannels, int numDestChannels, int64 startSampleInSource, int numSamplesToRead, bool fillLeftoverChannelsWithCopies)
| Reads samples from the stream.
bool | read (AudioBuffer< float > *buffer, int startSampleInDestBuffer, int numSamples, int64 readerStartSample, bool useReaderLeftChan, bool useReaderRightChan)
| Fills a section of an AudioBuffer from this reader.
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.
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.
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.
virtual AudioChannelSet | getChannelLayout ()
| Get the channel layout of the audio stream.
virtual bool | readSamples (int *const *destChannels, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples)=0
| Subclasses must implement this method to perform the low-level read operation.

## Additional Inherited Members
Public Attributes inherited from AudioFormatReader
double | sampleRate = 0
| The sample-rate of the stream.
unsigned int | bitsPerSample = 0
| The number of bits per sample, e.g.
int64 | lengthInSamples = 0
| The total number of samples in the audio stream.
unsigned int | numChannels = 0
| The total number of channels in the audio stream.
bool | usesFloatingPointData = false
| Indicates whether the data is floating-point or fixed.
StringPairArray | metadataValues
| A set of metadata values that the reader has pulled out of the stream.
InputStream * | input
| The input stream, for use by subclasses.
Protected Member Functions inherited from AudioFormatReader
| AudioFormatReader (InputStream *sourceStream, const String &formatName)
| Creates an AudioFormatReader object.
Static Protected Member Functions inherited from AudioFormatReader
static void | clearSamplesBeyondAvailableLength (int *const *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.

## 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 *const * | 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