ref: 798c452b3e1a7cba4b9f1b844cf97064cd06caa8
dir: /piper/piper.h/
typedef struct Cmd Cmd; typedef struct Synth Synth; enum { CmdNote, CmdVol, CmdRaw, }; struct Cmd { int type; union { struct { float freq; float dur; float vel; }note[3]; char *raw; float vol; }; int numnotes; }; struct Synth { char *name; int (*cmd)(void *aux, Cmd *c); void *(*alloc)(char *path); }; extern Synth ay_3_8910; extern Synth kick_drum; int i36(uchar c); float note2freq(uchar note, uchar octave); int pathopen(char *path, char *fmt, ...);