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

#include <mod_tools.hpp>

Public Types

using Mode = SlewMode

Public Member Functions

 SlewLimiterT ()
void prepare (double sample_rate)
void set_mode (Mode mode)
Mode mode () const
void set_time_ms (double ms)
 Symmetric spelling for the toolkit's full-scale rate limiter.
void set_rise_ms (double ms)
void set_fall_ms (double ms)
void set_times_ms (SampleType rise, SampleType fall)
double rise_ms () const
double fall_ms () const
void set_immediate (SampleType value)
void reset (SampleType value=SampleType{0})
SampleType value () const
SampleType current () const
bool settled () const
SampleType process (SampleType input)

Static Public Attributes

static constexpr double kSettleEpsilon = 1e-9

Member Typedef Documentation

◆ Mode

template<typename SampleType = float>
using pulp::signal::SlewLimiterT< SampleType >::Mode = SlewMode

Constructor & Destructor Documentation

◆ SlewLimiterT()

template<typename SampleType = float>
pulp::signal::SlewLimiterT< SampleType >::SlewLimiterT ( )
inline

Member Function Documentation

◆ current()

template<typename SampleType = float>
SampleType pulp::signal::SlewLimiterT< SampleType >::current ( ) const
inline

◆ fall_ms()

template<typename SampleType = float>
double pulp::signal::SlewLimiterT< SampleType >::fall_ms ( ) const
inline

◆ mode()

template<typename SampleType = float>
Mode pulp::signal::SlewLimiterT< SampleType >::mode ( ) const
inline

◆ prepare()

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

◆ process()

template<typename SampleType = float>
SampleType pulp::signal::SlewLimiterT< SampleType >::process ( SampleType input)
inline

◆ reset()

template<typename SampleType = float>
void pulp::signal::SlewLimiterT< SampleType >::reset ( SampleType value = SampleType{0})
inline

◆ rise_ms()

template<typename SampleType = float>
double pulp::signal::SlewLimiterT< SampleType >::rise_ms ( ) const
inline

◆ set_fall_ms()

template<typename SampleType = float>
void pulp::signal::SlewLimiterT< SampleType >::set_fall_ms ( double ms)
inline

◆ set_immediate()

template<typename SampleType = float>
void pulp::signal::SlewLimiterT< SampleType >::set_immediate ( SampleType value)
inline

◆ set_mode()

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

◆ set_rise_ms()

template<typename SampleType = float>
void pulp::signal::SlewLimiterT< SampleType >::set_rise_ms ( double ms)
inline

◆ set_time_ms()

template<typename SampleType = float>
void pulp::signal::SlewLimiterT< SampleType >::set_time_ms ( double ms)
inline

Symmetric spelling for the toolkit's full-scale rate limiter.

A 0 -> 1 move takes ms; shorter moves take proportionally less time.

◆ set_times_ms()

template<typename SampleType = float>
void pulp::signal::SlewLimiterT< SampleType >::set_times_ms ( SampleType rise,
SampleType fall )
inline

◆ settled()

template<typename SampleType = float>
bool pulp::signal::SlewLimiterT< SampleType >::settled ( ) const
inline

◆ value()

template<typename SampleType = float>
SampleType pulp::signal::SlewLimiterT< SampleType >::value ( ) const
inline

Member Data Documentation

◆ kSettleEpsilon

template<typename SampleType = float>
double pulp::signal::SlewLimiterT< SampleType >::kSettleEpsilon = 1e-9
staticconstexpr

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/mod_tools.hpp