59 bool deleteSourceWhenDeleted,
60 int numberOfSamplesToBuffer,
61 int numberOfChannels = 2,
62 bool prefillBufferOnPrepareToPlay =
true);
73 void prepareToPlay (
int samplesPerBlockExpected,
double sampleRate)
override;
76 void releaseResources()
override;
83 void setNextReadPosition (int64 newPosition)
override;
86 int64 getNextReadPosition()
const override;
104 int numberOfSamplesToBuffer, numberOfChannels;
108 std::atomic<int64> bufferValidStart { 0 }, bufferValidEnd { 0 }, nextPlayPos { 0 };
109 double sampleRate = 0;
110 bool wasSourceLooping =
false, isPrepared =
false, prefillBuffer;
112 bool readNextBufferChunk();
113 void readBufferSection (int64 start,
int length,
int bufferOffset);
114 int useTimeSlice()
override;
virtual int64 getTotalLength() const =0
int64 getTotalLength() const override
virtual bool isLooping() const =0
bool isLooping() const override