Fixes To Issue Reported at GitHub
Chris Ahlstrom
2017-05-13 to 2018-01-21

This file documents (belatedly) GitHub issues raised and pull-requests made.

 *  95 layk : [Pull request] Fix for note off not being played when cutting
              or moving notes.

The issues at this date:  

 *  Actually, some of these are fixed, need to update them.

    1 rhetr : nsm support

 *  2 TDeagan : Install-recursive and .seq24rc equivalent

    4 TDeagan : Would like unique set of mute groups per screen (1024 instead
                of 32)

 *  5 TDeagan : Mute Groups should be applied to active screen

 *  8 funkmuscle : Segmentation fault on Arch64

 *  10 danielappelt : Jack Transport Master behavior is very "jumpy"

 *  11 danielappelt : Midi realtime clock messages are not in sync

 *  12 danielappelt : Add a git tag for each new version

    14 ssj71 : [feature request] Plugin version

    16 F0rth : [feature request] script language

    Just thought I would pop in here to say I would rather all sequencer64
    features be exposed via OSC such that the system could be scripted from
    any language.

    FYI ZynAddSubFX switched to a decoupled interface which uses OSC to
    control everything in 2.5.x. Maybe you can get some useful info from
    their code or contact them for any tips.

 *  17 muranyia : make fails in doc/dox

 *  18 muranyia : Last Edited highlight disables On/Off highlight

 *  19 muranyia : [feature request] note numbers

 *  20 lukeoftheaura : Loops not playing when using jack [transport]

 *  21 Orel : original notes not playing after copy/paste

 *  23 arnaud-jacquemin : MIDI controller toggle the wrong pattern

 *  25 arnaud-jacquemin : Impossible to unmute patterns when JACK Transport is
    activated.

 *  26 alejg : Segmentation Fault on event editing dialog

    27 teamblubee : [Question] OSS support and other things

    34 smondet : [feature request] Tempo Track?

    36 y1ds : stop playback and jack transport

    38 AndrewPy : Small quirks in event editor

    41 AndrewPy : Sometimes "play cursor" shows wrong position in main window

 *  44 danielappelt : [Pull request] Update arch package files.

 *  45 simonvanderveldt : JACK MIDI support

    48 ahlstromcj : JACK transport as non-Master does not work with seq32 JACK
                    support not built in.

    49 simonvanderveldt : Drop LASH support?

        I doubt there are a lot of people of people left using liblash
        though, since LADISH does more, all GUI front-ends switched to
        LADISH and the command-line `ladish_control` offers a lot more options
        than `lash_control` ever did.
        I do not think untouched  code in itself is an issue, but if it relies
        on external libraries that get replaced it does become a problem).
        I just built the `fixups` branch and tried it, the LASH stuff works
        fine now :) There's only one thing standing out: sequencer64 doesn't
        show the filename in the title bar when used in a LASH session. This
        does not happen when using sequencer64 normally/within a LADISH
        session.

    50 muranyia : occasional segfault or ui freeze when changing MIDI Bus

    51 muranyia : Double clicking track vs hi-freq mute-unmute clicking

    52 simonvanderveldt : No cursor in sequence name field

 *  53 simonvanderveldt : pattern midi control controlling wrong pattern/not
                          working for some patterns

    54 F0rth : [feature request] recording live sessions

    What I envisionned was a record button next to the play and stop buttons
    in the main window. In live mode, when the record button is armed it
    behaves as you said "replace or add to the triggers shown in the
    Performance/Song Editor".

 *  55 muranyia : bootstrap mentions 'enable-seq43jack'

    56 muranyia : [feature request] New midi control mod params: Rec Arm, Solo

    Just a quick try with wip and MIDI pause:

    MIDI pause works fine on start

    There seems to be a state mismatch between a pattern being black and the
    "Sequence dumps data to MIDI bus". Turning on/off it in the editor window
    turns it on/off in the main window, but turning on/off in the main window
    doesn't turn it on/off in the editor window. Not actually sure if that's
    new though,...

    (
        This occurs in seq24 as well. It is NOW FIXED in seqedit.
    )

    ...more paying attention to figure out what causes the following.
    Clicking "incoming midi passes through" and the pause midi control stops
    doing anything. Unclicking it and the app stays unresponsive to midi
    pause.

    (
        Checked usage of sequence::get_thru()...  I ended up enabled
        the Stazed Seq32 fixes for thru/record handling in seqedit.

        The enabling of MIDI pass-thru still blocks MIDI control.
        But disabling it now brings MIDI control back.  Still need to
        see if why we do not handle MIDI control when dumping.
        It looks like we could do both!  WILL TRY THIS EXPERIMENT, but only
        if it makes sense to users.
    )

    Click "record incoming midi data" and pressing midi pause (or any other
    MIDI key/knob/fader) advances the pattern by one note, with keys adding a
    note but CC buttons/pots/faders (including MIDI pause) not being recorded
    as a CC event.

    57 y1ds : [Feature request] CC sequencing

    58 georgkrause : [Feature request] midi control out

       Is there any possibility to have midi outputs for the controls? i want
       to "print" the state of the patterns to my apc mini.

       i see it like @muranyia, all those controllers have specific mappings.
       my apc mini sends note on/off instead of control changes, so we need a
       system like the midi mapping for incoming midi

       That feature would be awesome for controllers like the APC mini or
       Novation's     Launchpad.  @ahlstromcj I don't think there is a
       standard. Here is the spec for the Launchpad :

       https://d19ulaff0trnck.cloudfront.net/sites/default/files/novation/downloads/10529 /launchpad-mk2-programmers-reference-guide-v1-02.pdf

 +  59 georgkrause : Recording improvements

    And it would be nice if there would be another recording mode, where is
    start the recording on the next loop (like queue) and end it at the end of
    the loop.  even better would be to set the length while recording. so you
    start the recording and when you press the record toggle again, it ends on
    the end of the current loop. while you record the pattern is getting
    longer and longer.  but this isnt that important. But it would be nice if
    I could set the default pattern length in the config file.

    The workflow I imagine would be:

    -   start sequencer64
    -   select input device in settings. this is fine.
    -   start transport
    -   toggle a recording modifier
    -   trigger a pattern
    -   the recording will start at the beginning of the next bar
    -   the pattern gets longer and longer until...

    60 georgkrause : change speed while running

    i know, this might be pretty hard to do. but it would be really really
    cool if you could adjust the playback speed while the transport is
    rolling. this would give us some nice possibilities for live performances,
    and i would really love it.

    More:

    Okay, thanks for the reply! I already red most of the manual and its
    great! thank you for this!
    re 1.: i got how recording works, and i used it. no technical problems.
    but the workflow is pretty unhandy. i try to make music without touching
    the mouse or keyboard a lot and this is nearly impossible with
    sequencer64 at the moment.
    the workflow i imagine would be:
    1. start sequencer64                                                              2. select input device in settings. this is fine.                                 3. start transport                                                                4. toggle a recording modifier                                                    5. trigger a pattern                                                              6. the recording will start at the beginning of the next bar                      7. the pattern gets longer and longer until...                                    8. trigger the pattern again to stop recording on the next bar
    this would be the best case i can imagine, but maybe its a good idea to
    split things at implement on after another. the flexible length of the
    patterns seems a bit critical for me to implement so it might be a good
    idea to move this to the future.

    an alternative, maybe easier way to implement:
    1. start sequencer64
    2. select input
    3. select default length for patterns
    4. start transport
    5. toggle recording modifier
    6. trigger a pattern
    7. now the pattern records exactly one loop, than recording stops

 *  61 georgkrause : Jack MIDI Client Naming [closed]

 *  62 georgkrause : Jack Midi auto connect [closed]

    63 milkmiruku : [Feature request] tempo to two decimal places

       Being able to set the tempo to two decimal places would be very handy
       for beatmatching and mixing with an audio source, either live or
       recorded.

       Nearly done!  Seems to work!

    64 y1ds : [Feature request] No gui

    I remember reading somewere of plans to make it possible to run without
    gui. I was wondering if this is gonna happen cause it would be really
    helpfull for my raspberry pi drumcomputer project, if someone could give
    me some  hints I could also have a try at it, but my coding skills are not
    that great

    Me: Now I have a question. I've been looking into OSC; see the osc-related
    text in doc/dox, and am thinking seq64 needs to support a command-set
    similar to renoise. Does anything know what the various OSC clients send
    out, how configurable they are, is there a stock way to format the
    commands? I'm looking at the OSC spec, and it seems a little open-ended.

    Simon van der Veldt: OSC is very open ended indeed. If I understand it
    correctly you are totally free to define the messages/structure you want.
    One the recent projects that adopted OSC was zynaddsubfx, maybe you can
    ask Mark about his experiences and suggestions?  Otherwise afaik all the
    non stuff uses OSC, so male might be able to give you some pointers
    from experience as well.

    65 muranyia : [Feature request] Fullscreen mode

    By no means to overwhelm you, rather to throw this into the buffer so you
    can evaluate and eventually prioritize... :)
    I'm thinking about putting sequencer64 on a dedicated PI box with a small
    LCD display, and fullscreen mode (perhaps switchable by F11 and/or a
    command line option) would come very handy.
    Thank you for all the great work you've done so far, sir!

	Simon van der Veldt: Hmmmm, it might be nice to make all the windows
	dockable into the main window with tabs to switch between them, as a start.

	This would be so nice! Not sure how feasible it would be though. All those
    separate windows are a bit annoying to work with :)

	Milk brewster:

    66 milkmuruku : [Feature request] 'Focus' an 'Close' options in right
