csl::Convolver Class Reference

#include <Convolver.h>

Inheritance diagram for csl::Convolver:

csl::Effect csl::UnitGenerator csl::Controllable csl::Model

List of all members.

Public Member Functions

 Convolver ()
 Constructors.
 Convolver (char *IRfilename)
 give an IR file name or buffer and/or FFT len
 Convolver (unsigned len, Buffer &impulseResp)
 Convolver (unsigned len, char *IRfilename)
 Convolver (Buffer &inbuf)
 ~Convolver ()
void initialize (Buffer &buf) throw (CException)
 init/setup functions
void setFilters (fftwf_complex **filterFFTs)
 set the IR spectrum array
void setInputf (fftwf_complex *inFFT)
 pass in the input buffer
void nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)
 main nextBuffer call sums past FFT'ed IRs and inputs

Public Attributes

CSL_FFTW_sample * mSampleBuffer
 public I/O buffer ptr

Protected Member Functions

void initialize (const char *filename) throw (CException)
 this reads in the file
void complex_multiply_accumulate (fftwf_complex *left, fftwf_complex *right, fftwf_complex *output)
 fast complex ptr mult-accum utility

Protected Attributes

CSL_FFTW_cmplx ** mFilterFFTs
 A ring buffer of IR fft buffers.
CSL_FFTW_cmplx ** mInputFFTs
 A list of past input spectra.
CSL_FFTW_cmplx * mSpectrumBuffer
 current summation buffer
CSL_FFTW_plan mForwardPlan
CSL_FFTW_plan mInversePlan
 FFT plans.
unsigned mFFTSize
unsigned mWindowCount
unsigned mNumBufs
 window/buffer sizes
bool mMyBuffers
 whether I allocated the filter buffers
bool mMyInput
 whether to use pullInput


Detailed Description

The CSL convolver class is an Effect

Constructor & Destructor Documentation

csl::Convolver::Convolver (  )  [inline]

Constructors.

Convolver::Convolver ( char *  IRfilename  ) 

give an IR file name or buffer and/or FFT len

References csl::CGestalt::blockSize(), initialize(), mFFTSize, and mNumBufs.

Convolver::Convolver ( unsigned  len,
Buffer impulseResp 
)

References initialize(), mFFTSize, and mNumBufs.

Convolver::Convolver ( unsigned  len,
char *  IRfilename 
)

References initialize(), mFFTSize, and mNumBufs.

Convolver::Convolver ( Buffer inbuf  ) 

Convolver::~Convolver (  ) 


Member Function Documentation

void Convolver::initialize ( Buffer buf  )  throw (CException)

init/setup functions

this takes the fft of the IR buffer

References CHECK_PTR, testkiss::j, csl::kLogInfo, and csl::logMsg().

Referenced by Convolver().

void Convolver::setFilters ( fftwf_complex **  filterFFTs  ) 

set the IR spectrum array

pass in the input buffer

void Convolver::setInputf ( fftwf_complex *  inFFT  ) 

pass in the input buffer

References mFFTSize, mInputFFTs, mMyInput, mNumBufs, and mWindowCount.

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

main nextBuffer call sums past FFT'ed IRs and inputs

set the IR spectrum array

Reimplemented from csl::UnitGenerator.

References csl::Effect::pullInput().

void Convolver::initialize ( const char *  filename  )  throw (CException) [protected]

void csl::Convolver::complex_multiply_accumulate ( fftwf_complex *  left,
fftwf_complex *  right,
fftwf_complex *  output 
) [protected]

fast complex ptr mult-accum utility


Member Data Documentation

public I/O buffer ptr

Referenced by ~Convolver().

CSL_FFTW_cmplx** csl::Convolver::mFilterFFTs [protected]

A ring buffer of IR fft buffers.

Referenced by ~Convolver().

CSL_FFTW_cmplx** csl::Convolver::mInputFFTs [protected]

A list of past input spectra.

Referenced by setInputf(), and ~Convolver().

CSL_FFTW_cmplx* csl::Convolver::mSpectrumBuffer [protected]

current summation buffer

Referenced by ~Convolver().

CSL_FFTW_plan csl::Convolver::mForwardPlan [protected]

Referenced by ~Convolver().

CSL_FFTW_plan csl::Convolver::mInversePlan [protected]

FFT plans.

Referenced by ~Convolver().

unsigned csl::Convolver::mFFTSize [protected]

Referenced by Convolver(), and setInputf().

unsigned csl::Convolver::mWindowCount [protected]

Referenced by setInputf().

unsigned csl::Convolver::mNumBufs [protected]

window/buffer sizes

Referenced by Convolver(), setInputf(), and ~Convolver().

bool csl::Convolver::mMyBuffers [protected]

whether I allocated the filter buffers

bool csl::Convolver::mMyInput [protected]

whether to use pullInput

Referenced by setInputf().


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

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