13 #ifndef INCLUDE_CONVOLUTION_H
14 #define INCLUDE_CONVOLUTION_H
32 void setIRFile(
char * inFName,
unsigned chan = 0);
sample * SampleBuffer
1-channel buffer data type, vector of (sample)
Convolver(unsigned len=512)
Constructors.
void checkBuffers(unsigned newNumBufs)
alloc buffers
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
Effect – mix-in for classes that have unit generators as inputs (like filters).
SampleBuffer mSpectrumBufferIm
~Convolver()
set the IR file name; runs the analysis ffts
SampleBufferArray mFilterFFTIm
The Convolver is a CSL Effect.
SampleBufferArray mInputFFTRe
A list of past input spectra.
SampleBuffer mSpectrumBufferRe
current summation buffer
void nextBuffer(Buffer &outputBuffer)
main nextBuffer call does the fft/ifft
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys)...
SampleBufferArray mFilterFFTRe
A ring buffer of IR fft buffers.
SampleBuffer mLastOutput
most-recent output
SampleBufferArray mInputFFTIm
void complex_multiply_accumulate(SampleBuffer leftRe, SampleBuffer leftIm, SampleBuffer rightRe, SampleBuffer rightIm, SampleBuffer outRe, SampleBuffer outIm)
fast complex MAC using non-interleaved complex arrays
Base class of CSL exceptions (written upper-case). Has a string message.
void setIRFile(char *inFName, unsigned chan=0)
SampleBuffer * SampleBufferArray
Multi-channel buffer data type.