quantumVERB  1.0.0
A FOSS convolution reverb plugin
reverb::Convolution Class Reference

#include <Convolution.h>

Inheritance diagram for reverb::Convolution:
Collaboration diagram for reverb::Convolution:

Public Types

using Ptr = std::shared_ptr< Convolution >
 
- Public Types inherited from reverb::Task
using Ptr = std::shared_ptr< Task >
 

Public Member Functions

 Convolution (juce::AudioProcessor *processor)
 Constructor. Creates a Convolution object. More...
 
virtual void updateParams (const juce::AudioProcessorValueTreeState &params, const juce::String &="") override
 No parameters to update, do nothing.
 
virtual AudioBlock exec (AudioBlock audio) override
 Main function of the Convolution class. Executes the convolution of the audio buffer with the IR. More...
 
void loadIR (AudioBlock ir)
 Defines the main characteristics of the convolution process and loads the IR into the juce::dsp::Convolution object. More...
 
- Public Member Functions inherited from reverb::Task
 Task (juce::AudioProcessor *processor)
 
virtual bool needsToRun () const
 Tells caller whether block must be run for current block. More...
 
virtual void updateSampleRate (double sr)
 Update sample rate for task block. More...
 

Additional Inherited Members

- Public Attributes inherited from reverb::Task
double sampleRate
 
- Protected Member Functions inherited from reverb::Task
float getParam (const juce::AudioProcessorValueTreeState &params, const juce::String &blockId) const
 Internal method used to get (and check) a parameter's value.
 
- Protected Attributes inherited from reverb::Task
juce::AudioProcessor * processor
 
bool mustExec = true
 

Detailed Description

Derives from JUCE's Convolution base class. Computes the convolution algorithm between the audio signal and the IR buffer.

Definition at line 21 of file Convolution.h.

Constructor & Destructor Documentation

◆ Convolution()

reverb::Convolution::Convolution ( juce::AudioProcessor *  processor)

Constructor. Creates a Convolution object.

Creates a Convolution object associated to an AudioProcessor.

Parameters
[in]processorPointer to main processor.

Definition at line 22 of file Convolution.cpp.

Member Function Documentation

◆ exec()

AudioBlock reverb::Convolution::exec ( AudioBlock  audio)
overridevirtual

Main function of the Convolution class. Executes the convolution of the audio buffer with the IR.

Creates a ProcessContext object that specifies the audio buffer to convolve and the buffer to contain the resulted signal. Calls the juce::dsp::Convolution::process() function to compute the convolution.

Parameters
[in,out]audioThe audio buffer to be convolved with the IR.

Implements reverb::Task.

Definition at line 48 of file Convolution.cpp.

◆ loadIR()

void reverb::Convolution::loadIR ( AudioBlock  ir)

Defines the main characteristics of the convolution process and loads the IR into the juce::dsp::Convolution object.

Calls JUCE Convolution class's functions prepare() and copyAndLoadImpulseResponseFromBuffer().

Parameters
[in]irThe IR signal to convolve with the audio buffer.

Definition at line 66 of file Convolution.cpp.


The documentation for this class was generated from the following files: