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 |
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.
| using pulp::signal::ConstantTimeSlewLimiterT< SampleType >::Mode = SlewMode |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticconstexpr |