JUCE
Public Member Functions | Protected Member Functions | List of all members
PositionableAudioSource Class Referenceabstract

A type of AudioSource which can be repositioned. More...

Inheritance diagram for PositionableAudioSource:

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...
 

Detailed Description

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.

See also
AudioSource, AudioTransportSource

Constructor & Destructor Documentation

◆ PositionableAudioSource()

PositionableAudioSource::PositionableAudioSource ( )
protecteddefault

◆ ~PositionableAudioSource()

PositionableAudioSource::~PositionableAudioSource ( )
overridedefault

Destructor.

Member Function Documentation

◆ setNextReadPosition()

virtual void PositionableAudioSource::setNextReadPosition ( int64  newPosition)
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().

◆ getNextReadPosition()

virtual int64 PositionableAudioSource::getNextReadPosition ( ) const
pure virtual

Returns the position from which the next block will be returned.

See also
setNextReadPosition

Implemented in AudioTransportSource, AudioFormatReaderSource, and BufferingAudioSource.

Referenced by AudioFormatReaderSource::getAudioFormatReader(), and AudioTransportSource::getGain().

◆ getTotalLength()

virtual int64 PositionableAudioSource::getTotalLength ( ) const
pure virtual

◆ isLooping()

virtual bool PositionableAudioSource::isLooping ( ) const
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().

◆ setLooping()

virtual void PositionableAudioSource::setLooping ( bool  shouldLoop)
virtual

Tells the source whether you'd like it to play in a loop.

Reimplemented in AudioFormatReaderSource.

References ignoreUnused().


The documentation for this class was generated from the following file: