11namespace tracktion {
inline namespace engine
23 : source (
std::move (mappedFileAndReader))
39 bool readSamples (
int*
const* destSamples,
int numDestChannels,
int startOffsetInDestBuffer,
40 juce::int64 startSampleInFile,
int numSamples)
override
42 return source->reader->readSamples (destSamples, numDestChannels, startOffsetInDestBuffer,
43 startSampleInFile, numSamples);
60 : source (std::move (sourceReader))
73 source->setReadTimeout (timeoutMilliseconds);
77 bool readSamples (
int*
const* destSamples,
int numDestChannels,
int startOffsetInDestBuffer,
78 juce::int64 startSampleInFile,
int numSamples)
override
80 return source->readSamples (destSamples, numDestChannels, startOffsetInDestBuffer,
81 startSampleInFile, numSamples);
FallbackReader that wraps a BufferingAudioReader to avoid reading on the audio thread.
void setReadTimeout(int timeoutMilliseconds) override
Subclassed must override this to set the timeout.
FallbackReader that wraps a MemoryMappedFile which usually improves read speeds.
MemoryMappedFileReader(std::unique_ptr< AudioFileUtils::MappedFileAndReader > mappedFileAndReader)
Creates a MemoryMappedFileReader for a MappedFileAndReader.
void setReadTimeout(int) override
Subclassed must override this to set the timeout.