@hackage zmidi-core0.8.2

Read and write MIDI files.

Minimalist library to read and write MIDI files, with dependencies only on ByteString, Containers and Data.Binary.

Changelog:

v0.8.1 to v0.8.2:

  • Updated to compile with ghc-8.4. Thanks to Evan Laforge.

v0.8.0 to v0.8.1:

  • Fixed error with missing CPP directive in ZMidi.Core.Pretty.

v0.7.0 to v0.8.0:

  • Updated to compile without errors with GHC 7.10.

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.