shithub: neindaw

ref: 262fbae1b70df3a7883a5c2b8df05e486622559b
dir: /piper/piper.h/

View raw version
typedef struct Cmd Cmd;
typedef struct Synth Synth;

enum {
	CmdNote,
};

struct Cmd {
	int type;
	union {
		struct {
			float freq;
			int len;
		}note[3];
	};
	int numnotes;
};

struct Synth {
	char *name;
	void (*cmd)(void *aux, Cmd *c);
	void *(*alloc)(char *path);
};

extern Synth ay_3_8910;
extern Synth kick_drum;

float note2freq(int octave, char note);
int pathopen(char *path, char *fmt, ...);