To-Do Items
Chris Ahlstrom
2016-12-03 to 2020-05-16

Define usr-midi-bus and usr-instruments (#183)                                                                      
I'm coming quite late, but I discovered yesterday that what is being passed in
`[usr-midi-bus]` has an effect only when using Alsa Midi instead of Native Jack
(`with_jack_midi` in the rc file), maybe that was your issue?

-------------------------

,
My [midi-control-out] section looks as follows (using Akai APC Mini):
```
[midi-control-out]

...

32 1 1     # screenset size, output buss, enabled (1) /disabled (0)

0 [1 0 144 56 1] [1 0 144 56 5] [1 0 144 56 2] [1 0 144 56 3]
...
31 [1 0 144 3 1] [1 0 144 3 5] [1 0 144 3 2] [1 0 144 3 3]

# MIDI Control Out: play                                                            
0 [0 144 82 1]

# MIDI Control Out: stop                                                            
0 [0 144 82 0]

# MIDI Control Out: pause                                                           
0 [0 144 82 0]
...
```
It works fine for the sequence buttons (controls 0 to 31) so I can see the
signal  coming out of Seq64 in aseqdump and the lights turn on on the
controller. However no signal is detected by aseqdump for play/pause/stop.
Is that a mistake in my configuration, or a real bug?


[Question/Feature request] Live midi pattern  recording (#188)             

Segfault at startup of both Seq64rtmidi and Seq64qt5 (#191)               

Using the midi-control branch of today, with the same CFLAGS options as before:

export CFLAGS="-O2 -pipe -march=native"
./bootstrap -ed -rm

Program starts ok.  Adding notes seems to work correctly.

Now I notice a new strange thing. When moving a selection down, it jumps up 1
note after the mouse is released. This problem does not occur when moving
selections up.


Performance recording incorrect note length (#199)                                                                      
I previously had set things up such that when notes were input via midi
controller  as a pattern played live. These midi events could then be recorded
at any obligatory length.  

When I started qseq64 today (as packaged by kx.studio), midi note events from
my hardware would only resolve as the note length specified by the pattern
editor. This makes recording sequences live tough, as I dont have a free hand
to switch the note length midway through a sequence.

Have I switched a setting somewhere?

dh: Command not found (#200)                


Piano roll follows the progress bar Button have no effect (#202):

Piano roll follow the progress bar Button being deactivated have no effect on
progress bar following. i. e. the progress bar remains be followed by piano roll

Watch the screencast for details, here please.

built from source on linux mint 19.3
seq64 0.96.7
2020-02-16




Reconnect to Midi input (and output?) ports (#204)

I've been having this issue for a while, but I was not sure whether it was due to
how I was handling things, till today, so here goes (might be linked to #183 ):
These days I usually use RaySession (based on NSM) to manage my sessions, where
the session usually contains Carla or Ardour, a bunch of plugins in those, 1 or 2
mididings scripts and a few jack_mixers when using Carla.
To this I connect 0 to 3 MIDI devices (keyboards and control surface). I've been
playing around with seq64's [manual-alsa-ports] and [reveal-alsa-ports] settings
to figure out if any combination might work out as I expect, and I usually keep

[manual-alsa-ports]
0
[reveal-alsa-ports]
0
since I use the native Jack setup, which displays (as expected) the names of the
ports as detected by Jack.
My problem is that the MIDI connections with Seq64 when I reopen the session are
(almost) always messed up.

Most of the time, I've supposed that it depends on the sequence in which I launch
the applications: if Seq64 is launched at the same time as Carla or Ardour, Seq64
obviously opens much faster, and all MIDI ports popping up from the tracks and
plugins are not auto-detected because they don't exist yet. So I close Seq64
(most likely overwriting the RC file's input/output settings) and reopen, the
ports are back, but the connections are lost or messed up (input ports are almost
always lost, even when I use a MIDI through plugin to make sure I don't change
the connections to Seq64 whether or not I plug my actual MIDI devices).
I guess that it may be due to the fact that Seq64 "remembers" the port to connect
based on their ID, rather than their name, so if applications are not started in
the same order or MIDI devices not plugged in the same order, the ports may not
get the same ID, and connections are subsequently incorrect. Does this make
sense? If yes, would it be doable to reconnect based on the port's name?

Today however, I was very careful to not open Seq64 before Ardour, which contains
MIDI busses for my devices and MIDI busses for the sequences' synths, so that
connections can be restored properly, but it seems that my 2 input ports where
still inversed!

So I'm wondering a bit how you use this and whether I do it wrong...

Using [reveal-alsa-ports]=1 or the ones hardcoded in the USR file
([manual-alsa-ports]=1) might work, but then it limits the number of output ports
to 16, which may in some cases not be sufficient for my instruments/synths (I
could of course use channels and/or instruments for each port, but I'm very
reluctant so far because it makes it much more difficult to monitor what goes
where and I may have to add plugins to filter the channels to dispatch between
the synths... but I'm relatively new to this so it may be the way it should be
done?).

What do you think?
I'd be curious to know more about your setup as well if you can share :)

I'm using 0.96.8 from the midi_control branch btw.
And while I'm at it (but maybe I should open another ticket for that), is there
any hope for the future to have the RC and USR files in any folder, e.g. a
project or session's folder, rather than always in .config/sequencer64?




MIDI Controls Issues (#205):

I've been trying to set up more MIDI controls for my control surface, and I can't find any configuration that works, similarly to what I had in the end of the thread on #188.
I've tried many configurations on 3 different controls, here goes:

1. Mod Queue

# mod queue
70 [1 0 144 87 127 127] [0 0 0 0 0 0] [0 0 0 0 0 0]
or
70 [1 0 144 87 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0]

don't do anything, not even if I keep key 87 pressed when selecting a pattern.

70 [0 0 0 0 0 0] [1 0 144 87 127 127] [0 0 0 0 0 0] turns on the queue mode,
including the Q button on the interface - isn't that supposed to be "keep queue"
instead? (question 1.a)

However I can't turn the queue mode off, not even with 70 [0 0 0 0 0 0] [1 0 144
87 127 127] [1 0 144 87 0 0]. Question 1.b: am I missing something or is that a
bug?

2. Keep queue

Neither of the two following seem to have any effect:

# Keep queue
96 [1 0 144 87 127 127] [0 0 0 0 0 0] [0 0 0 0 0 0]
96 [0 0 0 0 0 0] [1 0 144 87 127 127] [0 0 0 0 0 0]

3. Other similar controls

I've had similar results with the toggle command (only 1st column, haven't tried
all combinations) for screen set up and down (66 and 67), mod snapshot (69), mod
glearn (72) and solo (76).

4. Midi Record

When I open the pattern editor (with the solution from #188 that works ;) ) I try
to active MIDI RECORD without success with any of these 3 attempts:

# MIDI RECORD (toggle, on, off):
81 [1 0 144 82 0 127] [0 0 0 0 0 0] [0 0 0 0 0 0]
81 [1 0 144 82 127 127] [0 0 0 0 0 0] [0 0 0 0 0 0]
81 [0 0 0 0 0 0] [1 0 144 82 127 127] [0 0 0 0 0 0]

Conclusion

That's what I tried for now. Since so many controls are having similar issue, it
may be a general problem (but I'd be surprised that nobody raised it before) or I
may be doing something wrong :)

I'm on 0.96.8 midi_control. Midi controls work to turn patterns on and off,
play/pause, pattern edit, and midi_control_out works (LEDs light up when I select
Queue or Learn in the GUI, as well as patterns buttons' lights). I've briefly
tried MIDI RECORD, Learn and Queue on 0.96.1 and I can't get it to work either
(Play/Pause works though).

Sorry for the super long post, I've tried to be exhaustive, let me know if
there's anything else you'd like me to try out.

Related issues for #179 remaining:

   When going back from clock slave to master again, there seems to be
   a lot of notes in the MIDI buffer that get played rapidly till the buffer
   is empty. I have to start/stop several times to get a clean start.

   Switched from Jack to Alsa because the seq64 clock in external sync has
   way less jitter using Alsa.  In internal clocking also Alsa is quite
   jittery (this is a separate topic).

   If I do not sync externally but just hit play in seq64, the notes are
   recorded correctly, but unfortunately the clock and playback of seq64 is a
   lot more jittery.

Sequencer64 0.96.5 on Windows Issues:

    #1 Fixed: On the pattern editor, "Incoming Midi goes through to output" does
       not work; this works as expected if I use older build "0.95.4 Master"
    #2 Still an issue: Edit -> Preferences, Midi Clock tab is initially visible,
       but is never accessible again after user clicks onto another tab (program
       must be restarted to access this.  The work around is to use Alt-C, or
       click near the edge.  This occurs on Linux as well.
    #3 Getting my feet wet with v 0.95 on Windows7 x64- is it expected that
       some keyboard shortcuts under Windows do not work?  Here are two
       examples of the many I have come across:

        1. p in patternEditor (have to press and hold right mouse to 'paint')
        2. =, -, modifier keys as described below:

Midi patterns note assignment #170:

    matt-bel commented 15 hours ago

    Thanks for all again, ill leave here my 12 * 8 (looks really like ableton
    now lol!, the only thing its one has to turn off the previous pattern group,
    so i have to press 2 button on my nanopad, its boring a little but i can
    deal with it!) midi sequencer64.rc conf file with a0 b0 c1 d1 e1 f1 g1 a1
    notes:

    0 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    1 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    2 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    3 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    4 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    5 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    6 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    7 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    8 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    9 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    10 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    11 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    12 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    13 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    14 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    15 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    16 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    17 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    18 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    19 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    20 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    21 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    22 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    23 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    24 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    25 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    26 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    27 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    28 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    29 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    30 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    31 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    32 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    33 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    34 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    35 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    36 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    37 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    38 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    39 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    40 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    41 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    42 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    43 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    44 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    45 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    46 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    47 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    48 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    49 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    50 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    51 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    52 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    53 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    54 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    55 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    56 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    57 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    58 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    59 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    60 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    61 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    62 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    63 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    64 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    65 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    66 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    67 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    68 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    69 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    70 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    71 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    72 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    73 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    74 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    75 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    76 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    77 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    78 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    79 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    80 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    81 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    82 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    83 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    84 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    85 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    86 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    87 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
    88 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
    89 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
    90 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
    91 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
    92 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
    93 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
    94 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
    95 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]

    matt-bel commented 13 hours ago •

    i mean if i change pattern group by pressing note buttons, i have to turn off
    the previous one (the playing one) and turn on the next (next pattern group)
    at the same time.

    A0 B0 C1 D1 E1 F1 G1 are piano keyboard notes+octave (lecter = note;
    number=octave) corresponding to my nanopad buttons.

    https://support.keithmcmillen.com/hc/en-us/article_attachments/200973519/midi_note_reference.png

    Make fruity more fruity #169:

    zwerverinteractive commented 10 days ago

    to make the roll more fruity: left-click, hold and horizontal movement should
    not draw more notes, this is brush behavior not pencil. Odds are you do not
    click exactly right immediately.  holding control while dragging temp-disables
    snap.  right-click hold on empty space draws selection-box, should start
    erasing notes middle-click,hold and move should scroll roll not resize
    selected notes cannot them unedited (separate issue?)

Debian (and other) Packaging:

    -   Still need to get a static package to work.
    -   Refresh the verbatim examples for the "rc" and "usr" files
        in the sequencer64-doc project.

Colors:

    -   Copy/paste does not transfer the colors.  Should it?

Build Issues:

    -   In the Makefiles, "-I..", "-I../include", and "-I../../include" appear
        more than once on command lines.

Tempo Track:

    -   Separate tempo for each pattern (a feature request)?  This might be
        equivalent to supporting the rarely-implemented SMF 2.
    -   Provide a key or press to insert a tempo event at current mouse
        position in time and tempo-height?
    -   The sequence draw marker still can get messed up by seqedit, and
        mess up the drawing of the tempo track in perfroll.
    -   The PrCh and Tempo messages group keep swapping locations with the
        TimeSig message.  Weird!  Sad!

            midi_container::fill()
                m_events.sort()

Modify flag:

    -   sequence::set_transposable() is called when loading a sequence at
        startup.  If the flag value is different from the current value
        (false?) then sequence::modify() is called, but the perform m_parent
        is null, so it does not take effect, which is good in this case
        (startup).  At that time, we have m_transposable == true, flag = false
        (!), and the sequence number is (-1).
    -   If the velocity of notes is edited in the data panel of seqedit,
        the modification is not detected.
    -   If the main tempo control is modified, the modification is not
        detected.

Random bugs:

    -   JACK MIDI does not auto connect with the JACK connect button is
        clicked.
    -   Clicking the Stop button toggles (!) playback if Space is configured
        to both start and stop playback!!
    -   If the MIDI file has no performance info (triggers), make the
        Song/Live button show "Live".
    -   When recording a short pattern, and holding a note across the
        pattern end, the drawing is bad.  Probably should just delete such
        notes.
    -   Pressing the keep-queue activates the Q button, but pressing another
        key, or the temporary queue key, or changing the current screen set,
        does *not* de-activate the keep-queue status.
    -   Doing "/1" to turn on queueing seems to require "1" to be struck twice.
        sequence::set_playing() turns it off.  This was due to the "/" key
        being defined as both the Slot Shift key and the Queue key.  We should
        detect duplicates!  Sad!  Also note that, in the traditional
        [keyboard-group] setup, the keys 9, 0, o, l, and p are available.
        Kepler34 devotes the "." to the one-shot feature.  Where can we put
        this, our main keyboard tab is filled!  Looks like [extended-keys] is
        the only place for "One-Shot Song Record".  For the queue key, 'o' is
        a good mnemonic choice for "queue on/off".
    -   Song-recording does not respect the snap setting on muting.
    -   Song-recording does not respect the queuing feature; the trigger
        is created as soon as queuing is turned on.

Rtmidi implementation issues to work out:

    -   Support for passing along the BPM and PPQN
        -   At startup time
        -   When changed in the GUI
    -   Make the STRIP_MUTES option permanent.

Hot ideas (from GitHub):

    -   Mute button should be inactive unless there are armed sequences.  The
        name is a bit misleading.  Maybe it should toggle them all on if none
        are armed.
    -   Any way to make playback multicore?  The "stress" file maxes out a
        core.
    -   Many more to come.  Need a real roadmap Doxygen document.

Puzzles:

    -   Tooltips are too flickery with unclutter enabled.
    -   In multi-wid indep mode, when set 1 (second set) is showing in slots 1
        and 2, clicking on pattern-slot 0 (pattern 32) in slot 1 toggles only
        the pattern in pattern slot 0, but clicking on the same pattern-slot
        is the second mainwid slot properly toggles both.  Actually, the rule
        is that only the one clicked, and the top-right one, toggle.  The
        reason this happens is that sequence::is_dirty_main() turns off the
        flag after the call, so only the current and first sets see the dirty
        status (how does the first see it, though?)
    -   The Shift Key processing of Seq64 is different from Seq24.  For
        example, implementing Mod Replace with "{" (Shift-[) in Seq24
        basically works, but in Seq64 it unmutes all other patterns!
        Using a non-shift character seems to work in both, though in Seq64 the
        repeat-key rate seems to show up as an mildly annoying jitter.
    -   Toggle JACK keys does nothing.  (What does this even mean?  Was I
        drunk when I wrote it?)

More issues:

 1. Does the Replace/Solo feature work?

    a. Hot-key.  This does not work until the "keep queue" key is pressed.
       Then, pressing the "replace" key and a pattern hot-key simultaneously
       queues all the other patterns to turn off at the end of their pattern.

    b. The Shift-click works both ways in the patterns panel, but only mutes
       (does not unmute, even though the color changes back) in the song editor!
       WRONG.  IT WORKS in both windows.

 2. Why do the two B4 files (GM vs patchless) play at different BPMs?

 3. Check logic for playback, menu-disabling, and Menu button.

 4. JACK

    a. With no JACK transport/MIDI in play, changing BPM control -->

       jack_transport_reposition called with a NULL client
       jack_transport_reposition(): bad position structure

    b. Playback without a client (such as Yoshimi) proceeds fine in ALSA, but
       not in JACK.  Turns out the reason is:

        register_port: JACK error registering port seq64 midi in 0

       So, at some point, ...

 5. Patterns panel arrow key does not snap to position, it moves a whole snap
    position.

 6. File / New needs to render the current filename inactive, otherwise
    the previous file is overwritten.

 x. Features:

   a. If in Song Mode, and all patterns end, end the playback as well.

   b. A way to place progress-bar at desired location (seq32? kepler34?).

Tests:

    -   Test the assertion that queuing also works for "groups".
    -   Test how seq24 handles screen-sets and playback; does it restrict
        playing to the current screen-set only?

Active GitHub Issues:

    See the "FixLog" file.

Upgrades:

    -o, --options:

        We want to support app-specific options:

        seq64cli:

            -   daemonize.  Need to figure out when to daemonize, and
                to what value the current working directory should be
                set [e.g. rc().last_used_dir], or do we need another
                directory option value?
            -   file list ?

        seq64rtmidi:

            -   no GUI (daemonize)? :-D

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