csl::BinauralPanner Class Reference

forward declaration More...

#include <Binaural.h>

Inheritance diagram for csl::BinauralPanner:

csl::SpatialPanner csl::UnitGenerator csl::Observer csl::Model

List of all members.

Public Member Functions

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

Public Attributes

unsigned mNumBlocks
 # blocks per HRTF
unsigned mNumBlocksToSum
 # blocks to include in sum per HRTF
unsigned mFramesPerBlock
 # frames per block

Protected Member Functions

BinauralSourceCachecache ()
 Returns an instance of its cache data per sound source.

Protected Attributes

FFTWrapper mInFFT
 FFT Wrappers for in and out processing.
FFTWrapper mOutFFT
Buffer mInBuf
Buffer mTmpBuf
Buffer mOutBuf
 temp buffers for input and FFT wrappers
SampleComplexVector mHOutL
SampleComplexVector mHOutR
 buffers for the mixed HRTF & input data pre-IFFT
SampleBuffer mIFFTOutL
SampleBuffer mIFFTOutR
 outputs of the IFFT
unsigned mBlockInd
 block index


Detailed Description

forward declaration

BinauralPanner: place sources in 3D using block-wise convolution with an HRTF. The HRIRs (Head Related Impulse Responses) are loaded by the HRTFDatabase. The binaural panner uses these HRTFs and processes the incoming audio by frequency domain convolution in blocks of 512 samples.


Constructor & Destructor Documentation

BinauralPanner::BinauralPanner ( unsigned  blockSize = HRTF_BLOCK_SIZE  ) 

BinauralPanner::~BinauralPanner (  ) 

References mHOutL, mHOutR, mIFFTOutL, mIFFTOutR, and SAFE_FREE.


Member Function Documentation

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

BinauralSourceCache * BinauralPanner::cache (  )  [protected, virtual]

Returns an instance of its cache data per sound source.

Implements csl::SpatialPanner.


Member Data Documentation

# blocks to include in sum per HRTF

Referenced by BinauralPanner().

# frames per block

Referenced by BinauralPanner(), and csl::BinauralSourceCache::BinauralSourceCache().

FFTWrapper csl::BinauralPanner::mInFFT [protected]

FFT Wrappers for in and out processing.

FFTWrapper csl::BinauralPanner::mOutFFT [protected]

Referenced by BinauralPanner().

Referenced by BinauralPanner().

temp buffers for input and FFT wrappers

Referenced by BinauralPanner(), and ~BinauralPanner().

buffers for the mixed HRTF & input data pre-IFFT

Referenced by BinauralPanner(), and ~BinauralPanner().

Referenced by BinauralPanner(), and ~BinauralPanner().

outputs of the IFFT

Referenced by BinauralPanner(), and ~BinauralPanner().

unsigned csl::BinauralPanner::mBlockInd [protected]

block index


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

Generated on Thu Sep 17 23:14:18 2009 for CSL by  doxygen 1.5.8