MIDI-EIFFEL v1.1 **************** IMPORTANT: Midi-eiffel requires the SmallEiffel compiler. At the time of this writing, the latest SmallEiffel release is -0.78. This version does *not* work. Midi-eiffel tickles a bug in -0.78 and compiles core dump. SmallEiffel -0.79 does work. Please use this version. Midi-eiffel is a Eiffel library (SmallEiffel) designed to facilitate writing MIDI applications. It is loosely based on an earlier toolkit I wrote called tclmidi. I have also included same sample applications: minfo - a tool for printing MIDI files in human readable format mcollapse - a tool for converting multi-track files to single-track mexpand - a tool for converting single-track files to multi-track Version 1.0 of this package fixes quite a number of bugs. Most of them in the TRACK class. I've been exercising the library by rewriting tclmidi using Eiffel (and completing the circle). In the process I've shaking out a number of bugs, but I don't doubt there are more. Please let me know what you find and I'll do my best to fix them. You will find the midi-eiffel library code in the lib directory. The sample applications are in the src directory. Be sure to compile with the -case_insensitive option to quiet lots of warnings. You'll probably want to use -boost too. All the default assertion checks make the applications run *very* slowly. If you want, you can use the Makefiles I've included to build the applications. Be sure to change EPATH to the correct value for your SmallEiffel installation. You might want to modify the EFLAGS value too. This library is covered under a modified BSD license, clauses 3 and 4 requiring advertising acknowledgements have been removed. You should be able to use this code in any way you wish - even commercially. Please let me know of any bugs, problems or feature requests. Positive feedback is always nice too. You can get the latest version of this package at: ftp.boogie.com:pub/midi mike durian@boogie.com