Changelog for zmidi-core-0.8.1
0.8.0 to 0.8.1:
* Fixed error with missing CPP directive in ZMidi.Core.Pretty.
0.7.0 to 0.8.0:
* Updated to compile without errors with GHC 7.10.
0.6.0 to 0.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@.
0.5.0 to 0.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.
0.4.0 to 0.5.0:
* Changed order of @MidiVoiceEnvent@ constructors so the Ord
instance follows the order of the /tag/ in the MIDI binary
representation.
* Changed @MidiSysCommonEvent@ to have different constructors
for unidentified F4 anf F5 events.
* Changed @MidiSysRealTimeEvent@ to have different constructors
for unidentified F9 and FD events.
* Added more Haddock docs.
* Various internal code changes.
0.3.0 to v0.4.0:
* Added new constructors to @MidiMetaEvent@ for MidiPort and
MetaOther. MetaOther recognizes otherwise unrecognized events
improving the robustness of the parser. Similarly a new
/other/ constructor has been added to @MidiScaleType@ to
avoid parse errors.
0.2.1 to 0.3.0:
* Revised naming of the MIDI data types. All data types now have
the prefix Midi (previously only MidiFile followed this scheme).
The rationale for this is client software, that might want a
higher-level representation, is then free to use the more
generic names Track, Message, etc.
* @DeltaTime@ made a newtype wrapper rather than a type synonym.
* Renamed the pretty print functions @track@ to @printMidiTrack@
and @header@ to @printMidiHeader@.
* Moved internal dataypes (SplitByte, Varlen) into a private
module.
0.2.0 to 0.2.1:
* Added Show class constraints to various type signatures to
accommodate changes to Num superclass hierarchy in GHC 7.4.
Thanks to Rémy Mouëza for the patches.
0.1.0 to 0.2.0:
* Added a top-level /shim/ module to import all the exposed
modules. Added a version number module
0.1.0:
* Initial release.