73 void touchSample (int64
sample)
const noexcept;
87 std::unique_ptr<MemoryMappedFile> map;
88 int64 dataChunkStart, dataLength;
98 inline const void*
sampleToPointer (int64
sample)
const noexcept {
return addBytesToPointer (map->getData(), sampleToFilePos (
sample) - map->getRange().getStart()); }
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)
107 .findMinAndMax ((
size_t) numSamples);