<div dir="ltr"><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Feb 19, 2014 at 12:07 AM, Jonathan Wilkes <span dir="ltr">&lt;<a href="mailto:jancsika@yahoo.com" target="_blank">jancsika@yahoo.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF"><div><div class="h5">
    <div>On 02/18/2014 11:11 PM, Rich E wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <br>
          <div class="gmail_quote">On Mon, Jan 13, 2014 at 5:35 PM, Dan
            Wilcox <span dir="ltr">&lt;<a href="mailto:danomatika@gmail.com" target="_blank">danomatika@gmail.com</a>&gt;</span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div style="word-wrap:break-word">Ah wait, duh. Of course
                the graph needs to know positioning, that&#39;s how it
                determines execution order or independent blocks of
                objects right?
                <div>
                  <div><br>
                    <div>
                      <div>On Jan 13, 2014, at 5:14 PM, Dan Wilcox &lt;<a href="mailto:danomatika@gmail.com" target="_blank">danomatika@gmail.com</a>&gt;
                        wrote:</div>
                      <br>
                      <blockquote type="cite"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Does
                          the dsp graph rely on positioning? I thought
                          only via connections. I&#39;d imagine the gui
                          wrapper should only worry about positioning
                          and simply update those changes when saving.</span></blockquote>
                    </div>
                    <br>
                  </div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>IMO a separation between GUI and core could/would
              include position, e.g. objects have their connections
              mapped by an index, GUI assigns the index to the object
              based on position.  This would allow for some much more
              sophisticated GUI&#39;s, such as 3d, or even a more
              human-readable text version (json has been mentioned).</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br></div></div>
    You run into problems when you want to get decent GUI interaction
    _and_ expect to deliver audio to the soundcard in realtime.<br>
    <br></div></blockquote><div><br></div><div>The GUI and audio shouldn&#39;t be updated from the same thread.  This is one nice thing about libpd, it forces a separation.</div><div><br></div><div>So in this type of world, the GUI can do whatever it needs to do in order to draw at the desired framerate, and flags graph changes along the way.  The changes are then converted into a GUI-agnostic format and synchronously issued to the audio context.</div>
</div></div></div>