<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <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">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>