[PD-cvs] pd/src desire.tk,1.1.2.600.2.376,1.1.2.600.2.377

chunlee chunlee at users.sourceforge.net
Wed Aug 15 19:31:56 CEST 2007


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15683

Modified Files:
      Tag: desiredata
	desire.tk 
Log Message:
added expand_port


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.376
retrieving revision 1.1.2.600.2.377
diff -C2 -d -r1.1.2.600.2.376 -r1.1.2.600.2.377
*** desire.tk	15 Aug 2007 17:27:06 -0000	1.1.2.600.2.376
--- desire.tk	15 Aug 2007 17:31:51 -0000	1.1.2.600.2.377
***************
*** 2111,2114 ****
--- 2111,2124 ----
  }
  
+ def Canvas xy_snap {x y} {
+ 	if {[$self look snap_grid]} {
+ 		set grid [$self look grid_size]
+ 		set x [expr floor($x/$grid)*$grid]
+ 		set y [expr floor($y/$grid)*$grid]
+ 	}
+ 	return [list $x $y]
+ 
+ }
+ 
  def Canvas new_object {sel args} {
  	$self editmode= 1
***************
*** 2128,2132 ****
--- 2138,2144 ----
  	netsend [concat [list .$self $sel $x $y] $args] $goto
  }
+ 
  def Canvas new_wire_callback {wire} {}
+ 
  def Canvas new_object_callback {obj} {
  	$self add_to_obj_history $obj
***************
*** 2135,2138 ****
--- 2147,2151 ----
  	if {$@keynav} {$self update_Active $obj}
  }
+ 
  def Canvas new_object_copyselect {obj} {
  	$self selection+= $obj
***************
*** 2140,2144 ****
--- 2153,2159 ----
  	#$self click_on_object $obj 0
  }
+ 
  def Canvas new_wire_select {wire} {$self selection_wire+= $wire}
+ 
  def Canvas new_object_edit     {obj} {
  	if {[$obj class] == "NumBox"} {return}
***************
*** 3878,3881 ****
--- 3893,3946 ----
  }
  
+ def Canvas reconnect_brkwires {type brk_quads obj} {
+ 	set k [$@objects search $obj]
+ 	foreach quad $brk_quads {
+ 		mset {from outlet to inlet} $quad
+ 		set orig_outlet $outlet; set orig_inlet $inlet
+ 		switch $type {
+ 			i {set orig_obj $to; set to $k; set inlet 0}
+ 			o {set orig_obj $from; set from $k; set outlet 0}
+ 		}
+ 		netsend [list .$self connect $from $outlet $to $inlet] 
+ 	}
+ 	if {$type == "i"} {
+ 		netsend [list .$self connect $k 0 $orig_obj $orig_inlet]
+ 	} else {
+ 		netsend [list .$self connect $orig_obj $orig_outlet $k 0]
+ 	}
+ 	$self new_object_callback $obj
+ 	
+ }
+ 
+ def Canvas expand_port {type k port} {
+ 	set obj [$@objects get $k]
+ 	mset {bx1 by1 bx2 by2} [$obj io_bbox $type $port]
+ 	mset {ox1 oy1 ox2 oy2} [$obj bbox]
+ 	mset ys [expr $oy2-$oy1]
+ 	mset {brk_wires brk_quads} [$self broken_wires $type $k $port]
+ 	switch $type {
+ 		i {mset {nx ny} [$self xy_snap $bx1 [expr $by1-25]]}
+ 		o {mset {nx ny} [$self xy_snap $bx1 [expr $by1+$ys+25]]}
+ 	}
+ 	foreach quad $brk_quads {$self disconnect $quad}
+ 	set reply [list $self reconnect_brkwires $type $brk_quads]
+ 	netsend [concat [list .$self obj $nx $ny] t a] $reply
+ 	
+ }
+ 
+ def Canvas outlet_expand {k outlet} {set reconnect [$self broken_wires o $k $inlet]}
+ 
+ def Canvas broken_wires {type k port} {
+ 	set obj [$@objects get $k]
+ 	set wires [$obj wires2]; set brk_wires {}; set quads {}
+ 	foreach wire $wires {
+ 		mset {f2 o2 t2 i2} [$wire connects]
+ 		if {$t2==$k && $i2==$port && $type=="i"} {lappend brk_wires $wire; lappend quads [$wire connects]}
+ 		if {$f2==$k && $o2==$port && $type=="o"} {lappend brk_wires $wire; lappend quads [$wire connects]}
+ 	}
+ 	return [list $brk_wires $quads]
+ }
+ 
+ 
  #def Canvas new_object_subpatcherize {subpatch} {$subpatch subpatcherize_paste}
  def Canvas new_object_subpatcherize {subpatch} {





More information about the Pd-cvs mailing list