15 void prepareNextBlock(
const float*
const* buffer,
int numSamples,
int numChannels);
22 void setMix(
float mixValue);
Audio processing class that uses multi-threading to convolve an input signal with an impulse response...
Definition ConvolutionReverb.h:9
Channel
Definition ConvolutionReverb.h:41
@ RIGHT
Definition ConvolutionReverb.h:43
@ LEFT
Definition ConvolutionReverb.h:42
void prepareToPlay(double sampleRate, int samplesPerBlock)
Definition ConvolutionReverb.cpp:117
size_t getConvolverTailBlockSize() const
Definition ConvolutionReverb.cpp:171
void prepareNextBlock(const float *const *buffer, int numSamples, int numChannels)
Definition ConvolutionReverb.cpp:11
AudioBuffer< float > m_dryBuffer
Definition ConvolutionReverb.h:55
void setPredelayMs(float predelayMs)
Definition ConvolutionReverb.cpp:104
void setOutputGainDb(float outputGainValueIndB)
Definition ConvolutionReverb.cpp:102
String getImpulseResponseFilePath() const
Definition ConvolutionReverb.cpp:177
~ConvolutionReverb()
Definition ConvolutionReverb.cpp:9
float getNextSample(int sampleIdx, int channelIdx)
Definition ConvolutionReverb.cpp:58
std::vector< float > m_convolutionBufferLR
Definition ConvolutionReverb.h:58
std::vector< float > m_convolutionBufferRR
Definition ConvolutionReverb.h:60
ConvolutionReverb()
Definition ConvolutionReverb.cpp:3
OwnedArray< AudioSampleCircularBuffer > m_predelayBuffers
Definition ConvolutionReverb.h:53
OwnedArray< IRConvolver > m_convolvers
Definition ConvolutionReverb.h:37
void updateConvolvers()
Definition ConvolutionReverb.cpp:148
std::vector< float > m_convolutionBufferLL
Definition ConvolutionReverb.h:57
void clearConvolvers()
Definition ConvolutionReverb.cpp:159
float m_predelay
Definition ConvolutionReverb.h:50
void setImpulseResponseFilePath(const String &impulseResponseFilePath)
Definition ConvolutionReverb.cpp:183
void setMix(float mixValue)
Definition ConvolutionReverb.cpp:100
CriticalSection m_irCalculationMutex
Definition ConvolutionReverb.h:66
CriticalSection m_convolverMutex
Definition ConvolutionReverb.h:62
const int m_numOutputChannels
Definition ConvolutionReverb.h:45
size_t m_convolverTailBlockSize
Definition ConvolutionReverb.h:64
String m_impulseResponseFilePath
Definition ConvolutionReverb.h:38
size_t getConvolverHeadBlockSize() const
Definition ConvolutionReverb.cpp:165
DryWet m_mix
Definition ConvolutionReverb.h:48
std::unique_ptr< Thread > m_irCalculation
Definition ConvolutionReverb.h:67
float m_outputGain
Definition ConvolutionReverb.h:49
size_t m_convolverHeadBlockSize
Definition ConvolutionReverb.h:63
const OwnedArray< IRConvolver > & getConvolvers() const
Definition ConvolutionReverb.cpp:142
std::vector< float > m_convolutionBufferRL
Definition ConvolutionReverb.h:59
void processBlock(AudioBuffer< float > &buffer)
Definition ConvolutionReverb.cpp:71
AudioBuffer< float > m_wetBuffer
Definition ConvolutionReverb.h:55
void setSampleRate(double newSampleRate)
Definition ConvolutionReverb.cpp:90
void reset()
Definition ConvolutionReverb.cpp:109
double m_sampleRate
Definition ConvolutionReverb.h:47
double getSampleRate() const
Definition ConvolutionReverb.cpp:84
const float m_maxPredelayMs
Definition ConvolutionReverb.h:52
Stores a mix value and provides the dry & wet gain values using constant-power mixing.
Definition DryWet.h:8
Definition AirAbsorptionFilter.cpp:2