JUCE  v5.1.1-3-g1a0b28c73
JUCE API
AudioFormatReaderSource Class Reference

A type of AudioSource that will read from an AudioFormatReader. More...

#include <juce_AudioFormatReaderSource.h>

Inheritance diagram for AudioFormatReaderSource:
Collaboration diagram for AudioFormatReaderSource:

Public Member Functions

 AudioFormatReaderSource (AudioFormatReader *sourceReader, bool deleteReaderWhenThisIsDeleted)
 Creates an AudioFormatReaderSource for a given reader. More...
 
 ~AudioFormatReaderSource ()
 Destructor. More...
 
AudioFormatReadergetAudioFormatReader () const noexcept
 Returns the reader that's being used. More...
 
void getNextAudioBlock (const AudioSourceChannelInfo &) override
 Implementation of the AudioSource method. More...
 
int64 getNextReadPosition () const override
 Implements the PositionableAudioSource method. More...
 
int64 getTotalLength () const override
 Implements the PositionableAudioSource method. More...
 
bool isLooping () const override
 Returns whether loop-mode is turned on or not. More...
 
void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override
 Implementation of the AudioSource method. More...
 
void releaseResources () override
 Implementation of the AudioSource method. More...
 
void setLooping (bool shouldLoop) override
 Toggles loop-mode. More...
 
void setNextReadPosition (int64 newPosition) override
 Implements the PositionableAudioSource method. More...
 

Private Attributes

bool volatile looping
 
int64 volatile nextPlayPos
 
OptionalScopedPointer< AudioFormatReaderreader
 

Detailed Description

Constructor & Destructor Documentation

◆ AudioFormatReaderSource()

AudioFormatReaderSource::AudioFormatReaderSource ( AudioFormatReader sourceReader,
bool  deleteReaderWhenThisIsDeleted 
)

Creates an AudioFormatReaderSource for a given reader.

Parameters
sourceReaderthe reader to use as the data source - this must not be null
deleteReaderWhenThisIsDeletedif true, the reader passed-in will be deleted when this object is deleted; if false it will be left up to the caller to manage its lifetime

◆ ~AudioFormatReaderSource()

AudioFormatReaderSource::~AudioFormatReaderSource ( )

Destructor.

Member Function Documentation

◆ getAudioFormatReader()

◆ getNextAudioBlock()

void AudioFormatReaderSource::getNextAudioBlock ( const AudioSourceChannelInfo )
overridevirtual

Implementation of the AudioSource method.

Implements AudioSource.

◆ getNextReadPosition()

int64 AudioFormatReaderSource::getNextReadPosition ( ) const
overridevirtual

Implements the PositionableAudioSource method.

Implements PositionableAudioSource.

◆ getTotalLength()

int64 AudioFormatReaderSource::getTotalLength ( ) const
overridevirtual

Implements the PositionableAudioSource method.

Implements PositionableAudioSource.

◆ isLooping()

bool AudioFormatReaderSource::isLooping ( ) const
inlineoverridevirtual

Returns whether loop-mode is turned on or not.

Implements PositionableAudioSource.

◆ prepareToPlay()

void AudioFormatReaderSource::prepareToPlay ( int  samplesPerBlockExpected,
double  sampleRate 
)
overridevirtual

Implementation of the AudioSource method.

Implements AudioSource.

◆ releaseResources()

void AudioFormatReaderSource::releaseResources ( )
overridevirtual

Implementation of the AudioSource method.

Implements AudioSource.

◆ setLooping()

void AudioFormatReaderSource::setLooping ( bool  shouldLoop)
overridevirtual

Toggles loop-mode.

If set to true, it will continuously loop the input source. If false, it will just emit silence after the source has finished.

See also
isLooping

Reimplemented from PositionableAudioSource.

◆ setNextReadPosition()

void AudioFormatReaderSource::setNextReadPosition ( int64  newPosition)
overridevirtual

Implements the PositionableAudioSource method.

Implements PositionableAudioSource.

Member Data Documentation

◆ looping

bool volatile AudioFormatReaderSource::looping
private

◆ nextPlayPos

int64 volatile AudioFormatReaderSource::nextPlayPos
private

◆ reader

OptionalScopedPointer<AudioFormatReader> AudioFormatReaderSource::reader
private

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