PositionableAudioSource Class Referenceabstract
juce_audio_basics » sources

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 | ( |  | ) |

protected default

Creates the PositionableAudioSource.

## ~PositionableAudioSource()

PositionableAudioSource::~PositionableAudioSource | ( |  | ) |

override default

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.

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

## getTotalLength()

virtual int64 PositionableAudioSource::getTotalLength | ( |  | ) | const

pure virtual

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

Implemented in AudioTransportSource, AudioFormatReaderSource, and BufferingAudioSource.

Referenced by BufferingAudioSource::getTotalLength().

## 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 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:

- juce_PositionableAudioSource.h