7 int ppqn, fps, ticks_per_frame;
10 struct midi_track *tracks;
16 struct midi_event *head, *tail;
26 struct midi_event *next;
29 #define MIDI_NOTE_OFF 8
30 #define MIDI_NOTE_ON 9
31 #define MIDI_NOTE_AFTERTOUCH 10
32 #define MIDI_CONTROLLER 11
33 #define MIDI_PROG_CHANGE 12
34 #define MIDI_CHAN_AFTERTOUCH 13
35 #define MIDI_PITCH_BEND 14
37 #define MIDI_NOTE_NUM(ev) ((ev)->arg[0])
38 #define MIDI_NOTE_VEL(ev) ((ev)->arg[1])
44 struct midi *midi_load(const char *fname);
45 void midi_free(struct midi *midi);
47 int midi_num_tracks(struct midi *midi);
48 struct midi_track *midi_track(struct midi *midi, int idx);