57 int64 dataChunkStart,
int64 dataChunkLength,
int bytesPerFrame);
67 virtual bool mapSectionOfFile (
Range<int64> samplesToMap);
73 void touchSample (
int64 sample)
const noexcept;
79 virtual void getSample (
int64 sampleIndex,
float* result)
const noexcept = 0;
88 int64 dataChunkStart, dataLength;
101 template <
typename SampleType,
typename Endianness>
104 using SourceType = AudioData::Pointer <SampleType, Endianness, AudioData::Interleaved, AudioData::Const>;
106 return SourceType (
addBytesToPointer (sampleToPointer (startSampleInFile), ((
int) bitsPerSample / 8) * channel), (
int) numChannels)
Represents a local file or directory.
A general-purpose range object, that simply represents any linear range with a start and end point.
static Range findMinAndMax(const ValueType *values, Integral numValues) noexcept
Scans an array of values for its min and max, and returns these as a Range.
Type * addBytesToPointer(Type *basePointer, IntegerType bytes) noexcept
A handy function which adds a number of bytes to any type of pointer and returns the result.
long long int64
A platform-independent 64-bit integer type.