|
| ARAPlaybackRegionReader (ARAPlaybackRegion *playbackRegion) |
| Create an ARAPlaybackRegionReader instance to read the given playbackRegion , using the sample rate and channel count of the underlying ARAAudioSource.
|
|
| ARAPlaybackRegionReader (double sampleRate, int numChannels, const std::vector< ARAPlaybackRegion * > &playbackRegions) |
| Create an ARAPlaybackRegionReader instance to read the given playbackRegions .
|
|
| ~ARAPlaybackRegionReader () override |
|
bool | isValid () const |
| Returns true as long as any of the reader's underlying playback region's haven't changed.
|
|
void | invalidate () |
| Invalidate the reader - this should be called if the sample content of any of the reader's ARAPlaybackRegions changes.
|
|
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.
|
|
void | willUpdatePlaybackRegionProperties (ARAPlaybackRegion *playbackRegion, ARAPlaybackRegion::PropertiesPtr newProperties) override |
| Called before the playback region's properties are updated.
|
|
void | didUpdatePlaybackRegionContent (ARAPlaybackRegion *playbackRegion, ARAContentUpdateScopes scopeFlags) override |
| Called when the playback region's content (i.e.
|
|
void | willDestroyPlaybackRegion (ARAPlaybackRegion *playbackRegion) override |
| Called before the playback region is destroyed.
|
|
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.
|
|
Subclass of AudioFormatReader that reads samples from a group of playback regions.
Plug-Ins typically use this to draw the output of a playback region in their UI.
In order to read from playback regions, the reader requires an audio processor that acts as ARA playback renderer. Configuring the audio processor for real-time operation results in the reader being real-time capable too, unlike most other AudioFormatReaders. The reader instance will take care of adding all regions being read to the renderer and invoke its processBlock function in order to read the region samples.
The reader becomes invalid if
- any region properties are updated in a way that would affect its samples,
- any region content is updated in a way that would affect its samples, or
- any of its regions are destroyed.