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

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 StringgetFormatName () 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.
 
InputStreaminput
 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
destChannelsthe array of destination buffers to fill. Some of these pointers may be null
numDestChannelsthe 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
startOffsetInDestBufferthe number of samples from the start of the dest data at which to begin writing
startSampleInFilethe number of samples into the source data at which to begin reading. This value is guaranteed to be >= 0.
numSamplesthe 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
audioSourceThe audio source whose properties will be updated.
newPropertiesThe 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
audioSourceThe audio source with updated content.
scopeFlagsThe 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
audioSourceThe audio source whose sample access state will be changed.
enableA 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
audioSourceThe audio source whose sample access state was changed.
enableA 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
audioSourceThe audio source that will be destroyed.

Reimplemented from ARAAudioSourceListener.


The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram