Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5487
Modified Files: Tag: devel_0_39 desire.c desire.tk Log Message: server-side wires
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.119 retrieving revision 1.1.2.120 diff -C2 -d -r1.1.2.119 -r1.1.2.120 *** desire.tk 11 Nov 2005 01:51:06 -0000 1.1.2.119 --- desire.tk 12 Nov 2005 09:33:31 -0000 1.1.2.120 *************** *** 1360,1365 **** }
- def canvas children_index {child} {lindex $@children $child} - def* canvas add {obj} { set i [lsearch $@children $obj] --- 1360,1363 ---- *************** *** 1471,1481 **** if {$@editmode && [llength [$id bbox]]} { mset {x1 y1 x2 y2} [$id bbox] ! if {abs($y1+3-$y)<=3} { set port [$id hilite_io i $x $y] set @dehighlight "$c delete ${id}i${port}b; set wire_to {}" return } ! if {abs($y2-3-$y)<=3} { set port [$id hilite_io o $x $y] set @dehighlight "$c delete ${id}o${port}b" return --- 1469,1483 ---- if {$@editmode && [llength [$id bbox]]} { mset {x1 y1 x2 y2} [$id bbox] ! post %s "y=$y y1=$y1 y2=$y2" ! if {$y<$y1+6} { set port [$id hilite_io i $x $y] + if {$port==""} return set @dehighlight "$c delete ${id}i${port}b; set wire_to {}" + set @wire_to [list $id $port] return } ! if {$y>=$y2-6} { set port [$id hilite_io o $x $y] + if {$port==""} return set @dehighlight "$c delete ${id}o${port}b" return *************** *** 1511,1514 **** --- 1513,1517 ---- }
+ #-----------------------------------------------------------------------------------# class_new statusbar {view} *************** *** 1615,1624 **** mset {x1 y1 x2 y2} [$id bbox] set outs 0; set outs [$id noutlets] ! post %s "y=$y y1=$y1 y2=$y2 abs($y2-3-$y)=[expr abs($y2-3-$y)] outs=$outs" ! if {abs($y2-3-$y)<=3 && $outs} { set out [expr int(($x-$x1)*$outs/($x2-$x1))] mset {x1 y1 x2 y2} [$c bbox ${id}o${out}] $c create line [expr ($x1+$x2)/2] [expr ($y1+$y2)/2] $x $y -dash {4 4 4 4} -tags lnew ! set @wire_from [list $self $out] set @action wire return --- 1618,1626 ---- mset {x1 y1 x2 y2} [$id bbox] set outs 0; set outs [$id noutlets] ! if {$y>=$y2-6 && $outs} { set out [expr int(($x-$x1)*$outs/($x2-$x1))] mset {x1 y1 x2 y2} [$c bbox ${id}o${out}] $c create line [expr ($x1+$x2)/2] [expr ($y1+$y2)/2] $x $y -dash {4 4 4 4} -tags lnew ! set @wire_from [list $id $out] set @action wire return *************** *** 1633,1637 ****
def* canvas click {x y b f} { - global look focus set c .$self.c focus $c --- 1635,1638 ---- *************** *** 1685,1692 **** mset {x1 y1 x2 y2} [$id bbox] set ins 0; set ins [$id ninlets] ! if {abs($y1+3-$y)<=3 && $ins} { set in [expr int(($x-$x1)*$ins/($x2-$x1))] set @wire_to [list $id $in] ! } puts "connect $@wire_from $@wire_to" } --- 1686,1698 ---- mset {x1 y1 x2 y2} [$id bbox] set ins 0; set ins [$id ninlets] ! if {$y<$y1+6 && $ins} { set in [expr int(($x-$x1)*$ins/($x2-$x1))] set @wire_to [list $id $in] ! post "wire_from=%s wire_to=%s" $@wire_from $@wire_to ! mset {from outlet} $@wire_from ! mset {to inlet} $@wire_to ! pd .$self connect [lsearch $@children $from] $inlet \ ! [lsearch $@children $to] $outlet ! } puts "connect $@wire_from $@wire_to" }
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.50 retrieving revision 1.1.2.51 diff -C2 -d -r1.1.2.50 -r1.1.2.51 *** desire.c 7 Nov 2005 01:26:53 -0000 1.1.2.50 --- desire.c 12 Nov 2005 09:33:30 -0000 1.1.2.51 *************** *** 3555,3559 **** while (inno >= obj_ninlets(objsink)) inlet_new(objsink, &objsink->ob_pd, &s_, &s_); ! if (!(oc = obj_connect(objsrc, outno, objsink, inno))) goto bad; if (glist_isvisible(x)) --- 3555,3560 ---- while (inno >= obj_ninlets(objsink)) inlet_new(objsink, &objsink->ob_pd, &s_, &s_); ! post("canvas_connect: objsrc=%d outno=%d objsink=%d inno=%d",objsrc,outno,objsink,inno); ! gobj_changed(x,""); if (!(oc = obj_connect(objsrc, outno, objsink, inno))) goto bad; if (glist_isvisible(x)) *************** *** 12260,12264 **** binbuf_gettext(buf,&s,&n); sys_vgui("update_object x%lx {%.*s}\n", (long)self,n,s); ! sys_mgui(self,"ninlets=","i", obj_ninlets((t_text *)self)); sys_mgui(self,"noutlets=","i",obj_noutlets((t_text *)self)); binbuf_free(buf); --- 12261,12265 ---- binbuf_gettext(buf,&s,&n); sys_vgui("update_object x%lx {%.*s}\n", (long)self,n,s); ! sys_mgui(self,"ninlets=" ,"i", obj_ninlets((t_text *)self)); sys_mgui(self,"noutlets=","i",obj_noutlets((t_text *)self)); binbuf_free(buf); *************** *** 12267,12274 **** // buffer overflow bug here char foo[4096]; ! char *bar = foo; t_gobj *y; glist_each(y,(t_canvas *)self) bar+=sprintf(bar,"x%lx ",(long)y); sys_mgui((t_gobj *)self,"children=","S",foo); } } --- 12268,12284 ---- // buffer overflow bug here char foo[4096]; ! char *bar; ! t_linetraverser t; ! t_outconnect *oc; t_gobj *y; + bar=foo; *foo=0; + linetraverser_start(&t,(t_canvas *)self); glist_each(y,(t_canvas *)self) bar+=sprintf(bar,"x%lx ",(long)y); sys_mgui((t_gobj *)self,"children=","S",foo); + bar=foo; *foo=0; + while((oc = linetraverser_next(&t))) bar+=sprintf(bar,"%ld %ld %ld %ld ", + (long)canvas_getindex((t_canvas *)self,(t_gobj *)t.tr_ob), (long)t.tr_outno, + (long)canvas_getindex((t_canvas *)self,(t_gobj *)t.tr_ob2), (long)t.tr_inno); + sys_mgui((t_gobj *)self,"wires=","S",foo); } }