42 std::shared_ptr<FFTPlan> m_plan;
67 std::complex<sample_t>* m_inBuffer;
82 std::shared_ptr<std::vector<std::complex<sample_t>>> m_irBuffer;
99 FFTConvolver(std::shared_ptr<std::vector<std::complex<sample_t>>> ir, std::shared_ptr<FFTPlan> plan);
125 void getNext(
const sample_t* inBuffer,
sample_t* outBuffer,
int& length, fftwf_complex* transformedData);
137 void getNext(
const fftwf_complex* inBuffer,
sample_t* outBuffer,
int& length);
148 void getTail(
int& length,
bool& eos,
sample_t* buffer);
163 void IFFT_FDL(
const fftwf_complex* inBuffer,
sample_t* outBuffer,
int& length);
170 void getNextFDL(
const std::complex<sample_t>* inBuffer, std::complex<sample_t>* accBuffer);
181 void getNextFDL(
const sample_t* inBuffer, std::complex<sample_t>* accBuffer,
int& length, fftwf_complex* transformedData);
187 void setImpulseResponse(std::shared_ptr<std::vector<std::complex<sample_t>>> ir);
193 std::shared_ptr<std::vector<std::complex<sample_t>>> getImpulseResponse();
#define AUD_NAMESPACE_BEGIN
Opens the audaspace namespace aud.
Definition: Audaspace.h:116
#define AUD_API
Used for exporting symbols in the shared library.
Definition: Audaspace.h:93
float sample_t
Sample type.(float samples)
Definition: Audaspace.h:126
This class allows to easily convolve a sound using the Fourier transform.
Definition: FFTConvolver.h:36
#define AUD_NAMESPACE_END
Closes the audaspace namespace aud.
Definition: Audaspace.h:119