Bugs, etc.
Chris Ahlstrom
2015-10-27 to 2018-08-26

In no particular order...  "y" means "in progress".

-  Make a left-click while playing in perfedit act like the position-pointer
   keystroke.
-  Consider making the other perfedit and seqedit keys configurable
   in new sections [perfedit-keys] and [seqedit-keys], in the Ext Keys
   tab and the "rc" file.  Or at least display them there for reference.
-  In perfedit, with the "stress" MIDI file, clicking on the scrollbar down
   arrow moves the display to the 31st (bottom) page!  The PageDown key works
   fine!
-  Movement of the L/R markers in perftime is a little inconsistent. Also,
   the progress bar follows the movement of the L marker (probably normal,
   though).
-  Selecting a perfedit trigger section, then using the left/right arrows now
   does nothing (seq32jack mode).
y  The "replace" key functionality (turn on the selected pattern and turn off
   all others) is broken.  Basically fixed when using the Control keys.  Other
   keys (e.g. keypad keys) behave slightly differently.
-  If building with chord support is active, then the movement of the
   selection box by the arrow keys is more flickery.  Seems to depend upon
   context.
-  Modify-flag improvements.  Still a few weak spots.
y  Load the very simple test.midi file.  Open the pattern editor. Select the
   left note.  Ctrl-Select the right note.  Note the drawing artifacts.
   See the extra events *created*, at the bottom of this file!  Still needs
   more testing.
-  Event Editor bugs:
   -  Need case-insensitive abbreviations for inserting events:
      CC (Control Change), PC (Program Change), ON (Note On), OFF (Note Off),
      AT (Aftertouch), ...
-  Grow using a ctrl-arrow key can fail in odd ways.

   DOCUMENT THIS:

y  In Sequencer64 and Seq24, select a couple events in the event row of the
   seqedit dialog (this must be done by drawing a small rectangle surrounding
   the event), and then move them a little to the right... the events end
   up greatly elongated in the seqroll section.  This really is not a bug,
   but shows that the user can move Note On events past the original Note Off
   events.  For now, we gray the event panel for these events just as a
   warning to the user.  HOWEVER, the CODE now seems to account for this!!!)
y  Aftertouch events are not transposed.  Are they also selectable?
y  It seems like note-off is not working when the song is stopped or paused
   now.  This is fixed for ALSA, but not for JACK.
-  When we set the beat-width high (e.g. 16 or 32) in perfedit, we need to
   either increase the zoom or change how the time grid drawing works.
   (The seqroll class handles the grid drawing well.)
-  When the sequence numbers reach 4 digits, they make the slot labelling
   crammed up and ugly.
-  Support for the Non Session Manager.
   Write up a procedure for using nsm-proxy as Daniel Appelt notes.
-  Support for automation via scripting or OSC.
-  Add JACK-fuzzing code feature for testing and stressing JACK transport and
   other JACK transport clients.
-  The vertical scroll feature in seqdata immediately puts the data value at
   0, but otherwise works fine, adjusting it up and down properly.
-  Make sure that Sequencer64 handles running status, via the files that
   midicvt discusses.
-  We need to be able to empty out any sequences and close any editors
   when loading a new file, otherwise Sequencer64 can freeze.  In generally,
   we need to *manage* the various editing windows better.
-  In the pattern editor piano roll, implement Undo for the arrow keys in the
   same way as for the mouse.
-  The "increase size of grid" button on the perfedit doesn't work, or at least
   doesn't show any visual feedback.
-  Is the --pass-sysex command actually supported?  Seq24 threw SysEx away.
-  Implement, if possible, the "p/x" keys in the seqevent area.
-  Just noticed that snap is saved.  Where?  Is this a bug or a feature?
-  When closing a file, either need to blank out or close any pattern-editor
   windows and the performance editor; something like that.
-  Document that right-click on the pattern editor left and right scrollbar
   arrows act like Home and End for the seqroll.
-  Better progress and status indicators:
   -  Show the following items in the sequence editor:
      -  The sequence number.
      -  The current "time" of the progress bar.
   -  Show the following items in the song editor:
      -  The current "time" of the "L" marker.
      -  The current "time" of the "R" marker.
   -  Would be nice to have the performance editor scroll to keep the
      progress bar in view.  Already done for sequence editor.
   -  Would be nice to show the current note/time/tick/measure/bar in all of
      the windows.