uld it be possible to centre sets?

    With a maximised window, I get [1]seq64_left; Fullscreen is [2]seq_full
	click menu for sequences with opened edit windows

1. https://user-images.githubusercontent.com/108225/27773992-45f98cd0-5f7f-11e7-8812-8d9dbabc0c18.png
2. https://user-images.githubusercontent.com/108225/27773997-6a65a900-5f7f-11e7-88f9-7477ab755fd3.png

 *  67 no midiclock output on rtmidi 0.90.1

 *  68 XRUNS ... (turned out to be realtime system settings for user)

 *  69 milkmuruki : 'pass through' button activates 'record incoming', does
    not pass MIDI through

 *  70 milkmuruki : Hovering pointer over an active toggle button gives the
    same graphic as an inactive button, confusing

 *  71 milkmuruki : On start; activated patterns become inactive on play
    (once)

 *  72 Animtim : ghost mute group always coming back in rc

 *  Fixed, not yet closed.

    73 Animtim : Jack midi less precise than alsa midi

    Oh, I just noticed this timing issue is highly depending on jack buffer
    size.  I initially had it set to 1024 (and 3 periods). Issue is subtle but
    can be heard.  Then I tested with 256, and couldn nott really hear the issue
    (but then I have occasional xruns, very few but still).  Then I tested
    with 2048, and the issue gets really worse, really easy to hear it.

    74 georgkrause : cant use replace in queue mode

	-	start queue mode with \ (keep-queue, not queue, which is Ctrl-R)
	-	try to replace running pattern with replace_mod + pattern_key.  This
        should be Ctrl-L + pattern key.
    -	expected: after the current cycle, only the toggled pattern should run
	-	what happens: all running pattern still run + the toggled pattern

    It works the same way in seq24.

 *  75 Animtim : jack midi: Program Change events not sent

    Fixed, but not yet closed.  Was due to filtering 1-data-byte events
    inadvertently.

 *  76 layk : latest wip -ed -er seq64 crash when button 'Jack Transport
    Connect' is used.

 *  77 jean-emmanuel : [Feature request] Editable BPM and measures-count

    Also: can the new version run each track at a separate tempo.  also, if
    user could entera few characters to left of each note it would make
    microtonal composing easy, for example, where it says 'C2' one could input
    a Hz value instead, or anything.  also, if it could overlay colors of
    tracks over eachother like MidiSwing0.3.6 that would be amazing.  also, if
    one could fold away unused notes this would be very helpful.  if you are
    willing an able to make these options it would make it the best piece of
    software in the world in my opinion, would do everything i dream of.

    78 jean-emmanuel : [Feature request] Scrollable pattern panels

    79 jean-emmanuel : Song Editor crash with higher number of pattern

 *  80 jean-emmanuel : seqmenu: paste: do not assign from clipboard when its
    empty.  Related to #81.

 *  81 jean-emmanuel : [seqmenu] segfault when playing a sequence pasted from
    initial clipboard

 *  82 jean-emmanuel : [Pull request] seqroll: add a toggle in the top toolbar
    to make progress follow optionnal.

 *  83 jean-emmanuel : [Pull request] Pattern panel scrollbars.
    I cannot resize my version, so some code from j-e might be missing?

 *  86 sirjohndfox : Any mechanism for live pattern control?

 *  88 jean-emmanuel : [Jack Transport] Seq64 does not reposition JACK
    transport.

 *  89 Animtim : underlinking issues

    Good point: the package of sequencer64 0.9.5 is ready and in the pipes for
    mageia6 :)

    Bad point: we had to use "%define _disable_ld_no_undefined 1" because of
    the underlinking issues that appear when using the %configure2_5x macro
    (see error sample below). It would be appreciated if those could be fixed
    upstream ;)

    In function seq64::perform::create_master_bus():
    /home/user/rpmbuild/sequencer64/BUILD/sequencer64-0.90.5/libseq64/
        src/perform.cpp
    :454: undefined reference to
    seq64::mastermidibus::mastermidibus(int, double)
    collect2: error: ld returned 1 exit status
    Makefile:608: recipe for target 'libseq64.la' failed
    make[2]: *** [libseq64.la] Error 1

    You can see all the info in the spec file:

    http://svnweb.mageia.org/packages/cauldron/sequencer64/current/
       SPECS/sequencer64.spec?revision=1104462&view=markup
    Again, the issue appears only when using the %configure2_5x macro, which
    contains all this:
        rpm --eval %configure2_5x . . .

 *  90 yousefamar : resizing notes not possible in fruity mode

    According to §2.2.5.5 of the manual, it should be possible to resize notes
    by clicking and dragging their edges. As far as I can tell, this does not
    seem to work. The only way to do so is to switch to seq24 mode and
    middle-mouse drag. Is this a bug or am I doing something wrong? Any tips
    much appreciated.  

    Fixed.

    [Related side issues found by CA]

        -   Hmmm, I notice that just clicking on a note grows it. Fixed.
        -   In fruity mode, seq24 is automatically in insert/paint mode.
            Fixed.
        -   In fruity mode, seq24 resizes a note only on the right handle.
            Fixed.

 x  91 ahlstromcj : need help testing variset....

    layk :

    FYI i noticed is that sets do not go backwards from 0 to MAX or from
    MAX to 0 in add_sets branch using default 4x8 but goes from MAX to 0 using
    8x8 and 8x12.

        [ Not sure this qualifies as a bug.  Will check it out. FIXED! ]

    1. One thing i noticed now on add_sets and in wip branch is that
       cut/paste does not work. It loses the sequence on both.
       Many times on 8x12 matrix making a sequence on bottom right corner i
       could not cut it at all and move it to the left. I could copy it
       though.

       [ So far, cannot duplicate.  Can also drag and drop properly.]

    2. On 8x12 I was trying to sort of build up sequence starting from two,
       adding two and then adding two but i could not go further than 6
       sequences or the third addition to the sequences. I have to retest
       this.

    So i tested some more with -o sets=8x12 and it sems tha what ever kingd of
    mute group i create it goes wrong after the third group creation.
    Way to reproduce. open with seq64 -0 sets=8x12. Create multiple sequences
    say for the fist 4x8 matrix. create mute group with two sequences for
    shrtcut keys q,w ,e. This works as expected. The fourth oine has
    unexpected bejhaviour selecting wrong sequences or selecting from
    previous.

    Seems like the third is the last one that is saved. I tried to make five
    and 1,2 ,5 was saved but 3,4th were removed.

	Milk Brewster :

	I am trying this out now with -o wid=3x1,f (and -o sets=3x12), quite like
	it.

	The default arrangement of set 0 as the top set, 1 as middle and 3 as
	bottom seems sensible, though scrolling up to increase the visible set
	number feels the wrong direction.

    On load, the gray box around the second and third setviews does n0t appear
    until the set is changed to 0.

	The "Set 2" etc. text is aligned slightly to far to the right.

	If I set the first setview to set 1, which makes it "[active]", then
	change the second setview to 1, it gets the same title (including
	"[active]"), then I change setview 1 to set 0, the second setview with 1
	still has the "[active]" text. Moving that setview away from one and back
	updates it to not have "[active]".

 *  92 milkmiruku : indep mainwids issue.

    The default arrangement of set 0 as the top set, 1 as middle and 3 as
    bottom seems sensible, though scrolling up to increase the visible set
    number feels the wrong direction.

    On load, the gray box around the second and third setviews does not appear
    until the set is changed to 0.

    The "Set 2" etc. text is aligned slightly to far to the right.

    If I set the first setview to set 1, which makes it "[active]", then
    change the second setview to 1, it gets the same title (including
    "[active]"), then I change setview 1 to set 0, the second setview with 1
    still has the "[active]" text. Moving that setview away from one and back
    updates it to not have "[active]".

    The first indep mainwind set number input wraps around to 0 after 20. The
    other two stop at 31.

 *  93 milkmiruku : [Feature request] pattern color/grouping

    A button in the pattern window that gives a dialog to select an existing
    or new colour that then appears as a thin bar at the top of the pattern
    box in the main window.

    For parts with the same colour setting, that constitutes a form of group,
    so being able to name this colour grouping would be neat. Not sure how to
    not overload the word 'group' though.

 *  94 milkmiruku : [Feature request] set management - naming and reordering

    The ability to give sets names for quick reference would be handy, as
    would being able to reorder sets.

    For reordering in indep mainwind mode, a right menu submenu to swap set
    patterns with another mainwind. Otherwise, a 'swap set with' submenu
    populated by options for other sets with patterns in them?

 *  95 layk : [Pull request] Fix for note off not being played when cutting
              or moving notes.

    The code plays note off for all events that are marked and is_note_on when
    cutting or moving.

    This tries to fix a problem when a long not is cut or moved before note
    off is played. It leaves the note on because even list does not include
    note off anymore.

    To test this make a long note and cut it. Note stays on and is never shut
    down.

    STILL NEEDS TESTING!

 * 97 F0rth : another seq24 fork

    I just found another seq24 fork [1]https://github.com/oli-kester/kepler34
    ( screenshots here [2]http://imgur.com/a/wN2AA )
    There are perhaps some ideas or code to borrow.

 * 98 Simon van der Veldt : ALSA still required even if using JACK?

 * 99 Simon Hickinbotham : make fails with: cc1plus: error:
        -Werror=date-time: no option -Wdate-time

    I am running ubuntu 14.04, I have checked my dependencies, ./bootstrap and
    ./configure seem to run ok, but make fails with this error:

        cc1plus: error: -Werror=date-time: no option -Wdate-time

 * 100 Simon van der Veldt : seq64 no longer shows up as jack client in a    
       ladish room

   This turned out to be caused by moving perform::launch() later in the
   startup process; an easy fix, once understood.

 * 101 DevanWolf : Needs support for Windows and Mac OSX

 * 102 pixelrust : Clicking in tracks without patterns breaks Song Editor if
       Interaction Method is set to Fruity

 * 103 : simonvanderveldt : bpm resets to 26 after single bar

 * 104 Simon van der Veldt : Bottom of main window cut off 

    This could potentially still be an issue with some Gtk 2/3 themes, though.

 * 105 pixelrust : Pattern Editor / Piano Roll: new notes are played, but
       there is no Note Off if Interaction Method is set to Fruity. Fixed.

 * 106 simonvanderveldt : Bar count incorrect/keeps incrementing when editing

 * 107 layk : latest tempo_track midi clock stop does not reset when "On
       (Pos)" is selected

 * 109 muranyia : Segfault on startup

 * 110 muranyia : seq64 vs sequencer64 command (was: -o sets not recognized)

 * 116 majorx234 : cannot build for arch linux

 * 117 simonvanderveldt : 0.93.4 configure.ac:130: error possibly undefined
       macro AC_MSG_ERROR

   118 ?

   119 ?

   120 muryania : Varisets: clips show up in the wrong set if number of sets
   are changed

   121 muryania : Cannot parse varisets MIDI file with python mido

 * 122 muranyia : Make error with -er -am
 
    Fixed the issue by adding a feature to bootstrap, as I recall.

 * 123 y1ds : midi clock out broken
 
    Fixed an error that basically kept resetting the JACK transport position
    to 0.
 
 * 124 naclander : Stop button does not reset samples to the beginning.
 
    Fixed a coding error.

   125 : TDeagan : Feature Request: Big buttons (touchscreen)

   126 : milkmiruku : crash on trying to enter File or Edit menu (not View or
   Help) "Invalid borders specified for theme pixmap", Breeze theme

 * 127 milkmiruku : Empty pattern boxes have no number.
 
   This is just a configuration-file issue; see both the "rc" and "usr" files.

   128 linuxmusician : Segmentation fault (core dumped) since new version.

   Happens when clicking play twice, right-clicking for "New", and clicking
   play in qjackctl twice.  One user reports a crash in gtk_container_remove()
   but all we can replicate is a problem with the Breeze themes.

More:

    - --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
