README for Seq66 0.91.0 (Sequencer64 refactored for C++/14 and Qt 5) Chris Ahlstrom 2015-09-10 to 2020-11-21 "Seq66" is a refactoring of the Qt version of "Sequencer64" with modern C++ and with a lot of krufty buildup removed. "Seq66" is now the best-supported version of "Sequencer64". Linux users can build this application easily from the source code. See the INSTALL file. Windows users can get an installer package on GitHub at: https://github.com/ahlstromcj/sequencer64-packages/blob/master/seq66/0.90/seq66_setup_0.90.6.exe (version 0.91.0 coming soon). Major changes: - User interface: - Using Qt 5 for the user-interface (good cross-platform support). Removed the "grid of sets" in favor of unlimited external live grid windows. - Added tabs for management of sets, mute-groups, song mode, pattern editing, event-editing, play-lists, and session management. - Added a live frame using buttons to match Qt theming. (The original implementation is available as a "user" option.) - A color for each sequence can be chosen to make them stand out. The color is saved in a SeqSpec associated with the track. - Configuration files: - Separated MIDI control and mute-group setting into their own files, with support for hex notation. - Supported configuration files: ".rc", ".usr", ".ctrl", ".mutes", ".playlist", and ".drums" (note-mapping). - Unified keystroke control and MIDI control into a ".ctrl" file. It defines MIDI In controls for controlling Seq66, and MIDI Out controls for displaying Seq66 status in grid controllers (e.g. LaunchPad). Basic 4x8 and 8x8 ".ctrl" files for the Launchpad Mini provided. - Non Session Manager. Working on support for this manager, essentially complete. Handles stopping and saving, display of details about the session. - Internal: - More consistent use of modern C++, including lambda functions. - Additional performer callbacks to reduce the need for polling in the user-interface. Seq66 has builds for ALSA/JACK, PortMidi, Windows, and a command-line/daemon. Here are the executables that can be built: Linux ALSA/JACK support: Seq66qt5/qseq66 Linux daemon: Seq66cli/seq66cli Linux qmake/rtmidi: shadow/Seq66qt5/release/qrseq66 Windows qmake/portmidi: shadow/Seq66qt5/release/qpseq66.exe Seq66 uses a Qt 5 user-interface based on Kepler34 and the Seq66 "rtmidi" (Linux) and "portmidi" (Windows) engines. MIDI devices are detected, inaccessible devices are ignored, and playback (e.g. to the Windows wavetable synthesizer) work. It is built easily via Qt Creator or qmake, using MingW. The Qt 5 GUI is the only official GUI of Seq66. See the INSTALL file for build-from-source instructions for Linux or Windows, and using a conventional source tarball. Recent changes: - Version 0.91.0: - Non Session Manager support essentially complete. The refactoring to do this was massive. - All too many bug fixes and minor improvements. - Added --copy-dt-needed-entries to qseq66 Makefile.am to fix linkage errors that cropped up in debug builds. - Got the CLI version building, needs a lot of testing. - Playlist editing from the user-interface much improved. - Version 0.90.6: - Fixed issue #19 where recording notes caused a segfault. - Version 0.90.5: - More refactoring to improve Windows builds and fix deadlocks and playback on a default Windows 10 install. - Added code to implement Song/Live and JACK Transport key toggles. - MIDI control improved for control and for status display by devices like the Launchpad Mini, using new "ctrl" files. - Fixes: - Fixed a bug using millitime() instead of microtime(). - Issue #13, data and event/trigger panes not reflecting event changes. Change handling improved in general with more performer callbacks. - The data pane was some pixels off in the tabbed edit-frame. - Fix a lot of issue with using sets and an 8x8 Seq66 grid. - Improved error-handling and reporting. # vim: sw=4 ts=4 wm=4 et ft=sh
Houston4444/seq66
A lean and mean version of Sequencer64 to use modern C++ and Qt 5. Now at version 0.91.0 2020-11-21; much improved over the Qt version of Seq64. Now includes support for the Non Session Manager
C++