15 const float* outBuffer,
size_t mStepSize)
24 if (!
Start(queueLength))
30 bool bLoopSuccess =
true;
31 auto samplePos = start;
32 while (bLoopSuccess && samplePos < start + len)
37 start + len - samplePos);
40 channel.
GetFloats(buffer.data(), samplePos, blockSize);
41 samplePos += blockSize;
42 bLoopSuccess =
ProcessSamples(processor, buffer.data(), blockSize);
size_t limitSampleBufferSize(size_t bufferSize, sampleCount limit)
bool Append(constSamplePtr buffer, sampleFormat format, size_t len)
bool GetFloats(float *buffer, sampleCount start, size_t len, fillFormat fill=FillFormat::fillZero, bool mayThrow=true, sampleCount *pNumWithinClips=nullptr) const
"narrow" overload fetches from the unique channel
size_t GetBestBlockSize(sampleCount t) const
A hint for sizing of well aligned fetches.
size_t GetMaxBlockSize() const
A Track that contains audio waveform data.
void Clear(double t0, double t1) override
double GetEndTime() const override
Implement WideSampleSequence.
double LongSamplesToTime(sampleCount pos) const
Positions or offsets within audio files need a wide type.