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 |
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |