Cinder  0.9.1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cinder::audio::dsp::Converter Class Referenceabstract

#include <Converter.h>

Inherited by cinder::audio::cocoa::ConverterImplCoreAudio, and cinder::audio::dsp::ConverterImplR8brain.

Public Member Functions

virtual ~Converter ()
 
virtual std::pair< size_t, size_t > convert (const Buffer *sourceBuffer, Buffer *destBuffer)=0
 
virtual void clear ()
 
size_t getSourceSampleRate () const
 
size_t getDestSampleRate () const
 
size_t getSourceNumChannels () const
 
size_t getDestNumChannels () const
 
size_t getSourceMaxFramesPerBlock () const
 
size_t getDestMaxFramesPerBlock () const
 

Static Public Member Functions

static std::unique_ptr< Convertercreate (size_t sourceSampleRate, size_t destSampleRate, size_t sourceNumChannels, size_t destNumChannels, size_t sourceMaxFramesPerBlock)
 

Protected Member Functions

 Converter (size_t sourceSampleRate, size_t destSampleRate, size_t sourceNumChannels, size_t destNumChannels, size_t sourceMaxFramesPerBlock)
 

Protected Attributes

size_t mSourceSampleRate
 
size_t mDestSampleRate
 
size_t mSourceNumChannels
 
size_t mDestNumChannels
 
size_t mSourceMaxFramesPerBlock
 
size_t mDestMaxFramesPerBlock
 

Detailed Description

A platform-specific converter that supports samplerate and channel conversion.

Constructor & Destructor Documentation

virtual cinder::audio::dsp::Converter::~Converter ( )
virtual
cinder::audio::dsp::Converter::Converter ( size_t  sourceSampleRate,
size_t  destSampleRate,
size_t  sourceNumChannels,
size_t  destNumChannels,
size_t  sourceMaxFramesPerBlock 
)
protected

Member Function Documentation

unique_ptr< Converter > cinder::audio::dsp::Converter::create ( size_t  sourceSampleRate,
size_t  destSampleRate,
size_t  sourceNumChannels,
size_t  destNumChannels,
size_t  sourceMaxFramesPerBlock 
)
static

If destSampleRate is 0, it is set to match sourceSampleRate. If destNumChannels is 0, it is set to match sourceNumChannels.

virtual std::pair<size_t, size_t> cinder::audio::dsp::Converter::convert ( const Buffer sourceBuffer,
Buffer destBuffer 
)
pure virtual

Converts up to getSourceMaxFramesPerBlock() frames of audio data from sourceBuffer into destBuffer. Returns a std::pair<num source frames used, num dest frames written>

Note
destBuffer must be large enough to complete the conversion, which is calculated as:
minNumDestFrames = min( sourceBuffer->getNumFrames, getSourceMaxFramesPerBlock() ) * getDestSampleRate() * getSourceSampleRate()

Implemented in cinder::audio::cocoa::ConverterImplCoreAudio, and cinder::audio::dsp::ConverterImplR8brain.

virtual void cinder::audio::dsp::Converter::clear ( )
virtual

Clears the state of the converter, discarding / flushing accumulated samples. Optional for implementations.

Reimplemented in cinder::audio::cocoa::ConverterImplCoreAudio, and cinder::audio::dsp::ConverterImplR8brain.

size_t cinder::audio::dsp::Converter::getSourceSampleRate ( ) const
size_t cinder::audio::dsp::Converter::getDestSampleRate ( ) const
size_t cinder::audio::dsp::Converter::getSourceNumChannels ( ) const
size_t cinder::audio::dsp::Converter::getDestNumChannels ( ) const
size_t cinder::audio::dsp::Converter::getSourceMaxFramesPerBlock ( ) const
size_t cinder::audio::dsp::Converter::getDestMaxFramesPerBlock ( ) const

Member Data Documentation

size_t cinder::audio::dsp::Converter::mSourceSampleRate
protected
size_t cinder::audio::dsp::Converter::mDestSampleRate
protected
size_t cinder::audio::dsp::Converter::mSourceNumChannels
protected
size_t cinder::audio::dsp::Converter::mDestNumChannels
protected
size_t cinder::audio::dsp::Converter::mSourceMaxFramesPerBlock
protected
size_t cinder::audio::dsp::Converter::mDestMaxFramesPerBlock
protected

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