From 9ea4e9fc1b4775a0e6b1c387a2a0965686c1c20e Mon Sep 17 00:00:00 2001 From: mescalinum Date: Fri, 14 Oct 2011 21:32:49 +0000 Subject: reorder tcl land into namespaces and streamline and standardize syntax svn path=/trunk/externals/loaders/tclpd/; revision=15600 --- examples/dynroute.tcl | 74 +++++++++++++++++++++++++-------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) (limited to 'examples/dynroute.tcl') 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 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 -- cgit v1.2.1