<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Never mind, this should apply onto your branch fine. I am curious
      why my "git checkout -b <new_branch> upstream/master" does
      not get me the most up-to-date content from your branch. Plot
      thickens...</p>
    <p>Once I figure out this, I will send you a merge request.</p>
    <p>Best,</p>
    <p>Ico<br>
    </p>
    <div class="moz-cite-prefix">On 6/30/2020 9:29 PM, Ivica Ico Bukvic
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:441056f9-3311-e36c-cc9a-eb25d5a091ee@vt.edu">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>So, I cannot issue a merge request since the main branch still
        has the older version of gui_scalar_new that does not have the
        plot_style option which is meant to fine-tune plot positioning
        (and may be tied to the 0.4x nw.js). While this fixes it on my
        branch, I will have to dig through yours to see what you may
        have not been merged (as is the case with the previously
        mentioned merge) to have caused this regression.</p>
      <p>I really wish that we moved forward with the 0.4x transition...</p>
      <p>Best,</p>
      <p>Ico<br>
      </p>
      <div class="moz-cite-prefix">On 6/30/2020 9:22 PM, Ivica Ico
        Bukvic wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:1c639c1a-a17d-8e5c-22e1-b8bd8b5a0416@vt.edu">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <p>OK, I got the fix. This was definitely my doing--in fixing
          the plots I completely forgot that a non-plot scalar may not
          have a valid plot type and therefore will have matrix left
          undefined. Below is a diff. Also, I will send out a merge
          request shortly.</p>
        <p>Best,</p>
        <p>Ico<br>
        </p>
        <p>index 6d85631a..1a0ea4bc 100644<br>
          --- a/pd/nw/pdgui.js<br>
          +++ b/pd/nw/pdgui.js<br>
          @@ -3514,7 +3514,11 @@ function gui_scalar_new(cid, tag,
          isselected, t1, t2, t3, t4, t5, t6,<br>
                               transform_string = "translate(" + 0 +<br>
                                   "," + (t6+1) + ") scale(" + t1 + ","
          + t4 + ")";<br>
                               //post("transform_string = " +
          transform_string);<br>
          -                    break;<br>
          +                    break;<br>
          +                default:<br>
          +                    // we are a non-plot scalar<br>
          +                    matrix = [t1,t2,t3,t4,t5,t6];<br>
          +                    break;<br>
                       }<br>
                   }<br>
                   else {<br>
          @@ -3535,6 +3539,10 @@ function gui_scalar_new(cid, tag,
          isselected, t1, t2, t3, t4, t5, t6,<br>
                                   "," + (t6+1.5) + ") scale(" + t1 +
          "," + t4 + ")";<br>
                               //post("transform_string = " +
          transform_string);<br>
                               break;<br>
          +                default:<br>
          +                    // we are a non-plot scalar<br>
          +                    matrix = [t1,t2,t3,t4,t5,t6];<br>
          +                    break;<br>
                       }<br>
                   }<br>
          <br>
          <br>
          <br>
        </p>
        <p><br>
        </p>
        <div class="moz-cite-prefix">On 6/30/2020 9:13 PM, Ivica Ico
          Bukvic wrote:<br>
        </div>
        <blockquote type="cite"
          cite="mid:70f9db1d-50a8-a0de-f95e-4100b37a2388@vt.edu">
          <meta http-equiv="Content-Type" content="text/html;
            charset=UTF-8">
          <p>It appears my branch is affected, as well, so it is either
            something I did or something that was merged from the main
            branch. The error is as follows (on Windows, at least):</p>
          <p>C:\Program Files (x86)\Purr Data\bin\pdgui.js:3542 Uncaught
            TypeError: Cannot read property 'join' of undefined<br>
                at C:\Program Files (x86)\Purr Data\bin\pdgui.js:3542:51<br>
                at get (C:\Program Files (x86)\Purr
            Data\bin\pdgui.js:2057:21)<br>
                at Object.get_elem (C:\Program Files (x86)\Purr
            Data\bin\pdgui.js:2073:24)<br>
                at gui_scalar_new (C:\Program Files (x86)\Purr
            Data\bin\pdgui.js:3491:14)<br>
                at eval (eval at perfect_parser (C:\Program Files
            (x86)\Purr Data\bin\pdgui.js:1885:21),
            <anonymous>:1:1)<br>
                at perfect_parser (C:\Program Files (x86)\Purr
            Data\bin\pdgui.js:1885:21)<br>
                at Socket.<anonymous> (C:\Program Files (x86)\Purr
            Data\bin\pdgui.js:1903:9)<br>
                at Socket.emit (events.js:315)<br>
                at addChunk (_stream_readable.js:302)<br>
                at readableAddChunk (_stream_readable.js:278)</p>
          <p>Best,</p>
          <p>Ico<br>
          </p>
          <div class="moz-cite-prefix">On 6/30/2020 8:08 PM, Ivica
            Bukvic wrote:<br>
          </div>
          <blockquote type="cite"
