hi,
a prototype midifile interface to qlist is almost ready now. Still, before releasing, I would like to do some of my own pre-alpha testing first, but this will need to wait until my teaching duties ease a little.
There is a preliminary version snapshot available as three files (s_mf.h, s_mf.c, and x_qlist.c.diff) you can preview at suita.chopin.edu.pl/~czaja/midifile/. Have a quick look, if you like, but please remember this is a pre-release, ie. it is not meant to be used yet. I wait for any comments that would help me avoid silly mistakes.
The implementation was done from scratch, following Standard MIDI Files 1.0 Draft specification, to make shure it closely obeys the basic standard, conforms to the `PureData coding style', and easily and naturally integrates with Pd code. Anyway, the basic parsing is pretty simple, the hard parts are specific to Pd and/or not covered in libraries I know of (but I know much too little). Besides, I prefer to deal with my own bugs, rather than to propagate other's.
In this prototype version I wanted to keep changes to x_qlist.c
as minimal and localized, as possible. Therefore, instead of
adding mf' file format to qlist's
read' and write' messages (and providing automatic format detection in case a user had not specified read format), I have choosen a quick and dirty way of adding separate
mfread' and `mfwrite' messages. I think the
interface should be integrated with plain read/write in the final
version.
There is much more to say, mainly about general feasibility of using qlist as a sequencing tool (but I prefer not to go into that, yet...)
Krzysztof