/sequencer64

A major reboot of Seq24, with many new features. Current release is 0.94.8 (2018-05-13), native JACK MIDI, Song recording, many fixes, and a provisional Windows/Qt version.

Primary LanguageC++

README for Sequencer64 0.94.8 (Native JACK, CLI, varisets, tempo, Windows)
Chris Ahlstrom
2015-09-10 to 2018-05-13

Sequencer64 is a reboot of seq24, extending it with new features and bug fixes.
The heart of seq24 remains intact.  It is an old friend, and maintains some
backward-compatibility with the --legacy option.  An extensive manual is
found at https://github.com/ahlstromcj/sequencer64-doc.git.  Prebuilt Debian
packages and source tarballs are available:

    https://github.com/ahlstromcj/sequencer64-packages.git.

A number of different builds are supported; here are the two main ones:

Native JACK support: Seq64rtmidi/seq64

    Sequencer64 now has native JACK MIDI support, with virtual/manual ports
    and auto-connect like ALSA, based on RtMidi massively refactored. It falls
    back to ALSA support if JACK is not running.  See README.jack for basic
    instructions on native JACK.

GUI-less native JACK support: Seq64rtmidi/seq64cli

    The JACK version without a GUI.  Currently controlled via MIDI control
    events (start/stop events must be set up), it relies on a good working
    configuration generated via the GUI or edited by hand.  Currently the only
    way to load a MIDI file is as the last argument on the command line.  We
    hope to add an OSC harness eventually.  It supports a "daemonize" option
    and dumping status to a log-file in the user-configuration directory.

Windows support:

    This version now works, unofficially, using a Qt 5 user-interface based on
    Kepler34, but using the standard Sequencer64 libraries.  The
    user-interface works, and Windows built-in MIDI devices are detected,
    inaccessible devices are ignored, and playback (e.g. to the built-in
    wavetable synthesizer) work.

    However, the Qt 5 GUI is well behind the Gtkmm 2.4 GUI for many features.
    That will be fixed bit-by-bit (help wanted!).  In the meantime,
    some configuration can be done manually in the "rc" and "usr" files.
    See README.windows for more information.

See the INSTALL file for build-from-source instructions or using a
conventional source tarball.

Recent changes:

    -   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.
    -   For earlier version information, see the NEWS and ChangeLog files.

This package is oriented to developers and users who do not mind building from
source, with a little help.  It is fairly well organized and well documented.
Please see the INSTALL file for a brief description of installation.

Initial work/thought/documentation started in July of 2015, when I was laid
up after some old-man surgery.

See the ROADMAP file for more information and a kind of TODO list.  Also see
contrib/notes/bugs_to_investigate.  Sequencer64 is documented by the following
project, a 190+-page PDF file and its LaTeX source code:
https://github.com/ahlstromcj/sequencer64-doc.git

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