[PD-cvs] pd/src desire.tk,1.1.2.144,1.1.2.145

chunlee chunlee at users.sourceforge.net
Wed Feb 22 17:38:16 CET 2006


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

Modified Files:
      Tag: devel_0_39
	desire.tk 
Log Message:
ok, wires hopefully should be born and dead correctly now. well, not 
tried the dead part, but its next....



Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.144
retrieving revision 1.1.2.145
diff -C2 -d -r1.1.2.144 -r1.1.2.145
*** desire.tk	18 Feb 2006 15:40:57 -0000	1.1.2.144
--- desire.tk	22 Feb 2006 16:38:14 -0000	1.1.2.145
***************
*** 994,997 ****
--- 994,999 ----
      set @dehighlight {}
      set @wires {}
+     # stores wires in the format of {0 1 1 0} id {1 1 2 0} id
+     set @wires_pair {}
      #set @wire_hilite {}
      global history
***************
*** 1407,1410 ****
--- 1409,1413 ----
  def* canvas children= {children} {
  	# think of the children!!!
+ 	puts "-----------------------------------------------"
  	set born [lwithout $children $@children]; foreach x $born {$x   subscribe $self; $x changed; $x canvas= $self}
  	puts "---------------- born:$born"
***************
*** 1428,1462 ****
  
  def* canvas wires= {wires2} {
! 	puts "-----------------------------------------lol"
  	set wires {}
! 	#set born [lwithout $wires $@wires]; foreach x $born {$x   subscribe $self; $x changed; $x canvas= $self}
! 	#puts "===== born:$born"
! 	#set dead [lwithout $@wires $wires]; foreach x $dead {$x unsubscribe $self; $x erase}
! 	#set @wires $wires
! 	#puts "===== [concat [list wire_new $self]]"
! 	
  	foreach x $wires2 {
! 		if {[llength $x]==4} {
! 			lappend wires [eval [concat [list wire_new $self] $x]]
! 		} {
! 			lappend wires $x
! 		}
  	}
- 	puts "wires: $wires"
  	
! 	set born [lwithout $wires $@wires]; foreach x $born {$x   subscribe $self; $x changed; $x canvas= $self}
  	puts "===== born:$born"
  	set dead [lwithout $@wires $wires]; foreach x $dead {$x unsubscribe $self; $x erase}
  	puts "===== dead:$dead"
  	set @wires $wires
! 	puts "===== [concat [list wire_new $self]]"
  	
  	puts "==== self:$self wires:$wires"
  	$self changed
! 	#$wires changed
  }
  
  def* canvas wires_new {whoout outno whoin inno} {
! 	# post %s BOO
  }
  
--- 1431,1467 ----
  
  def* canvas wires= {wires2} {
! 	puts "-----------------------------------------wires!!"
! 	global _ 
  	set wires {}
! 	# look up for wire id
  	foreach x $wires2 {
! 	   set find [lsearch $@wires_pair $x]
! 	   if { $find != -1} {
! 		lappend wires [lindex $@wires_pair [expr $find + 1]]
! 	   }
  	}
  	
! 	set born [lwithout $wires $@wires];foreach x $born {$x subscribe $self;$x changed;$x canvas= $self}
  	puts "===== born:$born"
+ 	
+ 	
  	set dead [lwithout $@wires $wires]; foreach x $dead {$x unsubscribe $self; $x erase}
  	puts "===== dead:$dead"
  	set @wires $wires
! 	puts "===== [concat [list $self]]"
  	
  	puts "==== self:$self wires:$wires"
  	$self changed
! 	
  }
  
  def* canvas wires_new {whoout outno whoin inno} {
! 	# @wires_pair is a workaround for looking up the wire id with {0 1 1 0} format
! 	# i moved calling wire_new here instead of where it was (canvas wires=) 
! 	# is because i don't need to figure out which of the wire2 is new 
! 	# todo: need to put some things here to prevent from creating the same connection twice
! 	
! 	lappend @wires_pair [list $whoout $outno $whoin $inno]
! 	lappend @wires_pair [eval [list wire_new $self $whoout $outno $whoin $inno]]
  }
  
***************
*** 1995,1998 ****
--- 2000,2004 ----
      super
      global _
+     set @connects [list $from $outno $to $inno]
      #puts "------ children:$_($canvas:children)"
      #hack





More information about the Pd-cvs mailing list