quantumVERB  1.0.0
A FOSS convolution reverb plugin
Convolution.h
1 /*
2 ==============================================================================
3 
4 Convolution.h
5 
6 ==============================================================================
7 */
8 
9 #pragma once
10 
11 #include "Task.h"
12 
13 namespace reverb
14 {
15 
16  //==============================================================================
17  /**
18  * Derives from JUCE's Convolution base class. Computes the convolution
19  * algorithm between the audio signal and the IR buffer.
20  */
21  class Convolution : public Task,
22  protected juce::dsp::Convolution
23  {
24  public:
25  //==============================================================================
26  Convolution(juce::AudioProcessor* processor);
27 
28  //==============================================================================
29  using Ptr = std::shared_ptr<Convolution>;
30 
31  //==============================================================================
32  virtual void updateParams(const juce::AudioProcessorValueTreeState& params,
33  const juce::String& = "") override;
34 
35  virtual AudioBlock exec(AudioBlock audio) override;
36 
37  //==============================================================================
38  void loadIR(AudioBlock ir);
39  };
40 
41 }
float getParam(const juce::AudioProcessorValueTreeState &params, const juce::String &blockId) const
Internal method used to get (and check) a parameter&#39;s value.
Definition: Task.h:111
void loadIR(AudioBlock ir)
Defines the main characteristics of the convolution process and loads the IR into the juce::dsp::Conv...
Definition: Convolution.cpp:66
virtual AudioBlock exec(AudioBlock audio) override
Main function of the Convolution class. Executes the convolution of the audio buffer with the IR...
Definition: Convolution.cpp:48
Convolution(juce::AudioProcessor *processor)
Constructor. Creates a Convolution object.
Definition: Convolution.cpp:22
virtual void updateParams(const juce::AudioProcessorValueTreeState &params, const juce::String &="") override
No parameters to update, do nothing.
Definition: Convolution.cpp:31