aboutsummaryrefslogtreecommitdiff
path: root/examples/dynroute.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'examples/dynroute.tcl')
-rw-r--r--examples/dynroute.tcl74
1 files changed, 37 insertions, 37 deletions
diff --git a/examples/dynroute.tcl b/examples/dynroute.tcl
index 2309ac7..04cb3c9 100644
--- a/examples/dynroute.tcl
+++ b/examples/dynroute.tcl
@@ -1,5 +1,5 @@
-package require Tclpd 0.2.1
-package require TclpdLib 0.17
+package require Tclpd 0.2.3
+package require TclpdLib 0.19
# dynroute: dynamically route messages based on first element
# non-matching arguments are sent to last inlet
@@ -10,48 +10,48 @@ package require TclpdLib 0.17
# remove <atom> <float> remove previously created routing
# clear
-pd::class dynroute {
- constructor {
- pd::add_inlet $self list
+proc+ dynroute::constructor {self args} {
+ pd::add_inlet $self list
- set @num_outlets [pd::arg 0 int]
- if {$@num_outlets < 0} {set @num_outlets 2}
+ set @num_outlets [pd::arg 0 int]
+ if {$@num_outlets < 0} {set @num_outlets 2}
- for {set i 0} {$i < $@num_outlets} {incr i} {
- pd::add_outlet $self list
- }
-
- set @routing {}
+ for {set i 0} {$i < $@num_outlets} {incr i} {
+ pd::add_outlet $self list
}
- 0_list {
- set sel [pd::arg 0 any]
- set out [expr {$@num_outlets-1}]
- catch {set out [dict get $@routing $sel]}
- pd::outlet $self $out list $args
- }
+ set @routing {}
+}
- 1_add {
- set sel [pd::arg 0 any]
- set out [pd::arg 1 int]
- if {$out < 0 || $out >= $@num_outlets} {
- pd::post "error: add: outlet number out of range"
- return
- }
- dict set @routing $sel $out
- }
+proc+ dynroute::0_list {self args} {
+ set sel [pd::arg 0 any]
+ set out [expr {$@num_outlets-1}]
+ catch {set out [dict get $@routing $sel]}
+ pd::outlet $self $out list $args
+}
- 1_remove {
- set sel [pd::arg 0 any]
- set out [pd::arg 1 int]
- if {$out < 0 || $out >= $@num_outlets} {
- pd::post "error: add: outlet number out of range"
- return
- }
- catch {dict unset @routing $sel $out}
+proc+ dynroute::1_add {self args} {
+ set sel [pd::arg 0 any]
+ set out [pd::arg 1 int]
+ if {$out < 0 || $out >= $@num_outlets} {
+ pd::post "error: add: outlet number out of range"
+ return
}
+ dict set @routing $sel $out
+}
- 1_clear {
- set @routing {}
+proc+ dynroute::1_remove {self args} {
+ set sel [pd::arg 0 any]
+ set out [pd::arg 1 int]
+ if {$out < 0 || $out >= $@num_outlets} {
+ pd::post "error: add: outlet number out of range"
+ return
}
+ catch {dict unset @routing $sel $out}
+}
+
+proc+ dynroute::1_clear {self} {
+ set @routing {}
}
+
+pd::class dynroute