LMMS
Loading...
Searching...
No Matches
juce::dsp::Limiter< SampleType > Class Template Reference

#include <juce_Limiter.h>

Public Member Functions

 Limiter ()=default
void setThreshold (SampleType newThreshold)
void setRelease (SampleType newRelease)
void prepare (const ProcessSpec &spec)
void reset ()
template<typename ProcessContext>
void process (const ProcessContext &context) noexcept

Private Member Functions

void update ()

Private Attributes

Compressor< SampleType > firstStageCompressor
Compressor< SampleType > secondStageCompressor
SmoothedValue< SampleType, ValueSmoothingTypes::LinearoutputVolume
double sampleRate = 44100.0
SampleType thresholddB = -10.0
SampleType releaseTime = 100.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 Limiter::prepare ( const ProcessSpec & spec)

Initialises the processor.

◆ process()

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

Processes the input and output samples supplied in the processing context.

◆ reset()

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

Resets the internal state variables of the processor.

◆ setRelease()

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

Sets the release time in milliseconds of the limiter.

◆ setThreshold()

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

Sets the threshold in dB of the limiter.

◆ update()

template<typename SampleType>
void Limiter::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 files: