Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::StereoEnvelopeFollowerT< SampleType > Class Template Reference

Two-channel envelope follower with a detector-domain stereo link. More...

#include <dynamics_contract.hpp>

Public Types

using Mode = typename EnvelopeFollowerT<SampleType>::Mode

Public Member Functions

void prepare (SampleType sample_rate)
void set_attack_ms (SampleType ms)
void set_release_ms (SampleType ms)
void set_mode (Mode mode)
void set_link (SampleType amount)
SampleType link () const noexcept
std::array< SampleType, 2 > process (SampleType left, SampleType right)
std::array< SampleType, 2 > current () const
void reset ()

Detailed Description

template<typename SampleType = float>
class pulp::signal::StereoEnvelopeFollowerT< SampleType >

Two-channel envelope follower with a detector-domain stereo link.

Link zero keeps independent detectors. Link one drives both followers from the louder instantaneous channel magnitude, preserving the stereo image. Intermediate values blend magnitudes before peak/RMS integration, so opposite-polarity channels cannot cancel in the detector.

Member Typedef Documentation

◆ Mode

template<typename SampleType = float>
using pulp::signal::StereoEnvelopeFollowerT< SampleType >::Mode = typename EnvelopeFollowerT<SampleType>::Mode

Member Function Documentation

◆ current()

template<typename SampleType = float>
std::array< SampleType, 2 > pulp::signal::StereoEnvelopeFollowerT< SampleType >::current ( ) const
inline

◆ link()

template<typename SampleType = float>
SampleType pulp::signal::StereoEnvelopeFollowerT< SampleType >::link ( ) const
inlinenoexcept

◆ prepare()

template<typename SampleType = float>
void pulp::signal::StereoEnvelopeFollowerT< SampleType >::prepare ( SampleType sample_rate)
inline

◆ process()

template<typename SampleType = float>
std::array< SampleType, 2 > pulp::signal::StereoEnvelopeFollowerT< SampleType >::process ( SampleType left,
SampleType right )
inline

◆ reset()

template<typename SampleType = float>
void pulp::signal::StereoEnvelopeFollowerT< SampleType >::reset ( )
inline

◆ set_attack_ms()

template<typename SampleType = float>
void pulp::signal::StereoEnvelopeFollowerT< SampleType >::set_attack_ms ( SampleType ms)
inline

◆ set_link()

template<typename SampleType = float>
void pulp::signal::StereoEnvelopeFollowerT< SampleType >::set_link ( SampleType amount)
inline

◆ set_mode()

template<typename SampleType = float>
void pulp::signal::StereoEnvelopeFollowerT< SampleType >::set_mode ( Mode mode)
inline

◆ set_release_ms()

template<typename SampleType = float>
void pulp::signal::StereoEnvelopeFollowerT< SampleType >::set_release_ms ( SampleType ms)
inline

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