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 |
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The last next() scaled by the signed depth — the value to hand a modulation destination.
|
inline |
Raw unipolar level, 0..1.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Signed, -1..+1. Applied by modulation(), not by next().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |