#include <tracktion_BufferedFileReader.h>
Inherits juce::AudioFormatReader, and juce::TimeSliceClient.
|
| BufferedFileReader (juce::AudioFormatReader *sourceReader, juce::TimeSliceThread &timeSliceThread, int samplesToBuffer) |
| Creates a reader.
|
|
| ~BufferedFileReader () override |
| Destructor.
|
|
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 | isFullyBuffered () const |
| Returns true if this has been initialised to buffer the whole file once that is complete, false otherwise.
|
|
bool | readSamples (int *const *destSamples, int numDestChannels, int startOffsetInDestBuffer, juce::int64 startSampleInFile, int numSamples) override |
|
An AudioFormatReader that uses a background thread to pre-read data from another reader.
N.B. This class is in development and not ready for public use yet!!
◆ BufferedFileReader()
tracktion::engine::BufferedFileReader::BufferedFileReader |
( |
juce::AudioFormatReader * |
sourceReader, |
|
|
juce::TimeSliceThread & |
timeSliceThread, |
|
|
int |
samplesToBuffer |
|
) |
| |
Creates a reader.
- Parameters
-
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. Pass -1 to buffer the whole source |
◆ ~BufferedFileReader()
tracktion::engine::BufferedFileReader::~BufferedFileReader |
( |
| ) |
|
|
override |
◆ setReadTimeout()
void tracktion::engine::BufferedFileReader::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.
A value of less that 0 means "wait forever". The default timeout is 0 which means don't wait at all.
◆ isFullyBuffered()
bool tracktion::engine::BufferedFileReader::isFullyBuffered |
( |
| ) |
const |
Returns true if this has been initialised to buffer the whole file once that is complete, false otherwise.
◆ readSamples()
bool tracktion::engine::BufferedFileReader::readSamples |
( |
int *const * |
destSamples, |
|
|
int |
numDestChannels, |
|
|
int |
startOffsetInDestBuffer, |
|
|
juce::int64 |
startSampleInFile, |
|
|
int |
numSamples |
|
) |
| |
|
override |
The documentation for this class was generated from the following file: