OpenShot Library | libopenshot-audio 0.2.0
juce::WavAudioFormatReader Class Reference
+ Inheritance diagram for juce::WavAudioFormatReader:

Public Member Functions

 WavAudioFormatReader (InputStream *in)
 
bool readSamples (int **destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override
 Subclasses must implement this method to perform the low-level read operation.
 
AudioChannelSet getChannelLayout () override
 Get the channel layout of the audio stream.
 
- Public Member Functions inherited from juce::AudioFormatReader
virtual ~AudioFormatReader ()
 Destructor.
 
const StringgetFormatName () const noexcept
 Returns a description of what type of format this is.
 
bool read (float *const *destChannels, int numDestChannels, int64 startSampleInSource, int numSamplesToRead)
 Reads samples from the stream.
 
bool read (int *const *destChannels, int numDestChannels, int64 startSampleInSource, int numSamplesToRead, bool fillLeftoverChannelsWithCopies)
 Reads samples from the stream.
 
void read (AudioBuffer< float > *buffer, int startSampleInDestBuffer, int numSamples, int64 readerStartSample, bool useReaderLeftChan, bool useReaderRightChan)
 Fills a section of an AudioBuffer from this reader.
 
virtual void readMaxLevels (int64 startSample, int64 numSamples, Range< float > *results, int numChannelsToRead)
 Finds the highest and lowest sample levels from a section of the audio stream.
 
virtual void readMaxLevels (int64 startSample, int64 numSamples, float &lowestLeft, float &highestLeft, float &lowestRight, float &highestRight)
 Finds the highest and lowest sample levels from a section of the audio stream.
 
int64 searchForLevel (int64 startSample, int64 numSamplesToSearch, double magnitudeRangeMinimum, double magnitudeRangeMaximum, int minimumConsecutiveSamples)
 Scans the source looking for a sample whose magnitude is in a specified range.
 
virtual AudioChannelSet getChannelLayout ()
 Get the channel layout of the audio stream.
 
virtual bool readSamples (int **destChannels, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples)=0
 Subclasses must implement this method to perform the low-level read operation.
 

Static Public Member Functions

static void copySampleData (unsigned int bitsPerSample, const bool usesFloatingPointData, int *const *destSamples, int startOffsetInDestBuffer, int numDestChannels, const void *sourceData, int numChannels, int numSamples) noexcept
 
static AudioChannelSet getChannelLayoutFromMask (int dwChannelMask, size_t totalNumChannels)
 

Public Attributes

int64 bwavChunkStart = 0
 
int64 bwavSize = 0
 
int64 dataChunkStart = 0
 
int64 dataLength = 0
 
int bytesPerFrame = 0
 
bool isRF64 = false
 
bool isSubformatOggVorbis = false
 
AudioChannelSet channelLayout
 
- Public Attributes inherited from juce::AudioFormatReader
double sampleRate = 0
 The sample-rate of the stream.
 
unsigned int bitsPerSample = 0
 The number of bits per sample, e.g.
 
int64 lengthInSamples = 0
 The total number of samples in the audio stream.
 
unsigned int numChannels = 0
 The total number of channels in the audio stream.
 
bool usesFloatingPointData = false
 Indicates whether the data is floating-point or fixed.
 
StringPairArray metadataValues
 A set of metadata values that the reader has pulled out of the stream.
 
InputStreaminput
 The input stream, for use by subclasses.
 

Additional Inherited Members

- Protected Member Functions inherited from juce::AudioFormatReader
 AudioFormatReader (InputStream *sourceStream, const String &formatName)
 Creates an AudioFormatReader object.
 
- Static Protected Member Functions inherited from juce::AudioFormatReader
static void clearSamplesBeyondAvailableLength (int **destChannels, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int &numSamples, int64 fileLengthInSamples)
 Used by AudioFormatReader subclasses to clear any parts of the data blocks that lie beyond the end of their available length.
 

Detailed Description

Definition at line 934 of file juce_WavAudioFormat.cpp.

Constructor & Destructor Documentation

◆ WavAudioFormatReader()

juce::WavAudioFormatReader::WavAudioFormatReader ( InputStream in)
inline

Definition at line 937 of file juce_WavAudioFormat.cpp.

Member Function Documentation

◆ readSamples()

bool juce::WavAudioFormatReader::readSamples ( int **  destChannels,
int  numDestChannels,
int  startOffsetInDestBuffer,
int64  startSampleInFile,
int  numSamples 
)
inlineoverridevirtual

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

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

Parameters
destChannelsthe array of destination buffers to fill. Some of these pointers may be null
numDestChannelsthe 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
startOffsetInDestBufferthe number of samples from the start of the dest data at which to begin writing
startSampleInFilethe number of samples into the source data at which to begin reading. This value is guaranteed to be >= 0.
numSamplesthe number of samples to read

Implements juce::AudioFormatReader.

Definition at line 1187 of file juce_WavAudioFormat.cpp.

References juce::AudioFormatReader::bitsPerSample, juce::AudioFormatReader::clearSamplesBeyondAvailableLength(), juce::AudioFormatReader::input, juce::AudioFormatReader::lengthInSamples, juce::AudioFormatReader::numChannels, juce::InputStream::read(), juce::InputStream::setPosition(), and juce::AudioFormatReader::usesFloatingPointData.

◆ copySampleData()

static void juce::WavAudioFormatReader::copySampleData ( unsigned int  bitsPerSample,
const bool  usesFloatingPointData,
int *const *  destSamples,
int  startOffsetInDestBuffer,
int  numDestChannels,
const void *  sourceData,
int  numChannels,
int  numSamples 
)
inlinestaticnoexcept

Definition at line 1223 of file juce_WavAudioFormat.cpp.

◆ getChannelLayout()

AudioChannelSet juce::WavAudioFormatReader::getChannelLayout ( )
inlineoverridevirtual

Get the channel layout of the audio stream.

Reimplemented from juce::AudioFormatReader.

Definition at line 1240 of file juce_WavAudioFormat.cpp.

References juce::AudioFormatReader::numChannels, and juce::AudioChannelSet::size().

◆ getChannelLayoutFromMask()

static AudioChannelSet juce::WavAudioFormatReader::getChannelLayoutFromMask ( int  dwChannelMask,
size_t  totalNumChannels 
)
inlinestatic

Definition at line 1248 of file juce_WavAudioFormat.cpp.

Member Data Documentation

◆ bwavChunkStart

int64 juce::WavAudioFormatReader::bwavChunkStart = 0

Definition at line 1277 of file juce_WavAudioFormat.cpp.

◆ bwavSize

int64 juce::WavAudioFormatReader::bwavSize = 0

Definition at line 1277 of file juce_WavAudioFormat.cpp.

◆ dataChunkStart

int64 juce::WavAudioFormatReader::dataChunkStart = 0

Definition at line 1278 of file juce_WavAudioFormat.cpp.

◆ dataLength

int64 juce::WavAudioFormatReader::dataLength = 0

Definition at line 1278 of file juce_WavAudioFormat.cpp.

◆ bytesPerFrame

int juce::WavAudioFormatReader::bytesPerFrame = 0

Definition at line 1279 of file juce_WavAudioFormat.cpp.

◆ isRF64

bool juce::WavAudioFormatReader::isRF64 = false

Definition at line 1280 of file juce_WavAudioFormat.cpp.

◆ isSubformatOggVorbis

bool juce::WavAudioFormatReader::isSubformatOggVorbis = false

Definition at line 1281 of file juce_WavAudioFormat.cpp.

◆ channelLayout

AudioChannelSet juce::WavAudioFormatReader::channelLayout

Definition at line 1283 of file juce_WavAudioFormat.cpp.


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