cite="mid:CAJrgGbbsVQF-oNocLhgmTpQCQQgPC-GAkPbsu0herqPdCzi0Rg@mail.gmail.com">
            <meta http-equiv="content-type" content="text/html;
              charset=UTF-8">
            <div dir="auto">Before we do that, allow me to take a stab
              at this to see what may have broke. I will also test to
              see if my branch exhibits the same problem. What about the
              plot drawing optimizations you introduced, could they be
              also somehow involved? I don't have those yet on my branch
              and have not experienced any known problems yet, although
              I need to test the about page.
              <div dir="auto"><br>
                <div data-smartmail="gmail_signature" dir="auto">Best,<br>
                  <br>
                  Ico<br>
                  <br>
                  -- <br>
                  Ivica Ico Bukvic, D.M.A.<br>
                  Director, Creativity + Innovation<br>
                  Institute for Creativity, Arts, and Technology<br>
                  <br>
                  Virginia Tech<br>
                  Creative Technologies in Music<br>
                  School of Performing Arts – 0141<br>
                  Blacksburg, VA 24061<br>
                  (540) 231-6139<br>
                  <a href="mailto:ico@vt.edu" moz-do-not-send="true">ico@vt.edu</a><br>
                  <br>
                  <a href="http://www.icat.vt.edu"
                    moz-do-not-send="true">www.icat.vt.edu</a><br>
                  <a href="http://www.performingarts.vt.edu"
                    moz-do-not-send="true">www.performingarts.vt.edu</a><br>
                  <a href="http://l2ork.icat.vt.edu"
                    moz-do-not-send="true">l2ork.icat.vt.edu</a><br>
                  <a href="http://ico.bukvic.net" moz-do-not-send="true">ico.bukvic.net</a></div>
              </div>
            </div>
            <br>
            <div class="gmail_quote">
              <div dir="ltr" class="gmail_attr">On Tue, Jun 30, 2020,
                19:23 Jonathan Wilkes <<a
                  href="mailto:jon.w.wilkes@gmail.com"
                  moz-do-not-send="true">jon.w.wilkes@gmail.com</a>>
                wrote:<br>
              </div>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">Albert--
                now that HEAD is what it is, what would the process be
                of<br>
                rolling it back while putting all those merges<br>
                into a separate nwjs-update branch?<br>
                <br>
                -Jonathan<br>
                <br>
                On Tue, Jun 30, 2020 at 5:57 PM Jonathan Wilkes <<a
                  href="mailto:jon.w.wilkes@gmail.com" target="_blank"
                  rel="noreferrer" moz-do-not-send="true">jon.w.wilkes@gmail.com</a>>
                wrote:<br>
                ><br>
                > On Tue, Jun 30, 2020 at 3:20 PM Ivica Bukvic <<a
                  href="mailto:ico@vt.edu" target="_blank"
                  rel="noreferrer" moz-do-not-send="true">ico@vt.edu</a>>
                wrote:<br>
                > ><br>
                > > The fix that may have triggered the regression
                you describe was supposed to fix a regression :-)<br>
                > ><br>
                > > Namely the code removed that deletes data
                structures during a redraw also tends to delete all the
                other objects on a subpatch when an undo action is
                triggered, leaving only patch cords visible. This was
                true regardless of the nw.js version. I suspect that the
                fix that Jonathan originally introduced there may have
                been because of drawing of the data structures alongside
                the regular objects on the same canvas, which is what
                the about page has with the animated cat.<br>
                ><br>
                > Unfortunately, I can't create a scalar on a canvas
                at all. This is a<br>
                > bug even if there are no gop subpatches in
                existence.<br>
                ><br>
                > Also-- I tried reverting the code you're referring
                to, Ico. Even with<br>
                > that code path present, a simple scalar will fail
                to<br>
                > be displayed. Even worse-- nothing gets created on
                the GUI side. So<br>
                > either the problem is something you introduced to<br>
                > gui_scalar_new, or in the backend preventing that
                from every being called.<br>
                ><br>
                > -Jonathan<br>
                ><br>
                > ><br>
                > > My originally proposed merge request offered
                deleting only scalars in a situation that the code
                seemed to address. I also indicated that it needed to be
                tested further given I was unsure under which
                circumstances this code would be necessary. The final
                merge was Jonathan's where he erased that part entirely
                suggesting it was not necessary anymore.<br>
                > ><br>
                > > What may be helpful, as the code complexity
                continues to grow, is to carefully annotate each of
                these calls in the code so that we can better understand
                why they are placed there in the first place and what
                needs to be done to check for regressions.<br>
                > ><br>
                > > Best,<br>
                > ><br>
                > > Ico<br>
                > ><br>
                > > --<br>
                > > Ivica Ico Bukvic, D.M.A.<br>
                > > Director, Creativity + Innovation<br>
                > > Institute for Creativity, Arts, and Technology<br>
                > ><br>
                > > Virginia Tech<br>
                > > Creative Technologies in Music<br>
                > > School of Performing Arts – 0141<br>
                > > Blacksburg, VA 24061<br>
                > > (540) 231-6139<br>
                > > <a href="mailto:ico@vt.edu" target="_blank"
                  rel="noreferrer" moz-do-not-send="true">ico@vt.edu</a><br>
                > ><br>
                > > <a href="http://www.icat.vt.edu"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">www.icat.vt.edu</a><br>
                > > <a href="http://www.performingarts.vt.edu"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">www.performingarts.vt.edu</a><br>
                > > <a href="http://l2ork.icat.vt.edu"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">l2ork.icat.vt.edu</a><br>
                > > <a href="http://ico.bukvic.net"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">ico.bukvic.net</a><br>
                > ><br>
                > > On Tue, Jun 30, 2020, 14:16 Albert Graef <<a
                  href="mailto:aggraef@gmail.com" target="_blank"
                  rel="noreferrer" moz-do-not-send="true">aggraef@gmail.com</a>>
                wrote:<br>
                > >><br>
                > >> Sorry, I missed these remarks earlier.<br>
                > >><br>
                > >> On Tue, Jun 30, 2020 at 2:14 PM Jonathan
                Wilkes <<a href="mailto:jon.w.wilkes@gmail.com"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">jon.w.wilkes@gmail.com</a>>
                wrote:<br>
                > >>><br>
                > >>> I can confirm running HEAD against a
                local 0.46.3 nw.js on aarch64<br>
                > >>> does indeed work to load and display
                patches.<br>
                > >><br>
                > >><br>
                > >> Have you tried  the Help - About Pd-L2ork
                menu entry?<br>
                > >><br>
                > >>> What do I need to add to the
                contributor's guide to make it clear what<br>
                > >>> a desirable merge request branch
                should look like?<br>
                > >><br>
                > >><br>
                > >> I guess you're talking about workflow
                here? That is, rebasing and squashing commits so that
                you present your feature branch a.k.a. merge request as
                simple and comprehensible as possible, with a clean and
                logical commit history. There's a lot that goes into
                that  process and much of it is common sense -- but
                you'd probably have to replicate half the Git Book to
                explain these things really thoroughly.<br>
                > >><br>
                > >> However, the main failure in this case
                IMHO was that there weren't enough eyeballs looking at
                this "patchset from hell", before the changes were
                merged into master. A call for help on the mailing list
                goes a long way there, explaining what the new set of
                changes is about, what parts of the program might be
                affected, and what needs to be tested. I did notice the
                flurry of commits, but I wasn't sure what they were
                about and didn't have the time to look into them. I
                would certainly have tried to give a helping hand in
                testing, though, when asked about it in the manner
                described. ;-) (Or maybe I missed that call, then I have
                to apologize.)<br>
                > >><br>
                > >> Albert<br>
                > >><br>
                > >>> > On Tue, Jun 30, 2020 at 11:42 AM
                Sam Thursfield <<a href="mailto:ssssam@gmail.com"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">ssssam@gmail.com</a>> wrote:<br>
                > >>> >><br>
                > >>> >> Hi Albert,<br>
                > >>> >><br>
                > >>> >> On Tue, Jun 30, 2020 at 9:12
                AM Albert Graef <<a href="mailto:aggraef@gmail.com"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">aggraef@gmail.com</a>>
                wrote:<br>
                > >>> >> > The program still builds
                fine, launches and I can still open new patch windows
                (^n), but "About Pd-L2ork" doesn't work any more and I
                can't open existing patches either (apparently the
                patches do get opened in the engine, but no window is
                mapped).<br>
                > >>> >><br>
                > >>> >> Is it possible that you are
                using a version of nw.js >= 0.42.3 ?<br>
                > >>> >> This issue sounds a bit like<br>
                > >>> >> <a
                  href="https://git.purrdata.net/jwilkes/purr-data/-/issues/572"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">https://git.purrdata.net/jwilkes/purr-data/-/issues/572</a><br>
                > >>> >> Sam<br>
                > >>> >>
                _______________________________________________<br>
                > >>> >> L2Ork-dev mailing list<br>
                > >>> >> <a
                  href="mailto:L2Ork-dev@disis.music.vt.edu"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
                > >>> >> <a
                  href="https://disis.music.vt.edu/listinfo/l2ork-dev"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
                > >>> ><br>
                > >>> ><br>
                > >>> ><br>
                > >>> > --<br>
                > >>> > Dr. Albert Gr"af<br>
                > >>> > Computer Music Research Group,
                JGU Mainz, Germany<br>
                > >>> > Email: <a
                  href="mailto:aggraef@gmail.com" target="_blank"
                  rel="noreferrer" moz-do-not-send="true">aggraef@gmail.com</a>,
                web: <a href="https://agraef.github.io/"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">https://agraef.github.io/</a><br>
                > >>> >
                _______________________________________________<br>
                > >>> > L2Ork-dev mailing list<br>
                > >>> > <a
                  href="mailto:L2Ork-dev@disis.music.vt.edu"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
                > >>> > <a
                  href="https://disis.music.vt.edu/listinfo/l2ork-dev"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
                > >>>
                _______________________________________________<br>
                > >>> L2Ork-dev mailing list<br>
                > >>> <a
                  href="mailto:L2Ork-dev@disis.music.vt.edu"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
                > >>> <a
                  href="https://disis.music.vt.edu/listinfo/l2ork-dev"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
                > >><br>
                > >><br>
                > >><br>
                > >> --<br>
                > >> Dr. Albert Gr"af<br>
                > >> Computer Music Research Group, JGU Mainz,
                Germany<br>
                > >> Email: <a href="mailto:aggraef@gmail.com"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">aggraef@gmail.com</a>, web: <a
                  href="https://agraef.github.io/" rel="noreferrer
                  noreferrer" target="_blank" moz-do-not-send="true">https://agraef.github.io/</a><br>
                > >>
                _______________________________________________<br>
                > >> L2Ork-dev mailing list<br>
                > >> <a
                  href="mailto:L2Ork-dev@disis.music.vt.edu"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
                > >> <a
                  href="https://disis.music.vt.edu/listinfo/l2ork-dev"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
                > ><br>
                > >
                _______________________________________________<br>
                > > L2Ork-dev mailing list<br>
                > > <a href="mailto:L2Ork-dev@disis.music.vt.edu"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
                > > <a
                  href="https://disis.music.vt.edu/listinfo/l2ork-dev"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
                _______________________________________________<br>
                L2Ork-dev mailing list<br>
                <a href="mailto:L2Ork-dev@disis.music.vt.edu"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
                <a href="https://disis.music.vt.edu/listinfo/l2ork-dev"
                  rel="noreferrer noreferrer" target="_blank"
                  moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a></blockquote>
            </div>
          </blockquote>
          <pre class="moz-signature" cols="72">-- 
