The zmidi-core package
Minimalist library to read and write MIDI files, with dependencies only on ByteString, Containers and Data.Binary.
v0.6.0 to v0.7.0:
Changed ChannelPrefix constructor to have a single argument - channel number (previously it stored a constant tag 0x01 as well as channel number).
Added SysExCont and SysExEscape constructors to the MidiSysExEvent data type.
Added new pretty printers - Csv based on midicsv and Ascii based on the ASCII MIDI representation in the book Beyond Midi (the zmidi ASCII representation is simplified). The demo application MidiPrint now allows choice of pretty printer.
printMidiHeader and printMidiTrack from Pretty changed to MidiFiles as arguments, printMidi has now become putMidi.
v0.5.0 to v0.6.0:
Extended the parser and changed the syntax tree to interpret MIDI Running Status.
Added a module ZMidi.Core.Canonical to translate MidiFiles to a canonical form where any shorthand NoteOff introduced by Running Status is expanded to regular NoteOn and NoteOff events (with Running Status set, MidiFiles can signal NoteOff events as another NoteOn with 0 channel velocity).
Added a hack to the pretty printer to stop printing ASCII chars greater than 164 causing an error when printing to stdout.
For older changes see - CHANGES file.
|Versions||0.1.0, 0.2.0, 0.2.1, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.8.1|
|Dependencies||base (<5), binary (>=0.5), bytestring, containers [details]|
|Copyright||Stephen Tetley <firstname.lastname@example.org>|
|Maintainer||Stephen Tetley <email@example.com>|
|Uploaded||Tue Dec 31 15:44:47 UTC 2013 by StephenTetley|
|Downloads||1805 total (9 in the last 30 days)|
|Status||Docs available [build log]
Successful builds reported [all 1 reports]
For package maintainers and hackage trustees