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

#include <PreDelay.h>

Inheritance diagram for reverb::PreDelay:
Collaboration diagram for reverb::PreDelay:

Public Types

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

Public Member Functions

 PreDelay (juce::AudioProcessor *processor)
 Constructs a PreDelay object associated with an AudioProcessor. More...
 
virtual void updateParams (const juce::AudioProcessorValueTreeState &params, const juce::String &blockId) override
 Updates parameters from processor parameter tree. More...
 
virtual AudioBlock exec (AudioBlock ir) override
 Applies predelay to impulse response. More...
 
void prepareIR (juce::AudioSampleBuffer &ir)
 Resizes given IR before processing. More...
 
int getNumSamplesToAdd ()
 Returns expected number of samples after processing. 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...
 

Protected Attributes

float delayMs = 0
 
- Protected Attributes inherited from reverb::Task
juce::AudioProcessor * processor
 
bool mustExec = true
 

Static Protected Attributes

static constexpr int MAX_DELAY_MS = 1000
 

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.
 

Detailed Description

Implements a method to apply a pre-delay factor to a given impulse response.

Definition at line 22 of file PreDelay.h.

Constructor & Destructor Documentation

◆ PreDelay()

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

Constructs a PreDelay object associated with an AudioProcessor.

Parameters
[in]processorPointer to main processor

Definition at line 26 of file PreDelay.cpp.

Member Function Documentation

◆ exec()

AudioBlock reverb::PreDelay::exec ( AudioBlock  ir)
overridevirtual

Applies predelay to impulse response.

Zero-pads beginning of impulse response buffer to match requested predelay. Expects given audio block to be large enough to accomodate predelay.

Parameters
[in,out]irImpulse response to modify

Implements reverb::Task.

Definition at line 58 of file PreDelay.cpp.

◆ getNumSamplesToAdd()

int reverb::PreDelay::getNumSamplesToAdd ( )

Returns expected number of samples after processing.

Parameters
[in]inputNumSamplesNumber of samples in input buffer

Definition at line 98 of file PreDelay.cpp.

◆ prepareIR()

void reverb::PreDelay::prepareIR ( juce::AudioSampleBuffer &  ir)

Resizes given IR before processing.

Parameters
[in,out]irIR to prepare

Definition at line 86 of file PreDelay.cpp.

◆ updateParams()

void reverb::PreDelay::updateParams ( const juce::AudioProcessorValueTreeState &  params,
const juce::String &  blockId 
)
overridevirtual

Updates parameters from processor parameter tree.

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

Implements reverb::Task.

Definition at line 37 of file PreDelay.cpp.


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