JUCE
|
A type of AudioSource which can be repositioned. More...
Public Member Functions | |
~PositionableAudioSource () override=default | |
Destructor. More... | |
virtual void | setNextReadPosition (int64 newPosition)=0 |
Tells the stream to move to a new position. More... | |
virtual int64 | getNextReadPosition () const =0 |
Returns the position from which the next block will be returned. More... | |
virtual int64 | getTotalLength () const =0 |
Returns the total length of the stream (in samples). More... | |
virtual bool | isLooping () const =0 |
Returns true if this source is actually playing in a loop. More... | |
virtual void | setLooping (bool shouldLoop) |
Tells the source whether you'd like it to play in a loop. More... | |
Public Member Functions inherited from AudioSource | |
virtual | ~AudioSource ()=default |
Destructor. More... | |
virtual void | prepareToPlay (int samplesPerBlockExpected, double sampleRate)=0 |
Tells the source to prepare for playing. More... | |
virtual void | releaseResources ()=0 |
Allows the source to release anything it no longer needs after playback has stopped. More... | |
virtual void | getNextAudioBlock (const AudioSourceChannelInfo &bufferToFill)=0 |
Called repeatedly to fetch subsequent blocks of audio data. More... | |
Protected Member Functions | |
PositionableAudioSource ()=default | |
Creates the PositionableAudioSource. More... | |
Protected Member Functions inherited from AudioSource | |
AudioSource ()=default | |
Creates an AudioSource. More... | |
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 AudioTransportSource, AudioFormatReaderSource, and BufferingAudioSource.
Referenced by AudioFormatReaderSource::getAudioFormatReader(), and AudioTransportSource::getGain().
|
pure virtual |
Returns the position from which the next block will be returned.
Implemented in AudioTransportSource, AudioFormatReaderSource, and BufferingAudioSource.
Referenced by AudioFormatReaderSource::getAudioFormatReader(), and AudioTransportSource::getGain().
|
pure virtual |
Returns the total length of the stream (in samples).
Implemented in AudioTransportSource, AudioFormatReaderSource, and BufferingAudioSource.
Referenced by AudioFormatReaderSource::getAudioFormatReader(), AudioTransportSource::getGain(), and BufferingAudioSource::getTotalLength().
|
pure virtual |
Returns true if this source is actually playing in a loop.
Implemented in AudioTransportSource, BufferingAudioSource, and AudioFormatReaderSource.
Referenced by AudioTransportSource::getGain(), and BufferingAudioSource::isLooping().
|
virtual |
Tells the source whether you'd like it to play in a loop.
Reimplemented in AudioFormatReaderSource.
References ignoreUnused().