csl::BinauralPanner Class Reference

#include <Binaural.h>

Inheritance diagram for csl::BinauralPanner:

csl::Panner List of all members.

Detailed Description

Binaural Panner This panner is capable of placing sounds in 3D when using headphones. The HRIRs (Head Related Impulse Responses) are loaded by the HRTFDatabase. The binaural panner uses these HRTFs and processes the incoming audio, in the frequency domain.


Public Member Functions

 BinauralPanner ()
 ~BinauralPanner ()
virtual void nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)

Protected Member Functions

virtual void * cache ()
 Returns an instance of it's cache data per sound source.

Protected Attributes

unsigned numFFTBlocks
unsigned mFramesPerBlock
unsigned mCurrentBlockIdx
float mInvFramesPerBlock
 The inverse of the number of frames per block, used for normalization.
samplemTempInBuffer
samplemInverseFFTOutL
 The Output of the Inverse FFT Plan, after input data has been multiplied by the HRTF.
samplemInverseFFTOutR
 The Output of the Inverse FFT Plan, after input data has been multiplied by the HRTF.
fftwf_complex * mHOutL
fftwf_complex * mHOutR
 The buffer containing the mixed HRTF & Input data in the Frequency domain, ready to be passed thru the IFFT.
fftwf_plan mInversePlanL
fftwf_plan mInversePlanR

Friends

class BinauralSourceCache
 The Cache uses data from this class in order to build it's caches.


Constructor & Destructor Documentation

BinauralPanner::BinauralPanner  ) 
 

BinauralPanner::~BinauralPanner  ) 
 


Member Function Documentation

void BinauralPanner::nextBuffer Buffer outputBuffer,
unsigned  outBufNum
throw (CException) [virtual]
 

AT SOME POINT, CHECK TO MAKE SURE PASSED BUFFER HAS AT LEAST TWO CHANNELS, OTHERWISE, THROW AN EXCEPTION.

void * BinauralPanner::cache  )  [protected, virtual]
 

Returns an instance of it's cache data per sound source.


Friends And Related Function Documentation

friend class BinauralSourceCache [friend]
 

The Cache uses data from this class in order to build it's caches.


Member Data Documentation

unsigned csl::BinauralPanner::numFFTBlocks [protected]
 

unsigned csl::BinauralPanner::mFramesPerBlock [protected]
 

unsigned csl::BinauralPanner::mCurrentBlockIdx [protected]
 

float csl::BinauralPanner::mInvFramesPerBlock [protected]
 

The inverse of the number of frames per block, used for normalization.

sample* csl::BinauralPanner::mTempInBuffer [protected]
 

sample* csl::BinauralPanner::mInverseFFTOutL [protected]
 

The Output of the Inverse FFT Plan, after input data has been multiplied by the HRTF.

sample* csl::BinauralPanner::mInverseFFTOutR [protected]
 

The Output of the Inverse FFT Plan, after input data has been multiplied by the HRTF.

fftwf_complex* csl::BinauralPanner::mHOutL [protected]
 

fftwf_complex * csl::BinauralPanner::mHOutR [protected]
 

The buffer containing the mixed HRTF & Input data in the Frequency domain, ready to be passed thru the IFFT.

fftwf_plan csl::BinauralPanner::mInversePlanL [protected]
 

fftwf_plan csl::BinauralPanner::mInversePlanR [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Apr 6 20:18:21 2007 for CSL by  doxygen 1.4.5-20051010