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

Delay-Attack-Hold-Decay modulation envelope with a signed depth. More...

#include <envelope.hpp>

Public Member Functions

void prepare (double sample_rate)
void set_delay_ms (double ms)
void set_attack_ms (double ms)
void set_hold_ms (double ms)
void set_decay_ms (double ms)
void set_release_ms (double ms)
void set_sustain (SampleType level)
void set_attack_curve (float c)
void set_decay_curve (float c)
void set_curve (double c)
void set_loop (bool on, int count=0)
void set_depth (SampleType d)
 Signed, -1..+1. Applied by modulation(), not by next().
void trigger (SampleType velocity=SampleType{1})
void gate_on ()
void gate_off ()
void reset ()
SampleType next ()
 Raw unipolar level, 0..1.
SampleType modulation () const
 The last next() scaled by the signed depth — the value to hand a modulation destination.
SampleType current () const
SampleType value () const
bool active () const
EnvelopeStage stage () const

Detailed Description

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

Delay-Attack-Hold-Decay modulation envelope with a signed depth.

No sustain, no release, gates ignored.

USE: per-hit modulation shaping — filter sweep depth per drum hit, pitch drops, the mod-envelope role in a drum rack. The signed depth is why this is not just an AhdT: a modulation destination usually wants to be pushed down as often as up, and negating at the source keeps the matrix slot's depth free for the amount.

Member Function Documentation

◆ active()

template<typename SampleType = float>
bool pulp::signal::ModEnvT< SampleType >::active ( ) const
inline

◆ current()

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

◆ gate_off()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::gate_off ( )
inline

◆ gate_on()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::gate_on ( )
inline

◆ modulation()

template<typename SampleType = float>
SampleType pulp::signal::ModEnvT< SampleType >::modulation ( ) const
inline

The last next() scaled by the signed depth — the value to hand a modulation destination.

◆ next()

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

Raw unipolar level, 0..1.

◆ prepare()

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

◆ reset()

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

◆ set_attack_curve()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::set_attack_curve ( float c)
inline

◆ set_attack_ms()

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

◆ set_curve()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::set_curve ( double c)
inline

◆ set_decay_curve()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::set_decay_curve ( float c)
inline

◆ set_decay_ms()

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

◆ set_delay_ms()

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

◆ set_depth()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::set_depth ( SampleType d)
inline

Signed, -1..+1. Applied by modulation(), not by next().

◆ set_hold_ms()

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

◆ set_loop()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::set_loop ( bool on,
int count = 0 )
inline

◆ set_release_ms()

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

◆ set_sustain()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::set_sustain ( SampleType level)
inline

◆ stage()

template<typename SampleType = float>
EnvelopeStage pulp::signal::ModEnvT< SampleType >::stage ( ) const
inline

◆ trigger()

template<typename SampleType = float>
void pulp::signal::ModEnvT< SampleType >::trigger ( SampleType velocity = SampleType{1})
inline

◆ value()

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

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