Ivica Ico Bukvic, D.M.A.
Director, Creativity + Innovation
Institute for Creativity, Arts, and Technology

Virginia Tech
Creative Technologies in Music
School of Performing Arts – 0141
Blacksburg, VA 24061
(540) 231-6139
<a class="moz-txt-link-abbreviated" href="mailto:ico@vt.edu" moz-do-not-send="true">ico@vt.edu</a>

<a class="moz-txt-link-abbreviated" href="http://www.icat.vt.edu" moz-do-not-send="true">www.icat.vt.edu</a>
<a class="moz-txt-link-abbreviated" href="http://www.performingarts.vt.edu" moz-do-not-send="true">www.performingarts.vt.edu</a>
l2ork.icat.vt.edu
ico.bukvic.net</pre>
        </blockquote>
        <pre class="moz-signature" cols="72">-- 
Ivica Ico Bukvic, D.M.A.
Director, Creativity + Innovation
Institute for Creativity, Arts, and Technology

Virginia Tech
Creative Technologies in Music
School of Performing Arts – 0141
Blacksburg, VA 24061
(540) 231-6139
<a class="moz-txt-link-abbreviated" href="mailto:ico@vt.edu" moz-do-not-send="true">ico@vt.edu</a>

<a class="moz-txt-link-abbreviated" href="http://www.icat.vt.edu" moz-do-not-send="true">www.icat.vt.edu</a>
<a class="moz-txt-link-abbreviated" href="http://www.performingarts.vt.edu" moz-do-not-send="true">www.performingarts.vt.edu</a>
l2ork.icat.vt.edu
ico.bukvic.net</pre>
      </blockquote>
      <pre class="moz-signature" cols="72">-- 
