Classes | Public Member Functions | List of all members
Reverb Class Reference

Performs a simple reverb effect on a stream of audio data. More...

Classes

struct  Parameters
 Holds the parameters being used by a Reverb object. More...
 

Public Member Functions

 Reverb ()
 
const ParametersgetParameters () const noexcept
 Returns the reverb's current parameters. More...
 
void setParameters (const Parameters &newParams)
 Applies a new set of parameters to the reverb. More...
 
void setSampleRate (const double sampleRate)
 Sets the sample rate that will be used for the reverb. More...
 
void reset ()
 Clears the reverb's buffers. More...
 
void processStereo (float *const left, float *const right, const int numSamples) noexcept
 Applies the reverb to two stereo channels of audio data. More...
 
void processMono (float *const samples, const int numSamples) noexcept
 Applies the reverb to a single mono channel of audio data. More...
 

Detailed Description

Performs a simple reverb effect on a stream of audio data.

This is a simple stereo reverb, based on the technique and tunings used in FreeVerb. Use setSampleRate() to prepare it, and then call processStereo() or processMono() to apply the reverb to your audio data.

See also
ReverbAudioSource

Constructor & Destructor Documentation

◆ Reverb()

Reverb::Reverb ( )

References setParameters(), and setSampleRate().

Member Function Documentation

◆ getParameters()

const Parameters& Reverb::getParameters ( ) const
noexcept

Returns the reverb's current parameters.

◆ setParameters()

void Reverb::setParameters ( const Parameters newParams)

Applies a new set of parameters to the reverb.

Note that this doesn't attempt to lock the reverb, so if you call this in parallel with the process method, you may get artifacts.

References Reverb::Parameters::dryLevel, Reverb::Parameters::freezeMode, LinearSmoothedValue< FloatType >::setValue(), Reverb::Parameters::wetLevel, and Reverb::Parameters::width.

Referenced by Reverb().

◆ setSampleRate()

void Reverb::setSampleRate ( const double  sampleRate)

Sets the sample rate that will be used for the reverb.

You must call this before the process methods, in order to tell it the correct sample rate.

References jassert, and LinearSmoothedValue< FloatType >::reset().

Referenced by Reverb().

◆ reset()

void Reverb::reset ( )

Clears the reverb's buffers.

◆ processStereo()

void Reverb::processStereo ( float *const  left,
float *const  right,
const int  numSamples 
)
noexcept

Applies the reverb to two stereo channels of audio data.

References LinearSmoothedValue< FloatType >::getNextValue(), and jassert.

◆ processMono()

void Reverb::processMono ( float *const  samples,
const int  numSamples 
)
noexcept

Applies the reverb to a single mono channel of audio data.

References LinearSmoothedValue< FloatType >::getNextValue(), and jassert.


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