| JUCE
    | 
An AudioFormatReader that uses a background thread to pre-read data from another reader. More...
#include <juce_BufferingAudioFormatReader.h>
| Public Member Functions | |
| BufferingAudioReader (AudioFormatReader *sourceReader, TimeSliceThread &timeSliceThread, int samplesToBuffer) | |
| Creates a reader. | |
| ~BufferingAudioReader () override | |
| void | setReadTimeout (int timeoutMilliseconds) noexcept | 
| Sets a number of milliseconds that the reader can block for in its readSamples() method before giving up and returning silence. | |
| 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. | |
|  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. | |
An AudioFormatReader that uses a background thread to pre-read data from another reader.
| BufferingAudioReader::BufferingAudioReader | ( | AudioFormatReader * | sourceReader, | 
| TimeSliceThread & | timeSliceThread, | ||
| int | samplesToBuffer ) | 
Creates a reader.
| sourceReader | the source reader to wrap. This BufferingAudioReader takes ownership of this object and will delete it later when no longer needed | 
| timeSliceThread | the thread that should be used to do the background reading. Make sure that the thread you supply is running, and won't be deleted while the reader object still exists. | 
| samplesToBuffer | the total number of samples to buffer ahead. | 
| 
 | override | 
| 
 | noexcept | 
Sets a number of milliseconds that the reader can block for in its readSamples() method before giving up and returning silence.
A value of less that 0 means "wait forever". The default timeout is 0.
| 
 | 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.