Loading...
Searching...
No Matches
juce::ARAAudioSourceReader Class Reference

## 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.

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

- juce_audio_formats/format/juce_ARAAudioReaders.h

Inheritance diagram for juce::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 juce::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.

## Additional Inherited Members

Public Attributes inherited from juce::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 juce::AudioFormatReader
| AudioFormatReader (InputStream *sourceStream, const String &formatName)
| Creates an AudioFormatReader object.
Static Protected Member Functions inherited from juce::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.

## Constructors and Destructors

## ARAAudioSourceReader()

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

explicit

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

Referenced by willDestroyAudioSource().

## ~ARAAudioSourceReader()

juce::ARAAudioSourceReader::~ARAAudioSourceReader | ( |  | ) |

override

## Member Functions

## readSamples()

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

override virtual

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 juce::AudioFormatReader.

## isValid()

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

inline

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

## invalidate()

void juce::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 juce::ARAAudioSourceReader::willUpdateAudioSourceProperties | ( | ARAAudioSource * | audioSource,
|  | ARAAudioSource::PropertiesPtr | newProperties )

override virtual

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 juce::ARAAudioSourceListener.

## doUpdateAudioSourceContent()

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

override virtual

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 juce::ARAAudioSourceListener.

## willEnableAudioSourceSamplesAccess()

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

override virtual

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 juce::ARAAudioSourceListener.

## didEnableAudioSourceSamplesAccess()

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

override virtual

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 juce::ARAAudioSourceListener.

## willDestroyAudioSource()

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

override virtual

Called before the audio source is destroyed.

Parameters

  audioSource | The audio source that will be destroyed.

Reimplemented from juce::ARAAudioSourceListener.

References ARAAudioSourceReader().

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