A type of AudioSource which can be repositioned. More...
#include <juce_PositionableAudioSource.h>
Public Member Functions | |
~PositionableAudioSource () override=default | |
Destructor. | |
virtual void | setNextReadPosition (int64 newPosition)=0 |
Tells the stream to move to a new position. | |
virtual int64 | getNextReadPosition () const =0 |
Returns the position from which the next block will be returned. | |
virtual int64 | getTotalLength () const =0 |
Returns the total length of the stream (in samples). | |
virtual bool | isLooping () const =0 |
Returns true if this source is actually playing in a loop. | |
virtual void | setLooping (bool shouldLoop) |
Tells the source whether you'd like it to play in a loop. | |
Public Member Functions inherited from AudioSource | |
virtual | ~AudioSource ()=default |
Destructor. | |
virtual void | prepareToPlay (int samplesPerBlockExpected, double sampleRate)=0 |
Tells the source to prepare for playing. | |
virtual void | releaseResources ()=0 |
Allows the source to release anything it no longer needs after playback has stopped. | |
virtual void | getNextAudioBlock (const AudioSourceChannelInfo &bufferToFill)=0 |
Called repeatedly to fetch subsequent blocks of audio data. | |
Protected Member Functions | |
PositionableAudioSource ()=default | |
Creates the PositionableAudioSource. | |
Protected Member Functions inherited from AudioSource | |
AudioSource ()=default | |
Creates an AudioSource. | |
A type of AudioSource which can be repositioned.
The basic AudioSource just streams continuously with no idea of a current time or length, so the PositionableAudioSource is used for a finite stream that has a current read position.
|
protecteddefault |
Creates the PositionableAudioSource.
|
overridedefault |
Destructor.
|
pure virtual |
Tells the stream to move to a new position.
Calling this indicates that the next call to AudioSource::getNextAudioBlock() should return samples from this position.
Note that this may be called on a different thread to getNextAudioBlock(), so the subclass should make sure it's synchronised.
Implemented in AudioFormatReaderSource, AudioTransportSource, BufferingAudioSource, and MemoryAudioSource.
|
pure virtual |
Returns the position from which the next block will be returned.
Implemented in AudioFormatReaderSource, AudioTransportSource, BufferingAudioSource, and MemoryAudioSource.
|
pure virtual |
Returns the total length of the stream (in samples).
Implemented in AudioFormatReaderSource, AudioTransportSource, BufferingAudioSource, and MemoryAudioSource.
|
pure virtual |
Returns true if this source is actually playing in a loop.
Implemented in AudioFormatReaderSource, AudioTransportSource, BufferingAudioSource, and MemoryAudioSource.
|
virtual |
Tells the source whether you'd like it to play in a loop.
Reimplemented in AudioFormatReaderSource, and MemoryAudioSource.