-  Seq24/Sequencer64 do not write out the c_midictrl data for any sequences.
   Something to learn more about and fix.
-  Add swing-quantization to the seqedit menu.
-  Would be nice to be able to Ctrl-Home, Ctrl-End, Page Up, and Page Down
   in the Song Editor.
-  We now have the same file imported twice, into screen-set 1 and screen-set
   2.  Now can we have --bus n do n and n+1 (each next screen-set goes to the
   next buss?
-  Sometimes the editing of event values in the event data section
   will not work. The workaround is to do a Ctrl-A, and the click in
   the roll to deselect the selection; that makes the event value
   editing work again.
-  The pattern right-click Cut menu entry does not seem to work.
   The loop or pattern remains in place.  Is this actually meant to
   cut selected events?
-  While one is typing in the name of the set in this field, the
   keystrokes will affect the panel window, causing playback to
   start and pattern boxes to be toggled!
-  While one is typing in the number of the set in the Set number field,
   the keystrokes will affect the panel window, causing playback to
   start and pattern boxes to be toggled!
-  Right click to edit a new sequence automatically shows it in perfnames,
   but not in mainwid.
-  Should mark empty tracks in the background-sequence selector, or just not
   show them.
-  For a time signature of 7/4 and a length of 8 bars, that 7/8:8 sequence,
   when draw-clicked into the song editor, takes up 14 measures, until the
   song editor is also set to 7/4.
-  Create a long note and a short note.  Select the shorter note so it is
   orange.  Drag it over to the middle of the longer note.  Orange will
   cover the length of the short note, plus bleed over to the right to the end
   of the longer note.  Other minor issues with overlapping notes.
   Can get notes chopped and resized!
-  Could use a small view of a sequence, or at least the overall song,
   to see where you are in it.
-  Sometimes the editing of event values in the event data section
   will not work. The workaround is to do a Ctrl-A, and the click in
   the roll to deselect the selection; that makes the event value
   editing work again.
-  The pattern right-click Cut menu entry does not seem to work.
   The loop or pattern remains in place.  Is this actually meant to
   cut selected events?
-  While one is typing in the name of the set in this field, the
   keystrokes will affect the panel window, causing playback to
   start and pattern boxes to be toggled!
-  While one is typing in the number of the set in the Set number field,
   the keystrokes will affect the panel window, causing playback to
   start and pattern boxes to be toggled!
-  In midibus, make the buss name variable, instead of hard-wired to "seq24".
   It should be an optional command-line option, and default to "Seq64".
   And in the same module, function init_in() should use it as well.
   Like legacy mode, using a link named "seq24" to run the app should
   also change this name to seq24, as should --legacy itself!
   Also init_in_sub().
-  --manual-alsa-ports on the command line does NOT override the "rc"
   configuration file setting!
-  Can we provide a way to move a note a tiny amount without changing the beat
   size?
-  Ctrl-Z for data/event does n0t work unless the piano roll has the focus.
   Worth worrying about?
-  If POSSIBLE, avoid loading the "user" configuration file, or at least
   parts of it, when "manual-alsa-ports" is set to "1".
   -  ACTUALLY, THIS SEEMS TO BE WORKING PARTLY: the right busses are shown,
      but the sequencer64.usr file controllers and channels are still shown.
   -  Also what happens is that, if manual-alsa-ports is false, and the "user"
      file has entries, but fewer entries than what the system provides by
      default, then the additional system entries are visible.  NOT SURE IF
      THIS IS A BUG, A FEATURE, or A WARNING TO THE USER.
-  WEIRD!  Opening the File / Options / MIDI Input tab with "manual alsa"
   set to true, the port shown is "[1] seq24 1", not the  "[0] seq24 0"
   that I expected.  However, check this out:
      % arecordmidi -l
       Port    Client name                      Port name
       14:0    Midi Through                     Midi Through Port-0
      129:0    seq24                            [1] seq24 1
      129:1    seq24                            [2] seq24 2
      129:2    seq24                            [3] seq24 3
       ...      ...                                 ...
      129:15   seq24                            [16] seq24 16
-  Provide an "infinite" pattern that will not repeat (unless specified
   multiple times in the performance editor).
   "Infinite" sequences, aka a "track" as opposed to a sequence.
   Or, perhaps the track can be set to any length (add 128 and 256
   to the list???), but be marked as a one-shot timer, set to inactive
   once it is done, never to sound again until the next playback.
-  Muting in mainwid or perfnames should be reflected in both views.
-  Extra lines appearing in perfnames/perfroll when starting playback in
   perfroll.
-  The 750 x 500 for sequence and song editor size should be configurable in
   the "user" file.
-  Would be nice if ctrl-arrow or some other key could shorten or lengthen the
   note by very small increments.
-  Would be nice if shift-left-click would deselect only the one note clicked
   on.
-  Update maintime to support use of the the current beat-width, instead of
   using 4 all the time.
-  Selecting some notes of the same value, and trying to elongate or shrink
   them can make a note of "infinite" length.
y  Offload the scale functionality to a new "scale" class.
-  Still need to figure out what left, right, and home do
   otherwise, needs some graphical feedback.
y  Initiatives from other projects ("-" means "not done (yet)", "y" means
   "partially done", "x" means done, "0" means "will not do"):
   0  Porting to BSD:         https://github.com/vext01/seq24
         Obviously a very old fork of seq24, with a lot of diffs from 0.9.2.
   y  AUR archive files:      https://github.com/aur-archive/seq24
   0  Launchpad mapper:       https://github.com/Excds/seq24-launchpad-mapper
   0  Fork of seq24:          https://github.com/orlammd/SC_seq24
         An apparent odd mix of versions, and some French cusses.
   0  git-ingore, license:    https://github.com/franticspider/seq24plus
   0  Basic inspiration:      https://github.com/analoq/seq
   0  In-browser seq24:       https://github.com/briandunn/seq25
   0  One-up of seq25:        https://github.com/jgdavey/seq26
   0  Ruby implementation:    https://github.com/chriserin/seq27
   0  Song-editing emph:      https://github.com/sbrauer/seq42
         Another old fork, lacking mainwid and perfedit, but has a couple of
         nice ideas to examine.

Date: Tue, 02 Feb 2016 15:32:40 -0800
From: Daniel Appelt <notifications@github.com>

Manual NSM support may be achieved using the nsm-proxy helper client. sequencer64
and seq24 both support signals SIGUSR1 (saving) and SIGINT (closing). You just
have to provide an initial Midi file to work on in the directory created for the
proxy, and specify its file name as command line argument.

There is even a helper script to support this scenario in
[github](https://github.com/rhetr/nsm-scripts/blob/master/scripts/seq24-nsm).
Please note that this script expects to find an (empty) Midi file in
`~/.local/share/seq24/blank.midi`.

Date: Sun, 1 Apr 2018 17:41:52 +0300
From: Valery McHno <chaocrator@gmail.com>

actually, i'm quite happy with gtk2 (and will be completely happy when
i'll be able to use only cli version + launchpad)

Date: Thu, 12 Jul 2018 22:12:26 +0200
From: harm@harmlammers.nl

Thank you for your email. The --no-create and --no-recursion shown below is
what the make printed on the screen.

Date: Tue, 24 Jul 2018 23:03:12 -0700
From: layk <notifications@github.com>

Learnig a mute group fails with quotedbl, currency, slash and parentleft
doing Insert + key in question.
Below is mute group section from sequencer64.rc and attached image from
File->Options->Keyboard->Mute-group slots [mute-group]

quotedbl: Key 'at' (code = 64) is not a configured mute-group key. To add
it, see File/Options menu or the 'rc' file.
Currency: Key 'dollar' (code = 36) is not a configured mute-group key. To
add it, see File/Options menu or the 'rc' file.
Slash: Key 'asciicircum' (code = 94) is not a configured mute-group key.
To add it, see File/Options menu or the 'rc' file.
Parentleft: Key 'asterisk' (code = 42) is not a configured mute-group key.
To add it, see File/Options menu or the 'rc' file.

Seems like those groups are not mapped correctly even if the
sequencer64.rc file and File->options indicates to characters in question.

Way to reproduce: Open sequencer64 , add sequences, arm sequences and try
to make a mute group with Insert + " or ¤ or / or (

Code is with ./bootstrap -er -rm on qt5_reconcile commit [1]7d316be

Hmmh. I don't see if that helps since for example exlamation (!) over
keybad 1 works.
Sequencer64.rc has the only cghanged value 164 3 # currency mentioned but
when i try to use it ie. Insert + currency sign over keybad 4 i get "Key
'dollar' (code = 36) is not a configured mute-group key. To add it, see
File/Options menu or the 'rc' file."

I was able to bind midi program changes to toggle individual sequences
with program change messsages in pattern-group section but i'm not sure
how to do the same with mute groups?
												
Should below work for mute group for exclam / ! configured in
Options->Keyboard section?
												
Mute-in group section:
											 
32 [1 0 192 3 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0]
33 [0 0 0 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0]
[1]screenshot from 2018-07-25 10-21-38

This works in pattern group section for patterns in row 1, pattern 1 and
row 2, pattern1:
												
Pattern-group section:
												
0 [1 0 192 5 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0]
1 [1 0 192 0 0 0] [0 0 0 0 0 0] [0 0 0 0 0 0]

Date: Fri, 24 Aug 2018 00:56:20 +0000 (UTC)
From: mayornancy <mayornancy@yahoo.com>
To: "ahlstromcj@gmail.com" <ahlstromcj@gmail.com>
Subject: Sequencer64 on Windows - v0.95.1 Feedback

Spent some time using Seq64 v0.95.1 (again on Win7x64, as a 'portable'
unzipped app) and I have some additional issues / questions / feedback:
1. Bugs:
   a.  If I add 4 patterns to the left-most column (1,q,a,z), the visual
'active' state of patterns q, a, z don't update until pattern 1 is clicked
(i.e  when pattern 1 is clicked, the other pattern states are properly
refreshed).
																			
   b. Pattern 'Delete' and Cut don't seem to work; actually get a program
crash shortly after issuing those actions.
   c. Changing the bank number via the spinner up arrow. i.e. to 5,
change back down to 0, and down again crashes the program (same thing
happens if try to set above max value).
2. Questions:
   a. What do people use for an audible metronome? a dedicated pattern
created by hand using quarter notes? or is there some other option I'm
missing?
   b. Is there a shortcut to go back to the Pattern view?
																			
	   Improvements over v0.95.0:
	   i. the minus key ( - ) now creates a new pattern in the first cell
(slot) and changes the GUI to the 'Edit' tab; I can only switch back via
ALT+L
	  ii. the equals key (=) now creates a new pattern in the first cell
(slot) opens a new Edit window; I can only close via the mouse.
   c. Is there a way to make another pattern (i.e. in slot 'q') via
keyboard shortcut or midi command?
   d. Can a midi command be linked to a specific midi device/controller
(i.e use note 36 ON from 2nd mini keyboard to to pause/stop while note 36
ON from main midi device is recorded in sequence?)
Thanks again for your time and Sequencer64!
Greg

Date: Fri, 24 Aug 2018 05:04:14 -0700
From: chaocrator <notifications@github.com>

i've successfully built 0.95.1 deb package using the contents of debian
subdirectory from 0.94.x.

Date: Sat, 25 Aug 2018 17:53:56 +0200
From: Jakob Michael Wilms <ernstnoetzelmann@gmail.com>
To: ahlstromcj@gmail.com
Subject: Sequencer64 MIDI Clock Input

I've been a seq24 User for years and I appreciate it very much someone
puts the effort into building a successor to it (I had a few views in
seq24's source code despite not being a programmer and have not the least
idea of what I was looking at and how the magic works, so I guess this
demands a somewhat big effort).
While I was able all the years to provide my fellow musicians with a MIDI
Clock via seq24, it looks like I'm going to be the one receiving a MIDI
Clock in the future.
So while being at changing my setup I also decided to try out sequencer64;
and I was able to get a instance of seq24 sending a MIDI Clock to the MIDI
through port, which was received by a instance of sequencer64 from it —
the speed changes in the one were noticable in the other. Sadly, when not
using the MIDI through port but real hardware (an Electrix Tweaker with
one MIDI cable connected to MIDI In as well as MIDI out), this behaviour
could not be reproduced. Also, the MIDI Clock from a Korg R3 was not
received/used either. Is there a way to get general MIDI Clock Input
working?
I'm looking forward to using sequencer64 in the future and would be very
pleased if this issue worked out somehow. Thank you for this piece of
software :-)
With kind regards,
Köbes
PS: If you are looking for features to integrate in the future, MIDI
feedback for controllers with LEDs would be awesome!




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