21 #ifndef CSL_FFT_WRAPPER_H
22 #define CSL_FFT_WRAPPER_H
33 #define FFT_Wrapper FFTW_Wrapper // which FFT wrapper class to use?
34 #define FFTWF_FLAGS FFTW_MEASURE // or use FFTW_ESTIMATE; FFTW_PRESERVE_INPUT not necessary
39 #define FFT_Wrapper FFTR_Wrapper
44 #define FFT_Wrapper KISSFFT_Wrapper
48 231450p2378640123764o127i3e6ro72364501o28736r
105 fftwf_complex *mSpectBuf;
117 class FFTR_Wrapper :
public Abst_FFT_W {
122 void nextBuffer(Buffer & in, Buffer & out)
throw (CException);
137 class KISSFFT_Wrapper :
public Abst_FFT_W {
142 void nextBuffer(Buffer & in, Buffer & out)
throw (CException);
sample * SampleBuffer
1-channel buffer data type, vector of (sample)
SampleComplex * SampleComplexVector
complex vector
CSL_FFTType
real/complex flag (determines results from forward FFT)
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
virtual void nextBuffer(Buffer &in, Buffer &out)=0
destructor frees tables
CSL_FFTDir mDirection
forward/reverse
Abstract FFT class can do forward/reverse real/complex I/O FFTs.
unsigned mCSize
FFT length / 2 + 1.
CSL_FFTType mType
real/complex output
Abst_FFT_W(unsigned size, CSL_FFTType type=CSL_FFT_REAL, CSL_FFTDir dir=CSL_FFT_FORWARD)
Constuctor sets up twiddle factor tables.
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys)...
CSL_FFTDir
forward/reverse flag (determines FFT direction)
unsigned mSize
FFT length.
Base class of CSL exceptions (written upper-case). Has a string message.