30 int64 startSampleToUse, int64 lengthToUse,
34 startSample (startSampleToUse),
35 deleteSourceWhenDeleted (deleteSource)
37 length = jmin (jmax ((int64) 0, source->lengthInSamples - startSample), lengthToUse);
48 if (deleteSourceWhenDeleted)
54 int64 startSampleInFile,
int numSamples)
57 startSampleInFile, numSamples, length);
62 return source->readSamples (destSamples, numDestChannels, startOffsetInDestBuffer,
63 startSampleInFile + startSample, numSamples);
68 startSampleInFile = jmax ((int64) 0, startSampleInFile);
69 numSamples = jmax ((int64) 0, jmin (numSamples, length - startSampleInFile));
71 source->readMaxLevels (startSampleInFile + startSample, numSamples, results, numChannelsToRead);
AudioSubsectionReader(AudioFormatReader *sourceReader, int64 subsectionStartSample, int64 subsectionLength, bool deleteSourceWhenDeleted)
~AudioSubsectionReader() override
void readMaxLevels(int64 startSample, int64 numSamples, Range< float > *results, int numChannelsToRead) override
bool readSamples(int *const *destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override