psyn/env.h

21 lines
458 B
C

struct envelope_t
{
/* 'Real world' AHDSR values */
double attack;
double attack_hold;
double decay;
double sustain;
double release;
/* AHDR values in samples */
double attack_s;
double attack_hold_s;
double decay_s;
double release_s;
};
void env_init(struct envelope_t *env, double attack, double attack_hold, double decay, double sustain, double release);
double env_getamplitude(struct envelope_t *env, uint32_t sample, uint32_t released);