<!DOCTYPE html><html><head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  
<style type="text/css">body { font-family:'Times New Roman'; font-size:13px}</style>
</head>
<body text="#000000" bgcolor="#FFFFFF"><div>Hello,</div><div><br></div><div>I haven't been using Pd regularly for a while now. But as I remember, the biggest disadvantage of data structures isn't really that they're "buggy" (i.e. have some issues that usually don't happen in other pd objects, as Jonathan listed), but that there are very few 
possible
operations. Any patching requires lots of work to do things that on other parts of Pd happen very easily. Looking at the ftm library, could be a way of a goal of what could be done using data structues (not even to mention the audio part).</div><div><br></div><div>Also, because of the gui issues, data structures can't really be relied upon for non-slow (i.e. medium and fast) graphics. It just takes lots of cpu (at least it does on my windows machines).<br></div><div><br></div><div>There is also the steep learning curve, but I've seen gradually more people working with them, so that generates a positive loop. I don't know if my tutorial helped much (based on the ones of F Barknecht and G Karman), but every step counts.</div><div>One can also have a look at my abstractions in extra/jmmmp, several of them are made with data structures - including [matrixctrl], quite useful as a gui for [iemmatrix/mtx_mul~].</div><div>(btw, I was just trying to upload my tutorial to puredata.info, but the website gave an error. I'll keep trying)</div><div><br></div><div>Jonathan, when will your new features be available in Pd Extended? I could try to update my tutorial with them. I'm not using linux anymore, so I won't be working with pdl2ork.</div><div><br></div><div>Best,</div><div><br></div><div>Joao</div><div><br></div><br><blockquote style="margin: 0 0 0.80ex; border-left: #0000FF 2px solid; padding-left: 1ex">
    <div class="moz-cite-prefix">On 11/23/2014 11:26 PM, Alexandre
      Torres Porres wrote:<br>
    </div>
    <blockquote cite="mid:CAEAsFmhEZrsvDjRieD+f=HO363aAaeQvo5k__itLykG2_b7x6w@mail.gmail.com" type="cite">
      <div dir="ltr">don't even remember cause I stopped messing with it
        because of them, but I did discuss about them sometime ago here
        on the list, with joão pais, the bottom line is that they were
        indeed buggy like that and that you had to cope with it.</div>
    </blockquote>
    <br>
    Well, there are a few areas I can think of:<br>
    1) changing contents of [struct] when you have scalars in a canvas. 
    Pd goes through and conforms the scalars to the new [struct]
    definition, but the old definition sticks around, too.  This seems
    to cause problems in some cases, and possibly crashes when you have
    array fields inside the [struct]-- especially if you make changes to
    the [struct] for that array.<br>
    2) scalars inside a gop.  These are prone to all kinds of weirdness,
    though it's unclear what constitutes a bug here:<br>
    * there's a red gop rectangle for putting objects which you want to
    show up on the parent, but scalars get scaled and displaced as a
    function of subpatch's window dimensions and x/y ranges/sizes.  This
    makes it difficult to tell where the scalar will appear inside the
    gop, as well as blasting the scalar off into the nether regions of
    the subpatch if you decide to turn on gop.<br>
    * iemguis outside of the gop rectangle won't show up, but scalars
    will<br>
    * while the gop rectangle does not affect the appearance of a
    scalar, it _does_ affect the scalar's widgetbehavior.  Thus you can
    click a scalar only if it's within the gop boundaries.  You can drag
    a scalar outside of the boundaries, but once you release the button
    you can't drag it back.  (Same with a "Put" menu array.)<br>
    * text appearance is limited by tk canvas implementation.  So the
    x/y units setting of a gop canvas will affect polygon appearance,
    but the text itself won't rescale at all.<br>
    * canvas "clear" method clears out the gop settings (at least I
    think it does).  The "coords" and "donecanvasdialog" methods take an
    enormous list of positional arguments that are impossible to
    remember<br>
    * x/y margins apparently have no effect on scalars, although Pd lets
    you set them<br>
    <br>
    It's difficult to figure out how to make that scalar behavior in
    gops more sensible.  It's tricky because gop currently acts like a
    "viewport" somewhat in the svg or opengl sense, yet it doesn't clip
    or even respect the "size" attributes if the subpatch is open. 
    "Put" menu array sizing and [table] widgetbehavior are affected by
    this, so if scalar gop appearance were simplified then garrays would
    have to be decoupled from that behavior.<br>
    <br>
    -Jonathan<br>
    <br>
    <blockquote cite="mid:CAEAsFmhEZrsvDjRieD+f=HO363aAaeQvo5k__itLykG2_b7x6w@mail.gmail.com" type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>cheers</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2014-11-17 2:50 GMT-02:00 Jonathan
          Wilkes <span dir="ltr"><<a moz-do-not-send="true" href="mailto:jancsika@yahoo.com" target="_blank">jancsika@yahoo.com</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF"><span class="">
                <div>On 11/16/2014 10:55 PM, Alexandre Torres Porres
                  wrote:<br>
                </div>
                <blockquote type="cite">
                  <div dir="ltr">my two cents is that the data
                    structures are still a bit buggy to work on. Just
                    hoped they'd be more stable, other than that, can't
                    relate to the commotion, cheers <br>
                  </div>
                </blockquote>
                <br>
              </span> What kinds of bugs are you running into?<span class="HOEnZb"><font color="#888888"><br>
                  <br>
                  -Jonathan</font></span>
              <div>
                <div class="h5"><br>
                  <br>
                  <blockquote type="cite">
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">2014-11-13 13:45
                        GMT-02:00 Jonathan Wilkes via Pd-list <span dir="ltr"><<a moz-do-not-send="true" href="mailto:pd-list@lists.iem.at" target="_blank">pd-list@lists.iem.at</a>></span>:<br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          <div>
                            <div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica
                              Neue,Helvetica,Arial,Lucida
                              Grande,sans-serif;font-size:16px">
                              <div><span>It's certainly possible. 
                                  There's a Pd-l2ork script for creating
                                  a "vanilla" tarball with the l2ork
                                  changes in it, so I guess you could
                                  try dropping the src and extra from
                                  that into libpd's pure-data directory
                                  and see what happens.</span></div>
                              <div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica
                                Neue,Helvetica,Arial,Lucida
                                Grande,sans-serif;background-color:transparent;font-style:normal"><br>
                              </div>
                              <div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica
                                Neue,Helvetica,Arial,Lucida
                                Grande,sans-serif;background-color:transparent;font-style:normal">But

                                I don't know much about libpd.<span><font color="#888888"><br>
                                  </font></span></div>
                              <span><font color="#888888">
                                  <div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica
                                    Neue,Helvetica,Arial,Lucida
                                    Grande,sans-serif;background-color:transparent;font-style:normal"><br>
                                    </div>
                                  <div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica
                                    Neue,Helvetica,Arial,Lucida
                                    Grande,sans-serif;background-color:transparent;font-style:normal"><span>-Jonathan<br>
                                    </span></div>
                                </font></span>
                              <div>
                                <div>
                                  <div><br>
                                    <br>
                                  </div>
                                  <div style="display:block">
                                    <div style="font-family:HelveticaNeue,Helvetica
                                      Neue,Helvetica,Arial,Lucida
                                      Grande,sans-serif;font-size:16px">
                                      <div style="font-family:HelveticaNeue,Helvetica
                                        Neue,Helvetica,Arial,Lucida
                                        Grande,sans-serif;font-size:16px">
                                        <div dir="ltr"> <font face="Arial"> On Thursday,
                                            November 13, 2014 4:38 AM, i
                                            go bananas <<a moz-do-not-send="true" href="mailto:hard.off@gmail.com" target="_blank">hard.off@gmail.com</a>>

                                            wrote:<br>
                                          </font> </div>
                                        <br>
                                        <br>
                                        <div>
                                          <div>
                                            <div>
                                              <div dir="ltr"><span>in
                                                  relation to Pd-l2ork,</span>
                                                <div><span><br clear="none">
                                                  </span></div>
                                                <div><span>guys, what's
                                                    the status of having
                                                    a 'libpd' for </span><span>l2ork???

                                                     is that possible?  </span></div>
                                                <div><span><br clear="none">
                                                  </span></div>
                                                <div><span>sorry for
                                                    going off
                                                    topic...but it is
                                                    something i have
                                                    wanted to ask for
                                                    ages.  </span></div>
                                              </div>
                                              <div><br clear="none">
                                                <div>
                                                  <div>On Thu, Nov 13,
                                                    2014 at 6:33 PM, i
                                                    go bananas <span dir="ltr"><<a moz-do-not-send="true" rel="nofollow" shape="rect">hard.off@gmail.com</a>></span>
                                                    wrote:<br clear="none">
                                                    <blockquote style="margin:0 0
                                                      0
                                                      .8ex;border-left:1px
                                                      #ccc
                                                      solid;padding-left:1ex">
                                                      <div dir="ltr">IOhannes, 

                                                        <div><br clear="none">
                                                        </div>
                                                        <div>that's
                                                          kinda what i
                                                          thought....</div>
                                                        <div><br clear="none">
                                                        </div>
                                                        <div>but really,
                                                          come on...pd's
                                                          interface is
                                                          it's weakest
                                                          point.  When
                                                          miller started
                                                          working on the
                                                          data
                                                          structures,
                                                          libpd and all
                                                          that didn't
                                                          even exist. 
                                                          But now, we
                                                          can just farm
                                                          out that sort
                                                          of stuff to
                                                          other
                                                          programs.  <br clear="none">
                                                          <br clear="none">
                                                          Compared to
                                                          the amount of
                                                          effort it
                                                          takes to learn
                                                          them, and how
                                                          effective they
                                                          actually are,
                                                          data
                                                          structures are
                                                          just too
                                                          un-economical. </div>
                                                        <div><br clear="none">
                                                        </div>
                                                        <div>in nearly
                                                          15 years of
                                                          their
                                                          existence, i
                                                          think i can
                                                          still count on
                                                          both hands how
                                                          many good
                                                          implementations
                                                          of them i have
                                                          seen.<br clear="none">
                                                          <br clear="none">
                                                          look, i LOVE
                                                          pd and
                                                          couldn't live
                                                          without
                                                          it....but it
                                                          just seems
                                                          like any
                                                          minute spent
                                                          on data
                                                          structures is
                                                          a minute that
                                                          could be way
                                                          better spent
                                                          on other
                                                          stuff. <br clear="none">
                                                          <br clear="none">
                                                          <br clear="none">
                                                          <br clear="none">
                                                        </div>
                                                      </div>
                                                      <div><br clear="none">
                                                        <div>
                                                          <div>
                                                          <div>On Thu,
                                                          Nov 13, 2014
                                                          at 3:54 AM,
                                                          IOhannes m
                                                          zmölnig <span dir="ltr"><<a moz-do-not-send="true" rel="nofollow" shape="rect">zmoelnig@iem.at</a>></span>
                                                          wrote:<br clear="none">
                                                          </div>
                                                          </div>
                                                          <blockquote style="margin:0
                                                          0 0
                                                          .8ex;border-left:1px
                                                          #ccc
                                                          solid;padding-left:1ex">
                                                          <div>
                                                          <div><span>On
                                                          11/12/2014
                                                          03:33 PM, i go
                                                          bananas wrote:<br clear="none">
                                                          ><br clear="none">
                                                          > couldn't
                                                          that work be
                                                          put to better
                                                          use?<br clear="none">
                                                          ><br clear="none">
                                                          <br clear="none">
                                                          </span>depends
                                                          on your
                                                          definition of
                                                          "better".<br clear="none">
                                                          <br clear="none">
                                                          if i
                                                          understand
                                                          correctly,
                                                          "data
                                                          structures"
                                                          have been
                                                          _the_
                                                          motivation<br clear="none">
                                                          for writing Pd
                                                          (as opposed to
                                                          continue with
                                                          max), so i
                                                          think we owe
                                                          them :-)<br clear="none">
                                                          <br clear="none">
                                                          gfmrdsa<br clear="none">
                                                          <span><font color="#888888">IOhannes<br clear="none">
                                                          <br clear="none">
                                                          <br clear="none">
                                                          </font></span></div></div></blockquote></div></div></blockquote></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote></div></div></blockquote></div></div></div></blockquote></div></div></blockquote></blockquote><br></body></html>