cinder::audio::Callback< T, U > Class Template Reference

#include <Callback.h>

Inherits cinder::audio::Source.

List of all members.

Public Types

typedef void(T::* CallbackFunction )(uint64_t inSampleOffset, uint32_t inSampleCount, BufferT< U > *ioBuffer)
enum  DataType {
  UINT8, INT8, UINT16, INT16,
  UINT32, INT32, FLOAT32, DATA_UNKNOWN
}
typedef enum
cinder::audio::Io::DataType 
DataType

Public Member Functions

virtual ~Callback ()
LoaderRef getLoader (Target *target)
double getDuration () const
int32_t getSampleRate () const
 the number of samples per second that each channel should played or recorded at.
int16_t getChannelCount () const
 the number of channels of audio data
int16_t getBitsPerSample () const
 the number of significant bits per channel in each sample
int16_t getBlockAlign () const
 the number of bytes in each sample. For interleaved data it's ussually ( sampleRate * channelCount ) / 8, for non-interleaved data ( sampleRate / 8 ).
DataType getDataType () const
 The format of the audio data.
bool isInterleaved () const
 Whether the audio data is interleaved or non-interleaved.
bool isPcm () const
 Whether or not the data is stored in Linear-PCM.
bool isFloat () const
 Whether or not the data is stored in Float format or Integer format.
bool isBigEndian () const
 Whether or not the data is big-endian.

Static Protected Member Functions

static void loadFromCaAudioStreamBasicDescription (Io *anIo, const AudioStreamBasicDescription *audioDescription)

Protected Attributes

int32_t mSampleRate
int16_t mChannelCount
int16_t mBitsPerSample
int16_t mBlockAlign
DataType mDataType
bool mIsInterleaved
bool mIsPcm
bool mIsBigEndian
uint32_t mNativeFormatId
uint32_t mNativeFormatFlags
uint32_t mBytesPerPacket
uint32_t mFramesPerPacket
uint32_t mBytesPerFrame

Friends

class LoaderSourceCallback< T, U >
template<typename T2 , typename U2 >
shared_ptr< Callback< T2, U2 > > createCallback (T2 *callbackObj, void(T2::*callbackFn)(uint64_t inSampleOffset, uint32_t inSampleCount, BufferT< U2 > *ioBuffer), bool ownCallbackObj, uint32_t aSampleRate, uint16_t aChannelCount)

template<typename T, typename U>
class cinder::audio::Callback< T, U >


Member Typedef Documentation

template<typename T, typename U>
typedef void(T::* cinder::audio::Callback< T, U >::CallbackFunction)(uint64_t inSampleOffset, uint32_t inSampleCount, BufferT< U > *ioBuffer)

Member Enumeration Documentation

enum cinder::audio::Io::DataType [inherited]
Enumerator:
UINT8 
INT8 
UINT16 
INT16 
UINT32 
INT32 
FLOAT32 
DATA_UNKNOWN 

Constructor & Destructor Documentation

template<typename T , typename U >
cinder::audio::Callback< T, U >::~Callback (  )  [virtual]

Member Function Documentation

template<typename T, typename U>
LoaderRef cinder::audio::Callback< T, U >::getLoader ( Target target  )  [virtual]

Reimplemented from cinder::audio::Source.

template<typename T, typename U>
double cinder::audio::Callback< T, U >::getDuration (  )  const [virtual]

Implements cinder::audio::Source.

int32_t cinder::audio::Io::getSampleRate (  )  const [inherited]

the number of samples per second that each channel should played or recorded at.

int16_t cinder::audio::Io::getChannelCount (  )  const [inherited]

the number of channels of audio data

int16_t cinder::audio::Io::getBitsPerSample (  )  const [inherited]

the number of significant bits per channel in each sample

int16_t cinder::audio::Io::getBlockAlign (  )  const [inherited]

the number of bytes in each sample. For interleaved data it's ussually ( sampleRate * channelCount ) / 8, for non-interleaved data ( sampleRate / 8 ).

DataType cinder::audio::Io::getDataType (  )  const [inherited]

The format of the audio data.

bool cinder::audio::Io::isInterleaved (  )  const [inherited]

Whether the audio data is interleaved or non-interleaved.

bool cinder::audio::Io::isPcm (  )  const [inherited]

Whether or not the data is stored in Linear-PCM.

bool cinder::audio::Io::isFloat (  )  const [inherited]

Whether or not the data is stored in Float format or Integer format.

bool cinder::audio::Io::isBigEndian (  )  const [inherited]

Whether or not the data is big-endian.

void cinder::audio::Io::loadFromCaAudioStreamBasicDescription ( Io anIo,
const AudioStreamBasicDescription *  audioDescription 
) [static, protected, inherited]

Friends And Related Function Documentation

template<typename T, typename U>
friend class LoaderSourceCallback< T, U > [friend]
template<typename T, typename U>
template<typename T2 , typename U2 >
shared_ptr<Callback<T2,U2> > createCallback ( T2 *  callbackObj,
void(T2::*)(uint64_t inSampleOffset, uint32_t inSampleCount, BufferT< U2 > *ioBuffer)  callbackFn,
bool  ownCallbackObj,
uint32_t  aSampleRate,
uint16_t  aChannelCount 
) [friend]

Member Data Documentation

int32_t cinder::audio::Io::mSampleRate [protected, inherited]
int16_t cinder::audio::Io::mChannelCount [protected, inherited]
int16_t cinder::audio::Io::mBitsPerSample [protected, inherited]
int16_t cinder::audio::Io::mBlockAlign [protected, inherited]
DataType cinder::audio::Io::mDataType [protected, inherited]
bool cinder::audio::Io::mIsInterleaved [protected, inherited]
bool cinder::audio::Io::mIsPcm [protected, inherited]
bool cinder::audio::Io::mIsBigEndian [protected, inherited]
uint32_t cinder::audio::Io::mNativeFormatId [protected, inherited]
uint32_t cinder::audio::Io::mNativeFormatFlags [protected, inherited]
uint32_t cinder::audio::Io::mBytesPerPacket [protected, inherited]
uint32_t cinder::audio::Io::mFramesPerPacket [protected, inherited]
uint32_t cinder::audio::Io::mBytesPerFrame [protected, inherited]

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