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

Distance-independent portamento used by the Round-2 effect and sequencing lane. More...

#include <mod_tools.hpp>

Public Types

using Mode = SlewMode

Public Member Functions

 ConstantTimeSlewLimiterT ()
void prepare (double sample_rate)
void set_mode (Mode mode)
Mode mode () const
void set_time_ms (double ms)
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

Detailed Description

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

Distance-independent portamento used by the Round-2 effect and sequencing lane.

This is a separate type because its linear law is intentionally incompatible with SlewLimiterT: every target change takes the configured time, regardless of distance. Selecting that law by setter history made two identically configured SlewLimiterT objects behave differently.

Member Typedef Documentation

◆ Mode

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

Constructor & Destructor Documentation

◆ ConstantTimeSlewLimiterT()

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

Member Function Documentation

◆ current()

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

◆ fall_ms()

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

◆ mode()

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

◆ prepare()

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

◆ process()

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

◆ reset()

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

◆ rise_ms()

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

◆ set_fall_ms()

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

◆ set_immediate()

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

◆ set_mode()

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

◆ set_rise_ms()

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

◆ set_time_ms()

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

◆ set_times_ms()

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

◆ settled()

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

◆ value()

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

Member Data Documentation

◆ kSettleEpsilon

template<typename SampleType = float>
double pulp::signal::ConstantTimeSlewLimiterT< 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