24 lines
522 B
C
24 lines
522 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;
|
|
};
|
|
|
|
extern struct envelope_t _env;
|
|
extern struct envelope_t _env2;
|
|
|
|
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);
|
|
|