ref: 8a700fc7e0d8f2815e353de9aae8ad7b3594eb1a
dir: /h/adsr.h/
typedef struct {
SPFLOAT atk;
SPFLOAT dec;
SPFLOAT sus;
SPFLOAT rel;
uint32_t timer;
uint32_t atk_time;
SPFLOAT a;
SPFLOAT b;
SPFLOAT y;
SPFLOAT x;
SPFLOAT prev;
int mode;
} sp_adsr;
int sp_adsr_create(sp_adsr **p);
int sp_adsr_destroy(sp_adsr **p);
int sp_adsr_init(sp_data *sp, sp_adsr *p);
int sp_adsr_compute(sp_data *sp, sp_adsr *p, SPFLOAT *in, SPFLOAT *out);