JUCE

- Main Page
- Related Pages
- Topics
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
PositionableAudioSource Class Referenceabstract
juce_audio_basics » sources

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

`#include <juce_PositionableAudioSource.h>`

Inheritance diagram for PositionableAudioSource:

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

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

## ◆ getNextReadPosition()

virtual int64 PositionableAudioSource::getNextReadPosition | ( |  | ) | const
| pure virtual

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

See also
  setNextReadPosition

Implemented in BufferingAudioSource, MemoryAudioSource, AudioTransportSource, and AudioFormatReaderSource.

## ◆ getTotalLength()

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

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

Implemented in BufferingAudioSource, MemoryAudioSource, AudioTransportSource, and AudioFormatReaderSource.

## ◆ isLooping()

virtual bool PositionableAudioSource::isLooping | ( |  | ) | const
| pure virtual

Returns true if this source is actually playing in a loop.

Implemented in BufferingAudioSource, MemoryAudioSource, AudioTransportSource, and AudioFormatReaderSource.

## ◆ setLooping()

virtual void PositionableAudioSource::setLooping | ( | bool | shouldLoop | ) |
| virtual

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

Reimplemented in MemoryAudioSource, and AudioFormatReaderSource.

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

- juce_PositionableAudioSource.h