quantumVERB  1.0.0
A FOSS convolution reverb plugin
reverb::Task Class Referenceabstract

#include <Task.h>

Inheritance diagram for reverb::Task:

Public Types

using Ptr = std::shared_ptr< Task >
 

Public Member Functions

 Task (juce::AudioProcessor *processor)
 
virtual void updateParams (const juce::AudioProcessorValueTreeState &params, const juce::String &blockId)=0
 Updates parameters from processor parameter tree. More...
 
virtual AudioBlock exec (AudioBlock)=0
 Apply block logic to input buffer.
 
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...
 

Public Attributes

double sampleRate
 

Protected Member Functions

float getParam (const juce::AudioProcessorValueTreeState &params, const juce::String &blockId) const
 Internal method used to get (and check) a parameter's value.
 

Protected Attributes

juce::AudioProcessor * processor
 
bool mustExec = true
 

Detailed Description

Abstract task object used to represent various processing elements

Definition at line 54 of file Task.h.

Member Function Documentation

◆ needsToRun()

virtual bool reverb::Task::needsToRun ( ) const
inlinevirtual

Tells caller whether block must be run for current block.

May be overriden by IR blocks since these are executed sparingly.

Reimplemented in reverb::Equalizer, reverb::MainPipeline, and reverb::IRPipeline.

Definition at line 83 of file Task.h.

◆ updateParams()

virtual void reverb::Task::updateParams ( const juce::AudioProcessorValueTreeState &  params,
const juce::String &  blockId 
)
pure virtual

Updates parameters from processor parameter tree.

Parameters
[in]paramsProcessor parameter tree
[in]blockIdID of block whose paramters should be checked

Implemented in reverb::IRPipeline, reverb::Filter, reverb::MainPipeline, reverb::Equalizer, reverb::TimeStretch, reverb::Convolution, reverb::PreDelay, reverb::Mixer, and reverb::Gain.

◆ updateSampleRate()

virtual void reverb::Task::updateSampleRate ( double  sr)
inlinevirtual

Update sample rate for task block.

Compares new sample rate with previous value. If different, sets mustExec to true in order to re-run task for new sample rate. Store new sample rate value in object.

Parameters
[in]srSample rate

Reimplemented in reverb::IRPipeline, reverb::Equalizer, and reverb::MainPipeline.

Definition at line 97 of file Task.h.


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