Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::MakeupTarget Class Reference

What the make-up gain is heading for. More...

#include <loudness_compensation.hpp>

Public Member Functions

void reset () noexcept
bool primed () const noexcept
float value_db () const noexcept
bool retarget (float db) noexcept
 Jump to db. Returns whether the target changed.
bool follow (float wanted_db, double seconds, double slew_db_per_second) noexcept
 Move toward wanted_db by at most slew x seconds (no limit when the slew is <= 0).
bool follow (float wanted_db, double seconds, double min_slew_db_per_second, double rate_per_second, double max_slew_db_per_second, double knee_db=0.0) noexcept
 The proportional form described above; the speed-up counts only the distance beyond knee_db.

Detailed Description

What the make-up gain is heading for.

A shape edit (or a switch-on) moves it at once – the user asked for it. The material moves it with a slew that is proportional to how far it has to go: at least min_slew_db_per_second (so a steady groove's frame-to-frame wobble is smoothed away), rate_per_second x the distance when that is faster beyond a knee (exponential approach to a far target), at most max_slew_db_per_second. The caller ramps the applied gain toward it.

Member Function Documentation

◆ follow() [1/2]

bool pulp::signal::MakeupTarget::follow ( float wanted_db,
double seconds,
double min_slew_db_per_second,
double rate_per_second,
double max_slew_db_per_second,
double knee_db = 0.0 )
inlinenoexcept

The proportional form described above; the speed-up counts only the distance beyond knee_db.

◆ follow() [2/2]

bool pulp::signal::MakeupTarget::follow ( float wanted_db,
double seconds,
double slew_db_per_second )
inlinenoexcept

Move toward wanted_db by at most slew x seconds (no limit when the slew is <= 0).

Returns whether the target changed.

◆ primed()

bool pulp::signal::MakeupTarget::primed ( ) const
inlinenodiscardnoexcept

◆ reset()

void pulp::signal::MakeupTarget::reset ( )
inlinenoexcept

◆ retarget()

bool pulp::signal::MakeupTarget::retarget ( float db)
inlinenoexcept

Jump to db. Returns whether the target changed.

◆ value_db()

float pulp::signal::MakeupTarget::value_db ( ) const
inlinenodiscardnoexcept

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