Subclass of AudioFormatReader that reads samples from a single ARA audio source. More...
#include <juce_ARAAudioReaders.h>
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. | |
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. | |
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
|
explicit |
Use an ARAAudioSource to construct an audio source reader for the given audioSource
.
|
override |
|
overridevirtual |
Subclasses must implement this method to perform the low-level read operation.
Callers should use read() instead of calling this directly.
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.
bool ARAAudioSourceReader::isValid | ( | ) | const |
Returns true as long as the reader's underlying ARAAudioSource remains accessible and its sample content is not changed.
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!).
|
overridevirtual |
Called before the audio source's properties are updated.
audioSource | The audio source whose properties will be updated. |
newProperties | The audio source properties that will be assigned to audioSource . |
Reimplemented from ARAAudioSourceListener.
|
overridevirtual |
Called when the audio source's content (i.e.
samples or notes) changes.
audioSource | The audio source with updated content. |
scopeFlags | The scope of the content update. |
Reimplemented from ARAAudioSourceListener.
|
overridevirtual |
Called before access to an audio source's samples is enabled or disabled.
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.
|
overridevirtual |
Called after access to an audio source's samples is enabled or disabled.
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.
|
overridevirtual |
Called before the audio source is destroyed.
audioSource | The audio source that will be destroyed. |
Reimplemented from ARAAudioSourceListener.