[PD-cvs] pd/src desire.tk,1.1.2.600.2.294,1.1.2.600.2.295
chunlee
chunlee at users.sourceforge.net
Mon Aug 6 21:24:25 CEST 2007
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26069
Modified Files:
Tag: desiredata
desire.tk
Log Message:
Keyboard macro part II
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.294
retrieving revision 1.1.2.600.2.295
diff -C2 -d -r1.1.2.600.2.294 -r1.1.2.600.2.295
*** desire.tk 6 Aug 2007 16:17:12 -0000 1.1.2.600.2.294
--- desire.tk 6 Aug 2007 19:24:21 -0000 1.1.2.600.2.295
***************
*** 342,347 ****
set r {}
foreach event $@list {
! mset {type W X Y mod K k} $event
! lappend r [format "%-13s %9s %4d %4d %4d %4d %s" $type $K $k $X $Y $mod $W]
}
return $r
--- 342,347 ----
set r {}
foreach event $@list {
! mset {type W X Y x y mod K k} $event
! lappend r [format "%-13s %9s %4d %4d %4d %4d %4d %4d %s" $type $K $k $X $Y $x $y $mod $W]
}
return $r
***************
*** 533,542 ****
foreach type {KeyPress KeyRelease} {
foreach {subtype mod} $mods {
! bind all <$subtype$type> "$::event_history add \[list $type %W %X %Y $mod %K %k\]"
}
}
foreach type {ButtonPress ButtonRelease} {
foreach {subtype mod} $mods {
! bind all <$subtype$type> "$::event_history add \[list $type %W %X %Y $mod %b %b\]"
}
}
--- 533,542 ----
foreach type {KeyPress KeyRelease} {
foreach {subtype mod} $mods {
! bind all <$subtype$type> "$::event_history add \[list $type %W %X %Y %x %y $mod %K %k\]"
}
}
foreach type {ButtonPress ButtonRelease} {
foreach {subtype mod} $mods {
! bind all <$subtype$type> "$::event_history add \[list $type %W %X %Y %x %y $mod %b %b\]"
}
}
***************
*** 2232,2241 ****
--- 2232,2246 ----
def Macro init {} {
$::event_history subscribe $self
+ set @idx 0
set @state 0
set @list {}
+ set @delay 200
}
def Macro state= {val} {set @state $val; if {$val} {set @list {}; puts "start recording macro..."} {puts "end..."}}
def Macro state {} {return $@state}
def Macro dump {} {set i 0; foreach step $@list {puts "step $i -> $step"; incr i}}
+ def Macro idx= {val} {set @idx $val}
+ def Macro idx {} {return $@idx}
+ def Macro delay {} {return $@delay}
def Macro notice {args} {
***************
*** 2249,2282 ****
}
! def Macro add {mess} {lappend @list $mess}
! def Macro play {} {
set i 0
set focus [string range [focus] 1 [string first . [focus] 2]-1]
! foreach step $@list {
! mset {event widget x y mode k kval} $step
! if {[regexp {^Control_} $k]} {continue}
! if {[regexp {^Alt_} $k]} {continue}
! if {[regexp {^Shift_} $k]} {continue}
! switch $event {
! KeyPress {
!
! set name [modekey $k $mode]
! $self run $name $x $y
! #set w [focus]
! #puts "np::::: $i $name -- $widget $x $y"
! #incr i
! }
! ButtonPress {$self run $event-$k $x $y}
! ButtonRelease {$self run $event-$k $x $y}
! }
}
}
! def Macro run {name x y} {
! #mset {event widget x y mode k kval} $step
set w [focus]
! puts "$w $name"
! event generate $w <$name>
}
--- 2254,2288 ----
}
! def Macro add {mess} {
! mset {event widget X Y x y mode k kval} $mess
! if {[regexp {^Control_} $k]} {return}
! if {[regexp {^Alt_} $k]} {return}
! if {[regexp {^Shift_} $k]} {return}
! if {$event == "KeyRelease"} {return}
! lappend @list $mess
! }
! def Macro play {delay} {
! if {$@idx == [llength $@list]} {return}
set i 0
set focus [string range [focus] 1 [string first . [focus] 2]-1]
! set step [lindex $@list $@idx]
! mset {event widget X Y x y mode k kval} $step
! switch $event {
! KeyPress {set name [modekey $k $mode]}
! ButtonPress {set name $event-$k}
! ButtonRelease {set name $event-$k}
! default {puts "Error: this event should not have been here.."}
! }
! if {$@idx < [llength $@list]} {
! after $delay [list $self run $event $name $X $Y $x $y]
}
}
! def Macro run {event name X Y x y} {
set w [focus]
! incr @idx
! event generate $w <$name> -x $x -y $y
! $self play $@delay
}
***************
*** 2285,2290 ****
set ::macro_state 0
! def Canvas macro_toggle {} {if {![$::macro state]} {set ::macro_state 1} {$::macro state= 0}}
! def Canvas macro_play {} {$::macro play}
def Canvas keyevent {} {
focus [$self widget]
--- 2291,2296 ----
set ::macro_state 0
! def Canvas macro_toggle {} {if {![$::macro state]} {set ::macro_state 1} {$::macro state= 0; $::macro dump}}
! def Canvas macro_play {} {$::macro idx= 0; $::macro play [$::macro delay]}
def Canvas keyevent {} {
focus [$self widget]
More information about the Pd-cvs
mailing list