[PD] [PD-dev] tkwidgets
Jonathan Wilkes
jancsika at yahoo.com
Sun Sep 4 04:50:45 CEST 2011
----- Original Message -----
> From: Mathieu Bouchard <matju at artengine.ca>
> To: Hans-Christoph Steiner <hans at at.or.at>
> Cc: pd-list <pd-list at iem.at>; João Pais <jmmmpais at googlemail.com>
> Sent: Saturday, September 3, 2011 6:31 PM
> Subject: Re: [PD] [PD-dev] tkwidgets
>
> On Sat, 3 Sep 2011, Hans-Christoph Steiner wrote:
>
>> Here's a good example of what I mean: the drawing commands for obj,msg,
> etc boxes should not be in 'pd'. 'pd' should tell
> 'pd-gui': "draw an object on this canvas, at this x,y with these
> inlets and outlets". "pd-gui" should also handle the mouse
> clicks, selection coloration, change of line style from dashed to solid, etc.
> So something like:
>>
>> draw_object .x230ad0.c "osc~ 500" 10 500 inlet~ inlet outlet~
>
> desiredata sends :
> change x9ad1038 x9acecc0 0 {#X obj 140 100 osc~ 500;} 2 1 1
>
> this is not using sys_mgui(), though. I don't really remember why I decided
> to not use it. It's using the pd_upload() function in the server. The 4th
> argument is the line of the object as it would be written in a .pd file. the 5th
> and 6th arguments is the number of inlets and outlets, and the 7th argument
> means that the object is ok (no red dash). The first arg is the id of the
> object, the second arg is the id of the canvas, and the third arg is the index
> of the object (as used in #X connect).
>
> This was for object updates, and was supposed to be replaced by something more
> efficient based on diffs. The other problem with uploading whole objects was
> that it didn't merge diffs, as has to happen when you move a slider that is
> currently receiving values or changing colour on its own, for example.
>
> sys_mgui was meant for sending updates. You'd give an object id, then a
> selector, then an arg signature (like "fssfsffsf" to mean some
> combination of float and symbols, for example), then varargs. This assumed that
> the object id came first, as in most forms of object-oriented Tcl, and unlike
> plain procs.
>
> the proc named «change» had to be a regular proc, because it's also
> responsible for creating the object if it does not exist, so that there
> isn't any special case for that, and then it couldn't be an instance
> method because the object might not exist yet.
If you spent the same amount of time working on DD as you do writing about how
DD works, you could spend a lot less time writing about how DD works, and a lot
more time working on DD. :)
-Jonathan
>
> _______________________________________________________________________
> | Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
More information about the Pd-list
mailing list