A standard matrix convolver.
#ifndef __MATRIXCONV_H_INCLUDED__
#define __MATRIXCONV_H_INCLUDED__
#ifdef __cplusplus
extern "C" {
#endif
int samplerate,
int hostBlockSize);
const float *const * inputs,
float* const* const outputs,
int nInputs,
int nOutputs,
int nSamples);
const float* const* H,
int numChannels,
int numSamples,
int sampleRate);
#ifdef __cplusplus
}
#endif
#endif
A bunch of things that are common to many of the saf examples.
int matrixconv_getNumOutputChannels(void *const hMCnv)
Returns the number of output channels (the same as the number of channels in the loaded wav file)
void matrixconv_create(void **const phMCnv)
Creates an instance of matrixconv.
void matrixconv_setNumInputChannels(void *const hMCnv, int newValue)
Sets the number of input channels.
void matrixconv_destroy(void **const phMCnv)
Destroys an instance of matrixconv.
void matrixconv_process(void *const hMCnv, const float *const *inputs, float *const *const outputs, int nInputs, int nOutputs, int nSamples)
Performs the matrix convolution processing.
void matrixconv_init(void *const hMCnv, int samplerate, int hostBlockSize)
Initialises an instance of matrixconv with default settings.
int matrixconv_getProcessingDelay(void *const hMCnv)
Returns the processing delay in samples (may be used for delay compensation features)
int matrixconv_getHostFs(void *const hMCnv)
Returns the samperate of the host.
void matrixconv_setEnablePart(void *const hMCnv, int newState)
Enable (1), disable (0), partitioned convolution.
int matrixconv_getNfilters(void *const hMCnv)
Returns the number of filters in the loaded wav file (number of outputs multiplied by the number of i...
int matrixconv_getFilterFs(void *const hMCnv)
Returns the samplerate of the loaded filters.
int matrixconv_getEnablePart(void *const hMCnv)
Returns a flag indicating whether partitioned convolution is enabled (1) or disabled (0)
int matrixconv_getHostBlockSize(void *const hMCnv)
Returns the currect host block size.
void matrixconv_checkReInit(void *const hMCnv)
Checks whether things have to be reinitialised, and does so if it is needed.
void matrixconv_refreshParams(void *const hMCnv)
Sets all intialisation flags to 1.
int matrixconv_getFrameSize(void)
Returns the processing framesize (i.e., number of samples processed with every _process() call )
void matrixconv_setFilters(void *const hMCnv, const float *const *H, int numChannels, int numSamples, int sampleRate)
Loads the matrix of filters, which should have the input filters concatenated for each output.
int matrixconv_getNumInputChannels(void *const hMCnv)
Returns the number input channels.
int matrixconv_getFilterLength(void *const hMCnv)
Returns the current filter length, in samples.