14#ifndef __AUDACITY_WIDE_SAMPLE_SOURCE__
15#define __AUDACITY_WIDE_SAMPLE_SOURCE__
44 std::optional<size_t>
Acquire(
Buffers &data,
size_t bound)
override;
55 size_t mLastProduced{};
57 bool mInitialized{
false };
Accumulates (non-interleaved) data during effect processing.
Upstream producer of sample streams, taking Buffers as external context.
virtual sampleCount Remaining() const =0
Result includes any amount Acquired and not yet Released.
virtual bool AcceptsBlockSize(size_t blockSize) const =0
virtual bool AcceptsBuffers(const Buffers &buffers) const =0
virtual std::optional< size_t > Acquire(Buffers &data, size_t bound)=0
Occupy vacant space in Buffers with some data.
virtual bool Release()=0
Caller is done examining last Acquire()d positions.
Adapts WideSampleSequence to the interface AudioGraph::Source.
const WideSampleSequence & mSequence
~WideSampleSource() override
std::function< bool(sampleCount blockSize)> Poller
Type of function returning false if user cancels progress.
Positions or offsets within audio files need a wide type.