September 14, 2015, Version 5.0.4: Cleaned up class names for MusicXmlParser. The previous MusicXmlParser_R is now MusicXmlParser, and the previous MusicXmlParser_J is moved out. Please note that there is no current implementation for MusicXmlParserListener. JFugue still needs: a MusicXmlParserListener updated for JFugue 5.0, more thorough tests for MusicXMLParser, and a fix to a timing issue when reading music from an external device.
August 14, 2015, Version 5.0.3: ParserListener now has onNotePressed(Note) and onNoteReleased(Note) callbacks. MusicTransmitterToParserListeners can be used to receive keypresses from a musical keyboard in realtime. See MusicTransmitterToParserListenerListenForMillisDemo.
May 6, 2015, Version 5.0.2: Fix to key signatures when loading from MIDI
March 17, 2015, Version 5.0.1: Load and save Patterns, pattern.prepend(), create ChordProgression from named chords using fromChords(), chordProgression.distribute(), new SolfegeReplacementMap and Demo, new ChainingParserListenerAdapter and Demo
March 8, 2015, Version 5.0.0: All-new JFugue 5 functionality! We're still working on the MusicXML parser/listener, and code that lets you hook up JFugue to external MIDI devices (org.jfugue.devices).
JFugue 5.0 is a from-scratch revision of JFugue. While you may find many similarities with previous versions
of JFugue, there are also significant differences. JFugue 5.0 is not a drop-in replacement for JFugue 4.x.
For an extensive look at the differences between JFugue 4.x and JFugue 5.0, read Differences Between JFugue 4.x and JFugue 5.0.
Despite the differences, JFugue 5.0 is a fantastic API! It is superior to previous versions of JFugue in
many ways, and it introduces new capabilities that make music programming fun and powerful. For more information,
read What's New in JFugue 5.0.