[PD-cvs] pd/src desire.tk,1.1.2.600.2.347,1.1.2.600.2.348

chunlee chunlee at users.sourceforge.net
Sun Aug 12 05:49:11 CEST 2007


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

Modified Files:
      Tag: desiredata
	desire.tk 
Log Message:
NumBox FloatBox stuff (unfinished)


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.347
retrieving revision 1.1.2.600.2.348
diff -C2 -d -r1.1.2.600.2.347 -r1.1.2.600.2.348
*** desire.tk	12 Aug 2007 01:25:19 -0000	1.1.2.600.2.347
--- desire.tk	12 Aug 2007 03:49:06 -0000	1.1.2.600.2.348
***************
*** 5807,5810 ****
--- 5807,5811 ----
  	set canvas [$self get_canvas]
  	set t [$canvas widget].${self}text
+ 	set @ovalue $@text
  	set @clickpos [list $x $y]
  	set @mouse [list $x $y]
***************
*** 5820,5830 ****
  def AtomBox motion {x y f target} {
  	if {$@edit} {return}
! 	mset {ox oy} $@mouse
! 	set @text [expr $@text-$@rate*($y-$oy)]
! 	$self changed text
! 	set @mouse [list $x $y]
  	netsend [list .$self float [expr {0+$@text}]]
  }
  
  def AtomBox key_incr {val1 val2} {
  	set @text [expr $@text - $val2]
--- 5821,5852 ----
  def AtomBox motion {x y f target} {
  	if {$@edit} {return}
! 	mset {clx cly} $@clickpos
! 	set d [$self calc $x $y $clx $cly]
! 	if {[$self class] == "NumBox"} {
! 		set t [expr $@is_log ? $@ovalue*exp($d*$@rate*[$self log_ratio]) : $@ovalue+$d*$@rate]
! 		#set @text [expr $@is_log ? [expr $@min*exp($t*[$sealf log_ratio])] : $t]
! 	} else {
! 		set t [expr $@ovalue+$d*$@rate]
! 	}
! 	set @text [clip $t $@min $@max]
  	netsend [list .$self float [expr {0+$@text}]]
  }
  
+ def AtomBox log_ratio {} {
+ 	set diff [expr $@is_log ? log($@max/$@min) : ($@max-$@min)]
+ 	return [expr $diff / $@max]
+ }
+ 
+ def AtomBox calc {x y x1 y1} {
+ 	set span [expr $@max-$@min]
+ 	if {[$self class] == "NumBox"} {
+ 		set l [expr $@is_log ? $@log_height : ($@max-$@min)]
+ 	} else {set l [expr $@max-$@min]}
+ 	if {!$l} {set l 127}
+ 	set d [expr {($y1-$y)*$span/($l+0.0)}]
+ 	return $d
+ }
+ 
+ 
  def AtomBox key_incr {val1 val2} {
  	set @text [expr $@text - $val2]





More information about the Pd-cvs mailing list