On Sep 3, 2011, at 2:37 PM, Mathieu Bouchard wrote:

On Sun, 28 Aug 2011, Hans-Christoph Steiner wrote:

Receiving, parsing, and executing 1 megabyte of code per second is actually pretty good, IMHO. What needs to happen is that Pd should call Tcl procs not send blocks of raw Tcl.

How do you do that ?

DD has sys_mgui(), which operates at a level similar to binbuf_addv(), but constructs Tcl function calls. It still called sys_vgui() under the hood. However, if sys_vgui() had been completely replaced by sys_mgui(), then it would have become easy to replace that Tcl eval-based protocol by, for example, OSC-over-TCP.

But what do _you_ have in mind, specifically ?


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~

That would replace this block of raw Tcl:

.x230af0.c itemconfigure .x230af0.t230e90 -fill black
.x230af0.c itemconfigure .x230af0.t230e90R -fill black
.x230af0.c create rectangle 277 182 277 182 -tags x
.x230af0.c delete x
pdtk_undomenu .x230af0 paste no
pdtk_canvas_editmode .x230af0 1
.x230af0.c create line 146 134 174 134 174 151 146 151 146 134 -dash "" -tags [list .x230af0.t230ba0R obj] .x230af0.c create rectangle 146 150 153 151 -tags [list .x230af0.t230ba0o0 outlet] .x230af0.c create rectangle 146 134 153 136 -tags [list .x230af0.t230ba0i0 inlet] .x230af0.c create rectangle 167 134 174 136 -tags [list .x230af0.t230ba0i1 inlet] pdtk_text_new .x230af0.c {.x230af0.t230ba0 obj text} 148.000000 136.000000 {osc~ 500} 10 black
.x230af0.c itemconfigure .x230af0.t230ba0 -fill blue
.x230af0.c itemconfigure .x230af0.t230ba0R -fill blue
pdtk_canvas_getscroll .x230af0.c

.hc

----------------------------------------------------------------------------

"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity." -John Gilmore



_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to