csl::Convolver Class Reference

#include <Convolver.h>

Inheritance diagram for csl::Convolver:

csl::Effect List of all members.

Detailed Description

The CSL convolver class is an Effect


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 this takes the fft of the IR buffer
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 (CSL_FFTW_cmplx *left, CSL_FFTW_cmplx *right, CSL_FFTW_cmplx *output)

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


Constructor & Destructor Documentation

csl::Convolver::Convolver  )  [inline]
 

Constructors.

Convolver::Convolver char *  IRfilename  ) 
 

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

Convolver::Convolver unsigned  len,
Buffer impulseResp
 

Convolver::Convolver unsigned  len,
char *  IRfilename
 

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

void Convolver::setFilters fftwf_complex **  filterFFTs  ) 
 

set the IR spectrum array

void Convolver::setInputf fftwf_complex *  inFFT  ) 
 

pass in the input buffer

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

main nextBuffer call sums past FFT'ed IRs and inputs

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

this reads in the file

void csl::Convolver::complex_multiply_accumulate CSL_FFTW_cmplx *  left,
CSL_FFTW_cmplx *  right,
CSL_FFTW_cmplx *  output
[inline, protected]
 


Member Data Documentation

CSL_FFTW_sample* csl::Convolver::mSampleBuffer
 

public I/O buffer ptr

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

A ring buffer of IR fft buffers.

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

A list of past input spectra.

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

current summation buffer

CSL_FFTW_plan csl::Convolver::mForwardPlan [protected]
 

CSL_FFTW_plan csl::Convolver::mInversePlan [protected]
 

FFT plans.

unsigned csl::Convolver::mFFTSize [protected]
 

unsigned csl::Convolver::mWindowCount [protected]
 

unsigned csl::Convolver::mNumBufs [protected]
 

window/buffer sizes

bool csl::Convolver::mMyBuffers [protected]
 

whether I allocated the filter buffers

bool csl::Convolver::mMyInput [protected]
 

whether to use pullInput


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