JUCE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Protected Member Functions | List of all members
PositionableAudioSource Class Referenceabstract

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

Inherits AudioSource.

Inherited by AudioFormatReaderSource, AudioTransportSource, and BufferingAudioSource.

Public Member Functions

 ~PositionableAudioSource ()
 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 ()
 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 () noexcept
 Creates the PositionableAudioSource.
 
- Protected Member Functions inherited from AudioSource
 AudioSource () noexcept
 Creates an AudioSource.
 

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 ( )
protectednoexcept
PositionableAudioSource::~PositionableAudioSource ( )

Destructor.

Member Function Documentation

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, BufferingAudioSource, and AudioFormatReaderSource.

virtual int64 PositionableAudioSource::getNextReadPosition ( ) const
pure virtual

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

See Also
setNextReadPosition

Implemented in AudioTransportSource, BufferingAudioSource, and AudioFormatReaderSource.

virtual int64 PositionableAudioSource::getTotalLength ( ) const
pure virtual

Returns the total length of the stream (in samples).

Implemented in AudioTransportSource, BufferingAudioSource, and AudioFormatReaderSource.

Referenced by BufferingAudioSource::getTotalLength().

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 BufferingAudioSource::isLooping().

virtual void PositionableAudioSource::setLooping ( bool  shouldLoop)
virtual

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

Reimplemented in AudioFormatReaderSource.


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