NEWS for Sequencer64 0.96.8
Chris Ahlstrom
2015-07-10 to 2020-02-16

This file collects major changes that are older and clutter up
the README file.  This file should be called "OLD NEWS".

Older major updates:

Pull Request #150 from user jfrey-xx:

    While the commit messages should be self-explanatory, here is a list of
    the current modifications:

	-	I encountered weird behaviors while recording without touching the GUI,
        and switching back and forth between play / pause (note on 0, note off
        with some positive values, as if it got inverted at some point) -	I
        am controlling which sequence to record or to set to midi through,
        explicitly disabling for each state the previous sequence when I am
        switching to a new one. Since it appears only one sequence at a time
        (or one sequence/channel) can be an "input" at the level of
        perform.cpp, it could happen that disabling recording or midi through
        "steals" the input from an active sequence.
    -	Incoming MIDI events are systematically checked against all captured
        MIDI, otherwise too often unwanted notes would be recorded or played
        -- in the comments previous behavior is justified to avoid delays, but
        I willing to trade CPU cycles for that.
    -	Fixed toggle for quantizing mode; it was not working neither for MIDI
        control nor GUI.
    -	Biggest change: the MIDI control "reserved for expansion" is now used
        to set the "replace" flag while recording.
    -   Version 0.96.6:
        -   Fixed issue #180 by enabling the (user_ui_) key_height option.
            Change this value in sequencer64.usr from 8 to a larger value as
            desired.
        -   Fixed issue #179 where note lengths recorded were fixed to grid snap
            (in "slave" mode) instead of length played.
        -   Fixed the plain qseqeditframe handling of the play / record /
            qrecord / thru buttons, reported by a Windows user.
        -   Fixed --priority option to use pthread schedule-setting function.
        -   Fixed external seqedit window remaining after closure.
    -   Version 0.96.5:
        -   Merged in the midi-control code of igorangst and fixed some
            misfeatures along the way.
        -   Fixed error in access transpose functionality.
        -   Many minor issues fixed.
    -   Version 0.96.4:
        -   Tweaks back-ported from Sequencer66.
        -   Added arrow movement of notes in qseqroll, and fixed drawing the
            selection box.
        -   Fixed enabling event-editor save button when an event is deleted.
    -   Version 0.96.3:
        A long time in coming, busy with refactoring Seq66 (now available).
        Fixes issue #171 (GitHub), and some minor tweakage.
    -   Version 0.96.2:
        -   Fixed issue with qsliveframe when expanding vertically, and in
            showing hot-keys when an external live-frame with set > 0 is
            created..
        -   Beefing up play-lists to support editing better.
    -   Version 0.96.1:
        -   Fixes to bugs in the Qt live-frame, including coloring.
        -   Varisets implemented in the Qt live-frame.
        -   Fixes to the CLI version of Sequencer64.
        -   Fixes to file import in the Qt version.
        -   Fix to the Qt song-editor transpose combo-box.
        -   File cleanup, usage of PLATFORM_CPP_11 macro.
        -   Fixes to seqkeys issues in Gtkmm and Qt pattern editors.
        -   Fixed GitHub issue #170, where we exited prematurely from
            processing all of the MIDI controls set up in the "rc" file.
        -   Fixed a Qt performance editor seqfault.
        -   Fixed a bug in process the "rc" file [midi-clock] entries.
    -   Version 0.96.0:
        -   Support for playlists and MIDI selections of playlists and songs.
            Includes the command-line option, "rc" file, keystroke selection,
            and MIDI control.
        -   Fixed ALSA issue with port system:announce being enabled in the
            File / Options / MIDI input GUI.
        -   Added an external window for additional Qt live-frame views.
        -   Updated the command-line version, seq64cli, to use the same
            MIDI/WRK file-open function as the rest of the versions.
        -   Fixed the wrkfile parser to set the buss-override value if specified.
        -   Fixed the B:B:T calculation for displaying the current position
            in non-4/4 time signatures.
    -   Version 0.95.4:
        -   Enable a JACK-less version of the rtmidi build.  GitHub issue #165.  
            If --disable-jack is used, rtmidi will come up as ALSA even if
            the JACK process is running.
    -   Version 0.95.3:
        -   Fixed errors building lash.
        -   Fixed error building in 32-bit g++ 4.9.
        -   Allowed builds of the command-line and GUI versions in the same
            build:  ./bootstrap -er -cli -rm
    -   Version 0.95.2:
        -   Added the Qt 5 version of the Event Editor.
        -   Catching up on some more features from the Gtkmm-2:4 version.
            -   Group-learn support.
            -   Tap BPM support.
            -   Export Song as non-SeqSpec MIDI.
            -   Export as non-SeqSpec MIDI.
            -   Additional buttons:
                -   Open Song Editor ("performance edit").
                -   Apply Song Transpose.
                -   Clear Mute Groups.
                -   Reload Mute Groups.
                -   Song Mute On/Off/Toggle.
        -   Fixed some minor issues found.
    -   Version 0.95.1:  A lot of stuff for a "minor" release! We are
        conserving version numbers, plus most fixes are getting the Qt 5
        version as functional as the Gtkmm-2.4 version of the GUI.
        -   Cleaned up the Build Info dialog and enhanced the About dialog.
        -   See "Pull Request #150" in the NEWS file.
        -   Added the ability to read Cakewalk "WRK" files.
        -   Refactoring the "qseq" classes to avoid constant redraws.
        -   More work on getting Qt version of seqedit to handle the same
            features as seqedit.
        -   Fixed seq64 to match seq24/qpseq64 for displaying beats and
            measures properly in seqedit when the time-signature is changed.
        -   Double precision for BPM in Qt user-interface.
        -   Fixed issue #130 where editing event data (seqdata) would
            be slow/jerky with large patterns.
        -   Fixed issues building Qt/rtmidi executable with automake.
        -   Added an external pattern-editor window and song-editor window
            for the Qt user-interface, plus an LFO window.
        -   Made the Seq32 transpose option permanent, not macroed.
        -   Adding progress-following for the pattern and song editors.
        -   Enhanced MIDI file PPQN handling, and added an option to use the
            PPQN in the MIDI file, if present.  Use "--ppqn 0" or set the
            "user" file "midi_ppqn" value to 0.
        -   Fixed the broken "Expand" and "Replace" options in the sequence
            editor (still working on the Qt version).
    -   Version 0.95.0:
        -   Improved the Windows version and its packaging.  Added a Windows
            icon, an installer, better data support and documentation, and
            upgrades to the GUI.
        -   Added the ability to ignore ports that cannot be opened, and to
            report them.  Needed for Windows.
        -   Fixed display of event data values in the Gtkmm GUI.
        -   Fixed broken "replace loop" recording functionality (Linux).
        -   Fixed broken "expand loop" recording functionality (Linux).
        -   As usual, a raft of minor improvements.
    -   Version 0.94.8:
        -   Fixed issues with configure.ac.
        -   Added Qt "pro" files to support qmake and Qt Creator to make
            a PortMidi build for Linux/Windows.
        -   Added full-path handling to recent-files feature and fixed issues
            with it.
        -   Improved the log-file handling and added it to all versions of the
            application.  Added reroute_stdio() implementation for Windows.
        -   Caught up with the latest features for 32-bit builds, more to do.
        -   Beefing up PortMidi error-handling.
    -   Version 0.94.7:
        -   Keystroke-handling cleanup in preparation for a Qt build.
            Qt keystroke combinations now mapped to Gtkmm values. Tricky.
        -   Now storing the full path-names of recent-file entries.
        -   Restored mainwid event color to the normal colors if no
            color palette selection for the sequence.
        -   Fixed a bug in reading long recent-file entries.  Caused an
            infinite loop.  Your basic programmer brain-fart.  Also fixed
            recent-file handling in Gtkmm and Qt builds.
        -   Improve the handling of "-o scale=x.y", still has minor issues.
        -   The basics of the Qt build work.  It uses the internals from
            seq64, but the Qt user-interface still lacks a lot of features of
            seq64.
    -   Version 0.94.6:
        -   Fixed tempo handling, issue #141.
        -   Added sequence-coloring, stored per sequence as an index into a
            palette.  Colors the mainwid sequence events background and the
            perfroll events background.
        -   Improving support for a Qt 5 build, still not ready for real
            usage, use at your own risk
        -   Support for configure script without needing to bootstrap.
    -   Version 0.94.5:
        -   Added the ability to scale the main window from 1.0 to 3.0 times
            its normal size.  Has issues, but makes buttons bigger and the
            layout easier to see from a distance.
        -   Fixed issues with parsing the -o/--options and adding a file to
            open as the last command-line argument.
        -   Fixed issues #92 and #94, and other issues with multi-wid set
            selection.
        -   Adding events in the seqedit event pane did not work. Fixed.
        -   Importing a file wiped out existing set notes.  Fixed.
    -   Version 0.94.4:
        -   Fixed some mismanagement of the changing image for the transpose
            and play buttons that caused segfaults on some systems.
        -   Fixed build errors with --enable-mainscroll (an unfinished feature).
        -   The LFO window button now toggles that window.
        -   Added a pattern editor event button showing only existing events.
        -   Fleshed out the implementation of MIDI control for sequence record,
            quantize record, and thru.
        -   The configure script is now removed (for reconstruction) after a
            --full-clean bootstrap.
        -   Fixed issues with changing the screenset via keystroke,
            spinbutton, and MIDI control event.
    -   Version 0.94.3:
        -   Changed SeqSpec proprietary track number from 0x7777 to 0x3FFF.
            This will change existing files silently to store the new track
            number.
        -   Added a File / Export option to write a version of a file without
            Sequencer64-specific SeqSpecs.
        -   Unhandled meta events are now preserved instead of being sent to
            the bit bucket.  They are saved along with the rest of the data.
        -   The sequence number is now shown in the pattern and event editors.
        -   Minor fixes and improvements to fruity interaction mode, plus
            fixing GitHub issues #90 and #105.  Also show fruity mode
            indicator in the pattern editor.
    -   Version 0.94.2:
        -   Fixed issue #124, Stop button not resetting the progress bar.
        -   Improved the panic function, and fixed an issue with it when JACK
            native mode is in force.
        -   The "user" definitions for port names are now applied to the
            virtual (manual) output ports by the "-m -R" options.  Note that
            input ports no longer show the "user" definitions.
        -   Installation now adds files to /usr/local/share/sequencer64-0.94.
    -   Version 0.94.1:
        -   Fixed a side-effect of code that kept resetting the tick position
            to 0, preventing progress if JACK transport was active.
        -   Fixed the MIDI clock issue #123.
    -   Version 0.94.0:
        -   Additions from the Oli Kester project, "Kepler34".
            -   Panic-button to stop everything!
            -   Recent-files menu entries; logs full path-names, but shows
                only the base name.  Has Gtk issue with using underscore as
                an accelerator.
            -   Support for multiple trigger selection in the Song Editor, but
                incomplete and currently disabled.
            -   Initial support for Song Recording, in Live mode, which writes
                the live muting changes as triggers to the Song Editor.
                Also has a song-recording snap mode.
            -   A one-shot queuing mode is now provided.  It works like
                queueing, but unqueues the pattern after one playback.
        -   Issue #122 bad alsamidi build fixed.
        -   Bug fixes to unreported issues:
            -   Seq64, when not JACK Transport Master, would not play and
                caused other JACK clients to not play either.
            -   Somehow the "night mode" was painting notes black in the
                perfroll.
            -   Adding a set-note caused a prompt for saving even with no
                changes.
            -   Major major fixes for the "user" configuration file, and 
                a new "[comments]" section for it.  Also fixed ancient bug
                in populating the seqedit event menu, and no longer apply
                the "user" devices to the input port.
        -   The ability to toggle the time display between "B:B:T" and
            "H:M:S" has been added.
    -   Version 0.93.5:
        -   Fixes an issue where incoming Active Sensing events are treated
            incorrectly.  Also update handling for similar events.
        -   Added configure and helper files to the official checkout so that
            users do not have to install so much dev software.
        -   Changed "-v" to be a new "--verbose" option for trouble-shooting.
        -   Fixed the setting of the "stazed" filter-by-channel functionality,
            which was disabled.
        -   Added (WE HOPE) the missing start/stop/continue functionality in
            the "rtmidi" ALSA and JACK implementations.
        -   Some improvements to set_status() functions.
        -   Minor cleanup, and investigation into an issue with triggers and
            the pause functionality in Song mode.
    -   Version 0.93.4:
        -   Duh, I forgot to do this.  Debian packaging fixes?
        -   Merging a miniature version of the PortMIDI library, called
            "portmini", into the code base ("windows" branch).
        -   Building for Windows, still in progress in the "windows" branch.
            Currently supports only the command-line build (bootstrap option
            -win).
    -   Version 0.93.3:
        -   Fixes to issue #105 relating to fruity interactions.
        -   Made it obvious when a nute-group cannot be supported due to
            larger set sizes with the --option sets=RxC setting.
        -   Desktop-settings updates.
        -   Other fixes to unreported problems we found.
    -   Version 0.93.2:
        -   Tweaking the sizing of main window to avoid bottom clipping found
            with some Gnome themes.  Just fudging it, unfortunately.
        -   Fixed issue #103 which wrote global tempo bytes backwards.
        -   Fixed issue #106, an off-by-one error in calculating measures that
            causes edited patterns to grow.
    -   Version 0.93.1:
        -   Version 0.93.1 supports the management of a native MIDI tempo
            track, adhering to MIDI specs.
        -   Tempo events are mostly editable like normal events.  No separate
            "tempo track" editor needed at present.
    -   Version 0.93.0:
        -   Initial support for the tempo track.  It currently includes making
            Meta events have full support in Sequencer64, including in the
            event editor (only Set Tempo and Time Signature are fully
            supported at this time, and share code with SysEx support).
        -   Merged pull request #95 of user layk to fix an issue with
            manipulating long notes while playing.
        -   Fixes a bug where the event editor is not updating properly.
            A long-time regression!
    -   Version 0.92.0:
        -   Added support for variable set-size, from the default
            4x8 (rows x columns) to 8x12.  Can be combined with multi-wid.
        -   Up to 96 hot-keys via a shift/double-shift feature.
    -   Version 0.91.0:
        -   Added option to show a grid of sets, with one set spinner per
            main window.  Set from command-line or the "usr" configuration.
    -   Version 0.90.6:
        -   BPM (tempo) can now be altered in JACK mode.
        -   Added the Stazed Seq32 upgrade to allow, in addition to
            merge-on-record, overwrite-on-record and expand-measures on
            record.
        -   Added Jean-Emmanuel beats-per-measure and measure text-editing
            support to support arbitrary values, issue #77.
        -   Added Jean-Emmanuel seqmenu crash when pasting empty clipboard,
            issue #80.
        -   Added Jean-Emmanuel feature of a scrollable main window,
            conditionally built, pull request #82.
    -   Version 0.90.5:
        -   Added a queued-replace (queued-solo) feature.  It works only with
            the current (in-view) screen-set.  See issue #74.
        -   Made the strip-mutes option permanent.
        -   Fixed a crash in ALSA when input goes to output to input (MIDI
            feedback) with an app like VMPK.
        -   Fixed issue #76 where the JACK Connect Button was the wrong kind
            of button, and we had enabled making Gtk warnings fatal.
        -   Tightened up the event editor, but it is still easy to make it
            crash by adding multiple duplicate events; and they all are shown
            only as a single event.
    -   Version 0.90.4:
        -   Replaces 0.91.0 for now.
        -   Fixed issue #75 where program-change and channel-pressure were
            stripped.
        -   Fixed issue #72 where "ghost" mute-groups were appearing due
            to an error in scanning the mute-group section.
        -   Added a menu command to clear mute groups.  This affects MIDI
            files that contain mute group information.
        -   Added a menu command to reload the mute groups from the "rc" file.
        -   Improved the CLI version, still MIDI control only.  Still handles
            only one MIDI file, passed on the command-line.  Added usable
            "daemonize" and "log=file" options.
    -   Version 0.90.3:
        -   Added a console/daemon (no GUI) version, seq64cli. Configure this
            one with "./bootstrap -er -cli".  Still a work in progress, many
            issues remain.
        -   Fixed a bug in detecting Note On events with 0 velocity.
        -   Fixed issue #69, pass-thru button not working correctly
        -   Fixed issue #71, bad handling of Live mode pattern clicks.
        -   Updated the Debian package-creation "code".
    -   Version 0.90.2:
        -   BACKPORTED a BUG FIX from wip 0.91.0 to fix issue with
            detecting Note On velocity 0!
        -   Fixed weird parsing bug in configfile module.
        -   Fixed incomplete implementation of MIDI stop, start, continue, and
            song-position events, issue #67.
        -   Extended MIDI controls for Stop / Pause / Start, and coarse BPM
            settings.  Precursor to issue #64 ("no GUI").  Partial fix for
            issue #56 ("more midi control").
        -   Converted BPM to a double-precision value, and made the number of
            digits of precision for beats/minute configurable to 0, 1, or 2.
            Takes care of issue #63.
        -   Some minor bugs, such as mute status (mainwid) and playback status
            (seqedit) not being in synch.
        -   Functions for SEQ64_APP_NAME and SEQ64_CLIENT_NAME.
        -   Upgraded the Debian packaging setup.
    -   Version 0.90.1:
        -   Fixes a JACK naming and connection issue when accessing ports
            exposed by a2jmidid.
        -   Fixes a long-standing (back to seq24) issue where the Free
            selection in the pattern editor would still set the MIDI input to
            a fixed velocity.
        -   Double-precision tempo added.
    -   Version 0.90.0:
        -   Initial support for using a heavily-refactored RtMidi spinoff
            library to support native JACK MIDI (as opposed to just JACK
            transport).  RtMidi turned out not to match the model of
            Sequencer64 very well, so to call it an "RtMidi" version is very
            misleading.
        -   PortMidi has been activated!  Builds and runs in Linux, still
            need to set up Gtk for Windows.  However, it has issues currently,
            and we are going to eventually deprecate it.
    -   Version 0.9.21:
        -   Returning to the std::list operation, but with sorting occurring
            after loading.  This buys speed of loading of a large MIDI file
            and better throughput during playback.  Other implementations can
            be activate (see INSTALL).
            Try the large
            b4uacuse-stress.midi file and experiment for yourself.
        -   The LFO window is now built-in by default.  Use --disable-lfo
            if you do not like it.
        -   Added a JACK/ALSA button to show status and bring up a JACK
            connection dialog.
    -   Particular changes since the seq64 fork:
        -   Sequencer64 loads SMF 0 files and splits the channels into separate
            tracks/sequences.
        -   JACK support has been improved, thanks in part to seq32.
        -   Pause functionality added to playback under ALSA.  Pause leaves
            playback where it is, and resumes when playback restarts.  Stop
            rewinds the sequences.  Also added is a Pause key (the period).
            Pause can be disabled at configure time.
        -   Long sequences/patterns auto-scroll horizontally during playback
            to keep up with the progress bar in the sequence/pattern editor.
        -   Highlighting of the current sequence brought up for editing.
        -   MIDI Clock support has been fixed.  Sequencer64 interacts better with
            QJackCtl, Hydrogen, and Klick (command-line metronome).  See the
            testing described in contrib/notes/jack-testing.txt.
        -   An event-editing window has been added, for viewing and editing a
            list of events, regardless of event type.  Viewing is fine, editing
            basics work.
        -   Two synchronized song-editor windows can be shown on screen, to
            better arrange songs with a large number of tracks.
        -   Added a more modern-looking, bolder font to the graphical user
            interface, selectable at run-time, in the "user" configuration file.
        -   Added an ALSA --bus option for easier testing against a specific
            hardware/software synthesizer.
        -   Added a --ppqn option to try to play files at the right speed.  Still
            in progress, as the Seq24 PPQN value of 192 affects a lot of code!
            It basically works, but bugs may still lurk.
        -   Added support for keeping performance and sequence user-interfaces in
            editing mode, very helpful for certain crappy laptop trackpads.
        -   Shift-left-click on the pattern slot in the pattern editor toggles
            the playing state of all other patterns.  This works across
            screen-sets.  Shift-left-click on the pattern name or M in the
            song editor toggles the mute state of all other tracks.
        -   Added arrow key support to some of the windows and panes.
            -   The "l" and "r" keys initiate arrow movement of the performance
                markers.
            -   If notes are selected in the pattern editor, the arrow keys can
                be used to move the notes in time and in pitch.
            -   If selected notes are copied-and-pasted, the selection box that
                indicates where they will be dropped can be moved with the arrow
                keys.  Hitting "Enter" drops the notes just like a left-click.
            -   In the performance editor, a pattern can be selected with the
                mouse and moved right/left with the arrow keys.
        -   Added support for using special keys to manipulate some of the
            user-interface elements:
            -   The "l" and "r" keys initiate arrow movement of the performance
                markers, with "x" to escape this mode.
            -   Also supplemented the mouse with "p" to start paint/draw mode, and
                "x" to escape it, in the sequence and song editors.
            -   Add "z" and "Z" keys to zoom out and zoom in the pattern and song
                piano rolls.  "0" restores the default zoom.
        -   Configurable progress bar, font, redraw timeouts, colors, and more.
            More coloring to help show various editing elements.
        -   The "rc" configuration file has been upgraded to support a couple
            more options, including the enabling/disabling of LASH session
            support.
        -   The "user" configuration file is now written, as well as being read.
            It contains more extensive run-time configuration for
            the user-interface.
            -   [user-interface-setting]
                -   Style of the main-window grid
                -   Control height
                -   Allowing two performance editors onscreen
                -   The page settings of scrollbar.
            -   [user-midi-settings]
                -   Global PPQN value
                -   Global beats per bar and per minute, beat width
                -   Global MIDI buss override
        -   Fixed a long-standing (back to seq24) bug that caused the main window
            buttons to grab focus, causing the space bar to press the button, as
            well as doing its start function.
        -   Internal (invisible) work:
            -   The code has been broken up into libraries, for better separation
                between GUI support and the files, MIDI, JACK, and LASH support.
            -   A wide range of MIDI files have been tested, to find bugs that
                can crash the application.  A nice increase in robustness.
            -   Centralized dirtiness-handling to the perform module, and
                improving its accuracy and comprehensiveness.
            -   Set Tempo and Time Signature events are now read from
                non-Sequencer64 MIDI files, and are also saved in the normal
                MIDI format, for compatibility with other sequencers.
            -   Sequencer64 now loads large MIDI files quickly, and plays
                with throughput comparable to seq24.
    -   Version 0.9.20:
        -   Fixed issue 50, where opening and closing a seqedit, and then
            modifying the buss or channel of that sequence from the
            main window slot right-click menu would cause a segfault.
        -   Also fixed a minor issue with the progress bar being invisible
            in an armed sequence.
        -   Beefed up the LFO control window and added clarifying tooltips for
            it.  Still currently needs the --enable-lfo configure option in
            order to be activated.
        -   Added new rc "allow-click-edit" option to disable bringing up the
            pattern editor with a double-click (issue #51).
        -   Fixed broken seq32 fast-forward and rewind functionality.
    -   Version 0.9.19:
        -   Fixed issue 46, pattern-edit undo being applied twice.
        -   Fixed keystrokes meant for pattern edit fields being used to 
            modify the sequence piano roll.
        -   Main window Mute button is disabled in Song mode to avoid
            confusing behavior.
        -   Progress bar shown in pattern editor for empty sequences.
        -   Some cleanup of playback handling.
        -   Fixed issue 42, where recording a MIDI note was inadvertently of
            fixed length.
        -   Fixed issue 43, where MIDI files with upper-case extensions were
            not shown.
        -   Closed out a number of already-fixed issues.
    -   Version 0.9.18.3:
        -   Bug in cut-and-paste in the sequence editor.  When cutting (not
            just copying), the event clipboard would be cleared and be
            unpastable.
    -   Version 0.9.18.2:
        -   Fixed incorrect loading, saving, and usage of MIDI controls
            feature.
        -   Fixed Song mode and Song Editor interactions.
        -   Updated the Debian package build process.
    -   Version 0.9.18.1:
        -   Fixed a bug in perfedit looping.
        -   Fixed a segfault when modifying an event in the event editor.
        -   Fixed a bug that disabled editing in the Song Editor if an
            inactive sequence was clicked in.
        -   KNOWN BUG:  In this release, Song mode will work only if the
            Song/Live button is activated.  This could be a feature :-)
    -   Version 0.9.18:
        -   Added new buttons in the main window for easier control of muting,
            live/song mode, and menu enabling.  (From Seq32).
        -   Added more hotkeys and a second keys page to the Options dialog
            (From Seq32).
        -   Added a Tap-BPM button and hotkey.
        -   Can now edit the text fields in the main window without triggering
            patterns.
        -   Improved the handling of wrap-around notes in a pattern.
        -   Fixed a segfault in the zoom functionality.
        -   A bad bug in the Song Editor (acting on the wrong pattern) was
            fixed.  I am an idiot.
    -   Version 0.9.17.2:
        -   A regression in the handling of muting in Live mode was fixed.
    -   Version 0.9.17.1:
        -   An important regression/bug for JACK transport support.  I am
            so embarrassed!  It seems to be fixed; basically one line of code
            accidentally commented out.
    -   Version 0.9.17:
        -   Added export of a Sequencer64 song performance as a MIDI file,
            where the MIDI file is laid out as per the song triggers in the
            performance editor.  The triggers are preserved in the exported
            file, but any sequencer can read the performance and will ignore
            the Sequencer64-specific triggers.
        -   Added an "inverse colors" options so that the user interface is a
            bit less bright in a "night" environment.  Also, the progress bar
            can be changed to a number of different colors.
        -   Added an optional Edit menu and the export of a song performance
            to a non-Sequencer64 MIDI file.  (Stazed feature).
        -   Ctrl-Left-Click in the Song Editor now works as a middle-click,
            to split the song trigger in half.
        -   The seq32 feature of splitting at the nearest snap point near
            a middle-click, in the Song Editor, has been added as an optional
            feature.
        -   Started adding support for recording incoming MIDI to the
            sequences that match the incoming channel data. (Stazed feature).
            This is a run-time option, and can be set from the Options dialog,
            the command-line, and in the "rc" configuration file.
        -   Enabled actual support for the recording-volume feature, which was
            not actually used in seq24.
        -   Added better support for undo/redo ability from the stazed project
            (seq32).
        -   Added support for a lot of other stazed (seq32) features and
            extensions, macroed out until we can get them complete and
            finalized.  Some, noted above, are now available.
        -   Added the LFO window module code and refactored it, not yet
            available through the user interface, must be enabled in the code.
        -   Playback status now folded completely into the perform and
            jack_assistant classes.
        -   Lots of bug fixed based on fixes from seq32.  Also merged a
            fix from Arnaud for issue "MIDI controller toggles the wrong
            pattern", a regression caused by my fat fingers.
        -   See earlier version fixes near the end of this README.
    -   Version 0.9.16:
        -   If there is no mute-group information, it is no longer written
            to the MIDI file (unless --legacy is in force).  Saves 4000+
            bytes.  It can be disabled with build option --disable-mutestrip.
        -   Fixed bug in detecting the --jack-session-uuid option.
        -   Hardwired Ctrl-L as an alternative to the "L" (learn) button,
            and added automatic "Caps Lock" when in Learn mode, for keyboards
            that disable Caps Lock.
        -   Fixes and testing of replace, queue, and mute-groups.
        -   Much cleanup and optimization.
    -   Version 0.9.15.1 and .2:
        -   Fixing corner-case issues with saving the configuration.
            Transpose state saved with each pattern.
        -   Moved transpose support to the perform class.
        -   Red-colored events in non-transposable patterns (e.g. drums).
        -   Addition menu entries for muting/unmuting.
        -   Fixed perfedit continual-refresh bug.
        -   Prevent pathological note alterations when growing/shrinking
            selected notes.
    -   Version 0.9.15:
        -   Added the Stazed song-transpose feature from his Seq32 project.
        -   Additional sequence menu entries.
        -   Fixed a bug in muting/unmuting all tracks.
    -   Version 0.9.14:  Apart from some bug fixes and tweaks, the following
        major features have been added:
        -   Chord generation in the pattern editor, similar to what the 
            seq32 project has, but it can be disabled via the configure step.
        -   The song editor now pages horizontally to follow the progress bar.
    -   Version 0.9.13:
        -   Includes an important bug-fix from user 0rel that caused some
            notes to be missing or messed up in a copy operation in the
            pattern editor.
        -   Adds nearly complete support for moving, paging, and going to
            start and end both horizontally and vertically in the song editor
            and the pattern editor using keystrokes. 
        -   Copied note selections can be moved around using the arrow keys
            and pasted using the Enter key.
        -   Note copy/paste/move pattern-editor operations have been fixed or
            improved, and non-note events are handled better, instead of being
            stripped.
        -   Initial support for growing/stretching selected events via
            ctrl-left-arrow and ctrl-right-arrow.  Also, the Enter key
            finishes and then cancels a number of operations: paste, grow,
            move, and selection.
    -   Version 0.9.12 fixes a bug in the drawing of MIDI note numbers in the
        seqkeys panel.

# vim: sw=4 ts=4 wm=4 et ft=sh
