Performs a simple reverb effect on a stream of audio data. More...
#include <juce_Reverb.h>
Classes | |
struct | Parameters |
Holds the parameters being used by a Reverb object. More... | |
Public Member Functions | |
Reverb () | |
const Parameters & | getParameters () const noexcept |
Returns the reverb's current parameters. | |
void | setParameters (const Parameters &newParams) |
Applies a new set of parameters to the reverb. | |
void | setSampleRate (const double sampleRate) |
Sets the sample rate that will be used for the reverb. | |
void | reset () |
Clears the reverb's buffers. | |
void | processStereo (float *const left, float *const right, const int numSamples) noexcept |
Applies the reverb to two stereo channels of audio data. | |
void | processMono (float *const samples, const int numSamples) noexcept |
Applies the reverb to a single mono channel of audio data. | |
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.
Reverb::Reverb | ( | ) |
References setParameters(), and setSampleRate().
|
noexcept |
Returns the reverb's current parameters.
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, SmoothedValue< FloatType, SmoothingType >::setTargetValue(), Reverb::Parameters::wetLevel, and Reverb::Parameters::width.
Referenced by Reverb().
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 SmoothedValue< FloatType, SmoothingType >::reset().
Referenced by Reverb().
void Reverb::reset | ( | ) |
Clears the reverb's buffers.
|
noexcept |
Applies the reverb to two stereo channels of audio data.
References SmoothedValue< FloatType, SmoothingType >::getNextValue(), jassert, JUCE_BEGIN_IGNORE_WARNINGS_MSVC, and JUCE_END_IGNORE_WARNINGS_MSVC.
|
noexcept |
Applies the reverb to a single mono channel of audio data.
References SmoothedValue< FloatType, SmoothingType >::getNextValue(), jassert, JUCE_BEGIN_IGNORE_WARNINGS_MSVC, and JUCE_END_IGNORE_WARNINGS_MSVC.