15#ifndef __AUDACITY_SAMPLE_TRACK_SOURCE__
16#define __AUDACITY_SAMPLE_TRACK_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 SampleTrack to the interface AudioGraph::Source.
const SampleTrack & mLeft
std::function< bool(sampleCount blockSize)> Poller
Type of function returning false if user cancels progress.
const SampleTrack *const mpRight
~SampleTrackSource() override
Positions or offsets within audio files need a wide type.