JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::dsp::Limiter< SampleType > Class Template Reference

A simple limiter with standard threshold and release time controls, featuring two compressors and a hard clipper at 0 dB. More...

#include <juce_Limiter.h>

Collaboration diagram for juce::dsp::Limiter< SampleType >:

Public Member Functions

 Limiter ()=default
 Constructor. More...
 
void prepare (const ProcessSpec &spec)
 Initialises the processor. More...
 
template<typename ProcessContext >
void process (const ProcessContext &context) noexcept
 Processes the input and output samples supplied in the processing context. More...
 
void reset ()
 Resets the internal state variables of the processor. More...
 
void setRelease (SampleType newRelease)
 Sets the release time in milliseconds of the limiter. More...
 
void setThreshold (SampleType newThreshold)
 Sets the threshold in dB of the limiter. More...
 

Private Member Functions

void update ()
 

Private Attributes

Compressor< SampleType > firstStageCompressor
 
SmoothedValue< SampleType, ValueSmoothingTypes::LinearoutputVolume
 
SampleType releaseTime = 100.0
 
double sampleRate = 44100.0
 
Compressor< SampleType > secondStageCompressor
 
SampleType thresholddB = -10.0
 

Detailed Description

template<typename SampleType>
class juce::dsp::Limiter< SampleType >

A simple limiter with standard threshold and release time controls, featuring two compressors and a hard clipper at 0 dB.

@tags{DSP}

Constructor & Destructor Documentation

◆ Limiter()

template<typename SampleType >
juce::dsp::Limiter< SampleType >::Limiter ( )
default

Constructor.

Member Function Documentation

◆ prepare()

template<typename SampleType >
void juce::dsp::Limiter< SampleType >::prepare ( const ProcessSpec spec)

Initialises the processor.

◆ process()

template<typename SampleType >
template<typename ProcessContext >
void juce::dsp::Limiter< SampleType >::process ( const ProcessContext context)
inlinenoexcept

◆ reset()

template<typename SampleType >
void juce::dsp::Limiter< SampleType >::reset ( )

Resets the internal state variables of the processor.

◆ setRelease()

template<typename SampleType >
void juce::dsp::Limiter< SampleType >::setRelease ( SampleType  newRelease)

Sets the release time in milliseconds of the limiter.

◆ setThreshold()

template<typename SampleType >
void juce::dsp::Limiter< SampleType >::setThreshold ( SampleType  newThreshold)

Sets the threshold in dB of the limiter.

◆ update()

template<typename SampleType >
void juce::dsp::Limiter< SampleType >::update ( )
private

Member Data Documentation

◆ firstStageCompressor

template<typename SampleType >
Compressor<SampleType> juce::dsp::Limiter< SampleType >::firstStageCompressor
private

◆ outputVolume

template<typename SampleType >
SmoothedValue<SampleType, ValueSmoothingTypes::Linear> juce::dsp::Limiter< SampleType >::outputVolume
private

◆ releaseTime

template<typename SampleType >
SampleType juce::dsp::Limiter< SampleType >::releaseTime = 100.0
private

◆ sampleRate

template<typename SampleType >
double juce::dsp::Limiter< SampleType >::sampleRate = 44100.0
private

◆ secondStageCompressor

template<typename SampleType >
Compressor<SampleType> juce::dsp::Limiter< SampleType >::secondStageCompressor
private

◆ thresholddB

template<typename SampleType >
SampleType juce::dsp::Limiter< SampleType >::thresholddB = -10.0
private

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