Ivica Ico Bukvic, D.M.A.
Director, Creativity + Innovation
Institute for Creativity, Arts, and Technology

Virginia Tech
Creative Technologies in Music
School of Performing Arts – 0141
Blacksburg, VA 24061
(540) 231-6139
<a class="moz-txt-link-abbreviated" href="mailto:ico@vt.edu" moz-do-not-send="true">ico@vt.edu</a>

<a class="moz-txt-link-abbreviated" href="http://www.icat.vt.edu" moz-do-not-send="true">www.icat.vt.edu</a>
<a class="moz-txt-link-abbreviated" href="http://www.performingarts.vt.edu" moz-do-not-send="true">www.performingarts.vt.edu</a>
l2ork.icat.vt.edu
ico.bukvic.net</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Ivica Ico Bukvic, D.M.A.
Director, Creativity + Innovation
Institute for Creativity, Arts, and Technology

Virginia Tech
Creative Technologies in Music
School of Performing Arts – 0141
Blacksburg, VA 24061
(540) 231-6139
<a class="moz-txt-link-abbreviated" href="mailto:ico@vt.edu">ico@vt.edu</a>

<a class="moz-txt-link-abbreviated" href="http://www.icat.vt.edu">www.icat.vt.edu</a>
<a class="moz-txt-link-abbreviated" href="http://www.performingarts.vt.edu">www.performingarts.vt.edu</a>
l2ork.icat.vt.edu
ico.bukvic.net</pre>
  </body>
</html>