libsmf
Data Structures
Here are the data structures with brief descriptions:
 Cchunk_header_structSMF chunk header, used only by smf_load.c and smf_save.c
 Cmthd_chunk_structSMF chunk, used only by smf_load.c and smf_save.c
 Csmf_event_structRepresents a single MIDI event or metaevent
 Csmf_structRepresents a "song", that is, collection of one or more tracks
 Csmf_tempo_structDescribes a single tempo or time signature change
 Csmf_track_structRepresents a single track