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

Attack-Hold-Decay one-shot, trigger-driven. More...

#include <envelope.hpp>

Public Member Functions

void prepare (double sample_rate)
void set_attack_ms (double ms)
void set_hold_ms (double ms)
void set_decay_ms (double ms)
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 trigger (SampleType velocity=SampleType{1})
void gate_on ()
void gate_off ()
void reset ()
SampleType next ()
SampleType current () const
SampleType value () const
bool active () const
int loops_completed () const
EnvelopeStage stage () const

Detailed Description

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

Attack-Hold-Decay one-shot, trigger-driven.

USE: drum voices and sample playback. The hold keeps the transient and body at full level for a defined window before the tail starts, which is the output-VCA shape of essentially every drum synth. It is also the way to get a chopped shape whose length does not depend on how long a gate was held — the hold is the chop length.

Member Function Documentation

◆ active()

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

◆ current()

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

◆ gate_off()

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

◆ gate_on()

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

◆ loops_completed()

template<typename SampleType = float>
int pulp::signal::AhdT< SampleType >::loops_completed ( ) const
inline

◆ next()

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

◆ prepare()

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

◆ reset()

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

◆ set_attack_curve()

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

◆ set_attack_ms()

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

◆ set_curve()

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

◆ set_decay_curve()

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

◆ set_decay_ms()

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

◆ set_hold_ms()

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

◆ set_loop()

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

◆ stage()

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

◆ trigger()

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

◆ value()

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