SEQ66(1)

๐Ÿ“ฆ version 0.99.22, in nixos 26.05, nixpkgs unstable

โœจ NAME โœจ

okay so welcome to the Seq66(1) page bestie โ€” this is the December 2023 edition, and it's literally the glow-up of a classic ๐Ÿ’…

  • Seq66 (and its buddy qseq66) โ€” a real-time live MIDI loop sequencer that got refactored from Sequencer64/Seq24. she's not new-new, she's a rebirth ๐Ÿฆ‹

๐ŸŒธ SYNOPSIS ๐ŸŒธ

qseq66 [OPTIONS] [filename] qpseq66 (Windows) [OPTIONS] [filename]
seq66cli [OPTIONS] [filename]

so the tea on filename is: it's the name of a MIDI file that gets loaded at startup. that's it, that's the whole vibe โญ


๐Ÿ’– DESCRIPTION ๐Ÿ’–

okay so Sequencer66 (everyone calls her "Seq66", we're on nickname basis) is a real-time MIDI sequencer. what does that even mean? it means she gives you a genuinely nice interface for editing and playing MIDI 'loops', and honestly? she ate. ๐Ÿ‘‘

for the UI she's running on Qt 5 โ€” that's the whole look, no cap.

if you know Sequencer64 or Seq24, you already get the vibe: Seq66 is functionally very similar to both of them, but she's more flexible and faster. like yeah she's giving "same family," but she's the one with main character energy ๐ŸŒˆ

here's the cast of executables, keep up ๐ŸŽ€:

  • qseq66 โ€” the GUI one, the star of the show โœจ
  • seq66cli โ€” the command-line / daemon version, for when you're feeling lowkey terminal-coded ๐Ÿ–ค
  • qpseq66 โ€” the Windows version, and she's built on a variant of PortMidi, iykyk ๐Ÿ”ฅ

that's the whole intro bestie, no need to scroll โ€” but likeโ€ฆ there's more coming ๐Ÿ‘€

โœจ OPTIONS โœจ

okay bestie, here's the command-line menu ๐Ÿ‘‘ Seq66 accepts the following options, plus an optional name of a MIDI file. Heads-up: many of these options are sticky โ€” meaning they get saved into the "rc" configuration file. "User" options can also be saved, if you want, via --user-save ๐ŸŽ€

  • -h, --help โ€” Display a list of all commandline options โœจ
  • -V, --version โ€” Display the program version ๐Ÿฆ‹
  • -v, --verbose โ€” Adds more output to the console, for troubleshooting. This option is not saved to the "rc" configuration file ๐Ÿ‘€
  • -H, --home dir โ€” Set the directory that holds the configuration files. It is always relative to the user's HOME directory: the default is $HOME/.config/seq66 ๐Ÿ 
  • -X, --playlist filename โ€” Load the given play-list from the HOME directory. The conventional name for this file is, for example, "live-sets.playlist". This file provides one or more play-list entries, each providing a list of one or more songs. Once loaded, the user can use the four arrow keys to move between play-lists and the songs in each play-list. The play-list entries are also controllable via MIDI control values set in the "rc" file. See the Seq66 manual for more information. Note that, once set, this option is, by default, saved in the "rc" file ๐ŸŽถ
  • -b b, --bus b โ€” Supports modifying the buss number on all tracks when a MIDI file is read. All tracks are loaded with this buss-number override. This feature is useful for testing, making it easy to map the MIDI file onto the system's current hardware/software synthesizer setup ๐Ÿ”ฅ
  • -B b, --buss b โ€” The same as the --bus option, just for oldsters to use ๐Ÿ’…
  • -q p, --ppqn p โ€” Supports modifying the PPQN value of Seq66, which defaults to a value of 192. This setting should allow MIDI files to play back at the proper speed, and be written with the new PPQN value. The support values for PPQN (p) are 0 and 32 to 1920. The value of 0 is special. It indicates that the Seq66 internal PPQN should be set to the value that is present in the currently-loaded MIDI file ๐ŸŽฏ
  • -l, --client-name โ€” Changes the default label for the client MIDI ports, which is seq66. It can be changed to any value, though better if it includes seq66. The Non Session Manager will override this label with its own label (e.g, seq66.nXYZX), however ๐Ÿซถ
  • -n, --nsm โ€” Enable NSM support (if included in the build options). This option provides support for qseq66 as a client of the Non Session Manager. This support is basically finished, but please report any issues. Note that LASH is not supported, but JACK session is supported ๐ŸŒˆ
  • -T, --no-nsm โ€” Disable NSM support (if included in the build options). This option overrides the user-session option 'session', useful to temporarily run in "typical" usage โญ
  • -U, --jack-session UUID | on โ€” Enable usage of JACK session management. The user should use on, which enables JACK session management; the process will provide its own UUID when session management starts ๐Ÿ’œ
  • --file <filename> โ€” Load the specified MIDI file on startup. This option does not exist. Instead, specify the file itself as the last command-line argument ๐Ÿ™ˆ
  • -m, --manual-ports โ€” Seq66 won't attach (auto-connect) ALSA/JACK MIDI ports. Instead, it will create its own set of 4 virtual input and 8 virtual output busses/ports. To change this number, use the -o virtual option. The user can then connect them manually (e.g. in qjackctl for JACK usage). Not supported in the PortMIDI build ๐Ÿ”Œ
  • -a, --auto-ports โ€” Seq66 will attach (auto-connect) to existing ALSA/JACK MIDI ports. Useful for overriding the qseq66.rc configuration file when set up to use manual (virtual) ports ๐Ÿงš
  • -r, --reveal-ports โ€” Do not use the 'user' definition for port names, show the actual port names reported by ALSA/JACK ๐Ÿ‘€
  • -R, --hide-ports โ€” Use the 'user' definition for port names (useful for overriding a configuration) ๐Ÿ™ˆ
  • -A, --alsa โ€” Seq66 will use ALSA MIDI ports. This option is useful to override the configuration file, if it was set up for JACK. This is a sticky option ๐ŸŽš๏ธ
  • -s, --show-midi โ€” Dumps incoming MIDI to screen ๐Ÿ–ฅ๏ธ
  • -k, --show-keys โ€” Prints pressed key value โŒจ๏ธ
  • -K, --inverse โ€” Changes the sequence editor and performance/song editor colors to an inverse-color mode. This mode can be considered a "night mode" ๐ŸŒ™
  • -p, --priority โ€” Runs higher priority with a FIFO scheduler. This option needs root access to succeed ๐Ÿ‘‘
  • -P, --pass-sysex โ€” Passes any incoming SYSEX messages to all outputs. Not yet fully implemented ๐Ÿ“จ
  • -d, --record-by-channel โ€” Divert MIDI input by cannel into the sequences that are configured for each channel ๐ŸŽ›๏ธ
  • -D, --legacy-record โ€” Record all MIDI into the active sequence ๐Ÿ“ผ
๐ŸŒˆ JACK-only corner: the following options will not be shown by --help if the application is not compiled for JACK support.
  • -j, --jack-transport โ€” Seq66 will sync to JACK transport, as "slave". Note that JACK transport is separate from native JACK MIDI support ๐Ÿš‚
  • -g, --no-jack-transport โ€” Seq66 will not use JACK transport. This setting is needed if one had earlier enabled JACK transport, but no longer wants it ๐Ÿ›‘
  • -J, --jack-master โ€” Seq66 will try to be the JACK master. This is a sticky option ๐Ÿ‘‘
  • -C, --jack-master-cond โ€” JACK master will fail if there is already a JACK master ๐Ÿ’€
  • -t, --jack-midi โ€” Use native JACK MIDI. This is a separate option from JACK Transport, and is the default. If JACK is not running, the application falls back to ALSA ๐ŸŽน
  • -N, --no-jack-midi โ€” Use ALSA MIDI, even with JACK Transport. See the -A option ๐ŸŽš๏ธ
  • -W, --jack-connect โ€” Auto-connect to JACK ports discovered on the system. This is the standing default ๐Ÿ”—
  • -w, --no-jack-connect โ€” Do not auto-connect to JACK ports. This option is useful to let a session manager take care of the JACK connections. Note that one cannot disable autoconnection if using the ALSA or portmidi engines ๐Ÿ™…
  • -M, --jack-start-mode mode โ€” In ALSA or JACK, the following play modes are available: "live", "song", or "auto". Auto is now the default. Live mode means that the musician controls the unmuting of patterns on the main window. Song mode means that the song layout in the "Song" window controls the playback. Auto means to use Song mode if the song contains performance triggers ๐ŸŽฎ
  • -0, --smf-0 โ€” Normally, SMF 0 (single-track MIDI) files are split into separate tracks when read into Seq66. This 'usr' option preserve the file as an SMF 0 file ๐Ÿงฉ
  • -u, --user-save โ€” Save the "user" configuration file after exiting. Normally, it is saved only if it does not exist, so as not to make certain command-line "user" options (such as --bus) permanent. (Perhaps the same should be true of the "rc" configuration options.) ๐Ÿ’พ
  • -f, --rc filename โ€” Use a different "rc" configuration file. It must be a file in the user's $HOME/.config/seq66 directory or the directory specified by the --home option. The .rc extension is added if no extension is present in the filename ๐Ÿ“
  • -F, --usr filename โ€” Use a different "usr" configuration file. It must be a file in the user's $HOME/.config/seq66 directory or the directory specified by the --home option. The .usr extension is added if no extension is present in the filename ๐Ÿ“‚
  • -c, --config basename โ€” Use a different configuration file base name for the 'rc' and 'usr' files. For example, one can specify a full configuration for "testing", for "jack", or for "alsa" ๐Ÿท๏ธ
  • -S, --session-tag tag โ€” Look into sessions.rc in the "home" configuration directory to load an alternate "session". This file specifies an alternate "home" configuration directory, an alternate 'rc' file-name, an alternate MIDI client ID, and an alternate log file. This option is useful for testing or for changing the setup. It can also be set by exporting the setting SEQ_SESSION_TAG="tagname" with the desired tag-name ๐Ÿงš
  • -L, --locale localename โ€” Set a different locale for running seq66. If the current locale uses the comma as a decimal point, then try --locale en_US.UTF-8 (for example) ๐ŸŒ
  • -o, --option opvalue โ€” Provides additional options, including the no-GUI version of Seq66. Here are the opvalues supported:
    • daemonize โ€” Fork the command-line application to background. The base configuration files are "seq66cli.rc", etc. This feature currently does not work, needs to fork with the proper settings still. For now, create a keyboard or desktop shortcut for a seq66cli command ๐Ÿ’ค
    • no-daemonize โ€” Makes the command-line application not fork ๐Ÿ›‘
    • log=filename โ€” Redirect console output to a log file in the configuration directory ๐Ÿ“
    • sets=RxC โ€” Modifies the rows and columns in a set from the default of 4x8. Supported values of R are 4 to 8, and C can range from 8 to 12. If not 4x8, seq66 is in 'variset' mode. Affects mute groups, too ๐Ÿ” 
    • scale=x โ€” Scales the main window size, from 0.5 to 3.0. A value of 0.75 is useful when using -o wid=2x2 -o sets=8x8, though the pattern labelling is mildly distorted ๐Ÿ”
    • mutes=value โ€” Saving of mute-groups: 'mutes', 'midi', or 'both'. 'mutes' saves to a separate file, 'midi' saves the mutes in the MIDI file ๐Ÿ”‡
    • virtual=o,i โ€” Set up the --manual-ports option, using 'o' output ports and 'i' input ports ๐ŸŽ›๏ธ

๐ŸŽ€ FILES ๐ŸŽ€

okay so this is the part where Seq66 tells you where it keeps all its stuff. it's a whole little ecosystem in your $HOME/.config directory and honestly? it's giving organized queen energy ๐Ÿ’… every file has a job and every job has a file, iykyk.

  • $HOME/.config/qseq66.rc โ€” this is the main character ๐Ÿ‘‘ it stores the main configuration settings for Seq66. if it doesn't exist yet, no worries, it gets generated when Seq66 exits. if it does exist, it gets rewritten with the current configuration of Seq66 โ€” so like, it's always keeping up with you fr. if you're running under NSM, the configuration is stored in the Non Session Manager directory created for that session instead. also! many, or most, of the command-line options are "sticky", meaning they get written to the configuration file. and this config file also specifies other configuration files to be used โ€” it's a whole networking icon โœจ
  • $HOME/.config/qseq66.usr โ€” this one stores the MIDI-configuration settings and some of the user-interface settings for Seq66 ๐ŸŽน if it doesn't exist, it'll be generated with a minimal configuration when Seq66 exits. if it does exist, heads up bestie: it will not be rewritten with the current configuration of Seq66, except when the user-save option is given, or when particular items are changed in the 'Preferences' dialog. so don't expect it to just autosave your whole life, it's lowkey shy ๐Ÿ™ˆ
  • $HOME/.config/qseq66.ctrl โ€” contains the keystroke-control and MIDI-control specification for operating Seq66 from the keyboard and via MIDI commands โŒจ๏ธ๐ŸŽ›๏ธ it also specifies MIDI commands to show the status of commands, patterns, and mute-groups on "launch-pad" devices. very much the control room of the operation.
  • $HOME/.config/qseq66.mutes โ€” contains the settings for mute-groups, which specify collections of unmuted patterns to be played at the touch of a keystroke or by a MIDI command configured in the 'ctrl' file ๐Ÿ”‡ like little pattern playlists you can trigger with one tap. obsessed.
  • $HOME/.config/qseq66.drums โ€” these are settings you can use to modify drum tracks recorded on legacy MIDI equipment so they play on modern General MIDI equipment ๐Ÿฅ and yes, the conversions can be reversed as well โ€” it goes both ways, we love a flexible icon.
  • $HOME/.config/qseq66.playlist โ€” contains one or more play-lists. each play-list is a group of songs ๐ŸŽถ you can cycle through the play-lists and the songs using the arrow keys or MIDI commands configured in the 'ctrl' file. literal DJ set energy tbh.
  • $HOME/.config/qseq66.palette โ€” contains all of the variable colors for tracks, foreground, background, etc. ๐ŸŽจ if present, it overrides the default palette colors. custom aesthetic unlocked, periodt.
  • $HOME/.config/qseq66.qss โ€” an optional Qt style-sheet ๐Ÿ’… if present, it is loaded and can override most elements of the user-interface. it can also be specified in the 'usr' file. she's optional but she's that girl.

also!! many sample configuration files are provided in the data/linux and the data/samples installed directories ๐ŸŒธ go peek at them if you want inspo โ€” and see the Seq66 user manual for details.


๐Ÿ’€ BUGS ๐Ÿ’€

ngl bestie, this section is justโ€ฆ sitting here. the page lists BUGS and then says absolutely nothing underneath it ๐Ÿ˜ญ which is either the most confident flex ever or an open invitation to go find them yourself. either way, we respect the mystery ๐Ÿซถ


okay that's the whole page!! ๐Ÿฆ‹ this came from the Seq66 docs โ€” the source and version and date are all chillin' in that little footer line at the bottom, so go check those if you need the receipts โœจ happy sequencing, bestie โ€” you're gonna slay ๐Ÿ’–๐ŸŽ€

๐Ÿ“ฆ where this page comes from