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

#include <juce_Compressor.h>

Public Member Functions

 Compressor ()
void setThreshold (SampleType newThreshold)
void setRatio (SampleType newRatio)
void setAttack (SampleType newAttack)
void setRelease (SampleType newRelease)
void prepare (const ProcessSpec &spec)
void reset ()
template<typename ProcessContext>
void process (const ProcessContext &context) noexcept
SampleType processSample (int channel, SampleType inputValue)

Private Member Functions

void update ()

Private Attributes

SampleType threshold
SampleType thresholdInverse
SampleType ratioInverse
BallisticsFilter< SampleType > envelopeFilter
double sampleRate = 44100.0
SampleType thresholddB = 0.0
SampleType ratio = 1.0
SampleType attackTime = 1.0
SampleType releaseTime = 100.0

Detailed Description

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

A simple compressor with standard threshold, ratio, attack time and release time controls.

@tags{DSP}

Constructor & Destructor Documentation

◆ Compressor()

template<typename SampleType>
Compressor::Compressor ( )

Constructor.

Member Function Documentation

◆ prepare()

template<typename SampleType>
void Compressor::prepare ( const ProcessSpec & spec)

Initialises the processor.

◆ process()

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

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

◆ processSample()

template<typename SampleType>
SampleType Compressor::processSample ( int channel,
SampleType inputValue )

Performs the processing operation on a single sample at a time.

◆ reset()

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

Resets the internal state variables of the processor.

◆ setAttack()

template<typename SampleType>
void Compressor::setAttack ( SampleType newAttack)

Sets the attack time in milliseconds of the compressor.

◆ setRatio()

template<typename SampleType>
void Compressor::setRatio ( SampleType newRatio)

Sets the ratio of the compressor (must be higher or equal to 1).

◆ setRelease()

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

Sets the release time in milliseconds of the compressor.

◆ setThreshold()

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

Sets the threshold in dB of the compressor.

◆ update()

template<typename SampleType>
void Compressor::update ( )
private

Member Data Documentation

◆ attackTime

template<typename SampleType>
SampleType juce::dsp::Compressor< SampleType >::attackTime = 1.0
private

◆ envelopeFilter

template<typename SampleType>
BallisticsFilter<SampleType> juce::dsp::Compressor< SampleType >::envelopeFilter
private

◆ ratio

template<typename SampleType>
SampleType juce::dsp::Compressor< SampleType >::ratio = 1.0
private

◆ ratioInverse

template<typename SampleType>
SampleType juce::dsp::Compressor< SampleType >::ratioInverse
private

◆ releaseTime

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

◆ sampleRate

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

◆ threshold

template<typename SampleType>
SampleType juce::dsp::Compressor< SampleType >::threshold
private

◆ thresholddB

template<typename SampleType>
SampleType juce::dsp::Compressor< SampleType >::thresholddB = 0.0
private

◆ thresholdInverse

template<typename SampleType>
SampleType juce::dsp::Compressor< SampleType >::thresholdInverse
private

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