Loading...
Searching...
No Matches
juce::BufferingAudioReader Class Reference

`#include <juce_BufferingAudioFormatReader.h>`

Inheritance diagram for juce::BufferingAudioReader:

## Public Member Functions

| BufferingAudioReader (AudioFormatReader *sourceReader, TimeSliceThread &timeSliceThread, int samplesToBuffer)
void | setReadTimeout (int timeoutMilliseconds) noexcept
bool | readSamples (int *const *destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override
Public Member Functions inherited from juce::AudioFormatReader
virtual | ~AudioFormatReader ()
const String & | getFormatName () const noexcept
bool | read (float *const *destChannels, int numDestChannels, int64 startSampleInSource, int numSamplesToRead)
bool | read (int *const *destChannels, int numDestChannels, int64 startSampleInSource, int numSamplesToRead, bool fillLeftoverChannelsWithCopies)
bool | read (AudioBuffer< float > *buffer, int startSampleInDestBuffer, int numSamples, int64 readerStartSample, bool useReaderLeftChan, bool useReaderRightChan)
virtual void | readMaxLevels (int64 startSample, int64 numSamples, Range< float > *results, int numChannelsToRead)
virtual void | readMaxLevels (int64 startSample, int64 numSamples, float &lowestLeft, float &highestLeft, float &lowestRight, float &highestRight)
int64 | searchForLevel (int64 startSample, int64 numSamplesToSearch, double magnitudeRangeMinimum, double magnitudeRangeMaximum, int minimumConsecutiveSamples)
virtual AudioChannelSet | getChannelLayout ()

## Additional Inherited Members

Public Attributes inherited from juce::AudioFormatReader
double | sampleRate = 0
unsigned int | bitsPerSample = 0
int64 | lengthInSamples = 0
unsigned int | numChannels = 0
bool | usesFloatingPointData = false
StringPairArray | metadataValues
InputStream * | input
Protected Member Functions inherited from juce::AudioFormatReader
| AudioFormatReader (InputStream *sourceStream, const String &formatName)
Static Protected Member Functions inherited from juce::AudioFormatReader
static void | clearSamplesBeyondAvailableLength (int *const *destChannels, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int &numSamples, int64 fileLengthInSamples)

## Detailed Description

An AudioFormatReader that uses a background thread to pre-read data from another reader.

See also
  AudioFormatReader

Definition at line 38 of file juce_BufferingAudioFormatReader.h.

## Constructor & Destructor Documentation

## BufferingAudioReader()

juce::BufferingAudioReader::BufferingAudioReader | ( | AudioFormatReader * | sourceReader,
|  | TimeSliceThread & | timeSliceThread,
|  | int | samplesToBuffer )

Creates a reader.

Parameters

  sourceReader | the source reader to wrap. This BufferingAudioReader takes ownership of this object and will delete it later when no longer needed
  timeSliceThread | the thread that should be used to do the background reading. Make sure that the thread you supply is running, and won't be deleted while the reader object still exists.
  samplesToBuffer | the total number of samples to buffer ahead.

Definition at line 29 of file juce_BufferingAudioFormatReader.cpp.

## ~BufferingAudioReader()

juce::BufferingAudioReader::~BufferingAudioReader | ( |  | ) |

override

Definition at line 46 of file juce_BufferingAudioFormatReader.cpp.

## Member Function Documentation

## readSamples()

bool juce::BufferingAudioReader::readSamples | ( | int *const * | destChannels,
|  | int | numDestChannels,
|  | int | startOffsetInDestBuffer,
|  | int64 | startSampleInFile,
|  | int | numSamples )

override virtual

Subclasses must implement this method to perform the low-level read operation.

Callers should use read() instead of calling this directly.

Parameters

  destChannels | the array of destination buffers to fill. Some of these pointers may be null
  numDestChannels | the number of items in the destChannels array. This value is guaranteed not to be greater than the number of channels that this reader object contains
  startOffsetInDestBuffer | the number of samples from the start of the dest data at which to begin writing
  startSampleInFile | the number of samples into the source data at which to begin reading. This value is guaranteed to be >= 0.
  numSamples | the number of samples to read

Implements juce::AudioFormatReader.

Definition at line 56 of file juce_BufferingAudioFormatReader.cpp.

## setReadTimeout()

void juce::BufferingAudioReader::setReadTimeout | ( | int | timeoutMilliseconds | ) |

noexcept

Sets a number of milliseconds that the reader can block for in its readSamples() method before giving up and returning silence.

A value of less that 0 means "wait forever". The default timeout is 0.

Definition at line 51 of file juce_BufferingAudioFormatReader.cpp.

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

- juce_BufferingAudioFormatReader.h
- juce_BufferingAudioFormatReader.cpp