#include <Callback.h>
Inherits cinder::audio::Source.
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 | createLoader (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 > | |
std::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) |
typedef void(T::* cinder::audio::Callback< T, U >::CallbackFunction)(uint64_t inSampleOffset, uint32_t inSampleCount, BufferT< U > *ioBuffer) |
typedef enum cinder::audio::Io::DataType cinder::audio::Io::DataType [inherited] |
enum cinder::audio::Io::DataType [inherited] |
cinder::audio::Callback< T, U >::~Callback | ( | ) | [virtual] |
LoaderRef cinder::audio::Callback< T, U >::createLoader | ( | Target * | target | ) | [virtual] |
Reimplemented from cinder::audio::Source.
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] |
friend class LoaderSourceCallback< T, U > [friend] |
std::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] |
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] |