VCV Rack API v2
Loading...
Searching...
No Matches
rack::dsp::RealTimeConvolver Struct Reference

#include <fir.hpp>

Public Member Functions

 RealTimeConvolver (size_t blockSize)
 blockSize is the size of each FFT block.
 
 ~RealTimeConvolver ()
 
void setKernel (const float *kernel, size_t length)
 
void processBlock (const float *input, float *output)
 Applies reverb to input input and output must be of size blockSize
 

Public Attributes

float * kernelFfts = NULL
 
float * inputFfts = NULL
 
float * outputTail = NULL
 
float * tmpBlock = NULL
 
size_t blockSize
 
size_t kernelBlocks = 0
 
size_t inputPos = 0
 
PFFFT_Setup * pffft
 

Constructor & Destructor Documentation

◆ RealTimeConvolver()

rack::dsp::RealTimeConvolver::RealTimeConvolver ( size_t blockSize)
inline

blockSize is the size of each FFT block.

It should be >=32 and a power of 2.

◆ ~RealTimeConvolver()

rack::dsp::RealTimeConvolver::~RealTimeConvolver ( )
inline

Member Function Documentation

◆ setKernel()

void rack::dsp::RealTimeConvolver::setKernel ( const float * kernel,
size_t length )
inline

◆ processBlock()

void rack::dsp::RealTimeConvolver::processBlock ( const float * input,
float * output )
inline

Applies reverb to input input and output must be of size blockSize

Member Data Documentation

◆ kernelFfts

float* rack::dsp::RealTimeConvolver::kernelFfts = NULL

◆ inputFfts

float* rack::dsp::RealTimeConvolver::inputFfts = NULL

◆ outputTail

float* rack::dsp::RealTimeConvolver::outputTail = NULL

◆ tmpBlock

float* rack::dsp::RealTimeConvolver::tmpBlock = NULL

◆ blockSize

size_t rack::dsp::RealTimeConvolver::blockSize

◆ kernelBlocks

size_t rack::dsp::RealTimeConvolver::kernelBlocks = 0

◆ inputPos

size_t rack::dsp::RealTimeConvolver::inputPos = 0

◆ pffft

PFFFT_Setup* rack::dsp::RealTimeConvolver::pffft

The documentation for this struct was generated from the following file: