<br><br><div class="gmail_quote">2011/9/4 Jonathan Wilkes <span dir="ltr">&lt;<a href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">----- Original Message -----<br>
<br>
&gt; From: Mathieu Bouchard &lt;<a href="mailto:matju@artengine.ca">matju@artengine.ca</a>&gt;<br>
&gt; To: Hans-Christoph Steiner &lt;<a href="mailto:hans@at.or.at">hans@at.or.at</a>&gt;<br>
</div><div class="im">&gt; Cc: pd-list &lt;<a href="mailto:pd-list@iem.at">pd-list@iem.at</a>&gt;; Joćo Pais &lt;<a href="mailto:jmmmpais@googlemail.com">jmmmpais@googlemail.com</a>&gt;<br>
&gt; Sent: Saturday, September 3, 2011 6:31 PM<br>
&gt; Subject: Re: [PD] [PD-dev] tkwidgets<br>
&gt;<br>
</div><div><div></div><div class="h5">&gt; On Sat, 3 Sep 2011, Hans-Christoph Steiner wrote:<br>
&gt;<br>
&gt;&gt;  Here&#39;s a good example of what I mean: the drawing commands for obj,msg,<br>
&gt; etc boxes should not be in &#39;pd&#39;.  &#39;pd&#39; should tell<br>
&gt; &#39;pd-gui&#39;: &quot;draw an object on this canvas, at this x,y with these<br>
&gt; inlets and outlets&quot;. &quot;pd-gui&quot; should also handle the mouse<br>
&gt; clicks, selection coloration, change of line style from dashed to solid, etc. <br>
&gt; So something like:<br>
&gt;&gt;<br>
&gt;&gt;   draw_object .x230ad0.c &quot;osc~ 500&quot; 10 500 inlet~ inlet outlet~<br>
&gt;<br>
&gt; desiredata sends :<br>
&gt;   change x9ad1038 x9acecc0 0 {#X obj 140 100 osc~ 500;} 2 1 1<br>
&gt;<br>
&gt; this is not using sys_mgui(), though. I don&#39;t really remember why I decided<br>
&gt; to not use it. It&#39;s using the pd_upload() function in the server. The 4th<br>
&gt; argument is the line of the object as it would be written in a .pd file. the 5th<br>
&gt; and 6th arguments is the number of inlets and outlets, and the 7th argument<br>
&gt; means that the object is ok (no red dash). The first arg is the id of the<br>
&gt; object, the second arg is the id of the canvas, and the third arg is the index<br>
&gt; of the object (as used in #X connect).<br>
&gt;<br>
&gt; This was for object updates, and was supposed to be replaced by something more<br>
&gt; efficient based on diffs. The other problem with uploading whole objects was<br>
&gt; that it didn&#39;t merge diffs, as has to happen when you move a slider that is<br>
&gt; currently receiving values or changing colour on its own, for example.<br>
&gt;<br>
&gt; sys_mgui was meant for sending updates. You&#39;d give an object id, then a<br>
&gt; selector, then an arg signature (like &quot;fssfsffsf&quot; to mean some<br>
&gt; combination of float and symbols, for example), then varargs. This assumed that<br>
&gt; the object id came first, as in most forms of object-oriented Tcl, and unlike<br>
&gt; plain procs.<br>
&gt;<br>
&gt; the proc named «change» had to be a regular proc, because it&#39;s also<br>
&gt; responsible for creating the object if it does not exist, so that there<br>
&gt; isn&#39;t any special case for that, and then it couldn&#39;t be an instance<br>
&gt; method because the object might not exist yet.<br>
<br>
</div></div>If you spent the same amount of time working on DD as you do writing about how<br>
DD works, you could spend a lot less time writing about how DD works, and a lot<br>
more time working on DD. :)<br>
<font color="#888888"><br>
-Jonathan<br>
</font><div class="im"><br></div></blockquote><div><br>Hold on... When Matju talks about how DD works it&#39;s *almost* like backporting from DD to Pd, and in this sense it&#39;s historic. And because of the incompatible licenses, it might be the only way to port from DD to Pd. Pst...! :O)<br>

 </div></div>Andras<br>