diff options
Diffstat (limited to 'exists.tcl')
-rw-r--r-- | exists.tcl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/exists.tcl b/exists.tcl new file mode 100644 index 0000000..c927ac6 --- /dev/null +++ b/exists.tcl @@ -0,0 +1,35 @@ +package require Tclpd 0.2.3 +package require TclpdLib 0.19 + +proc+ exists::constructor {self args} { + # add second inlet (first created by default) + pd::add_inlet $self list + + # add outlet + pd::add_outlet $self list +} + +proc+ exists::0_symbol {self args} { + # HOT inlet + set @filename [lindex {*}$args 1] + exists::0_bang $self +} + +proc+ exists::0_anything {self args} { + # HOT inlet + set @filename [lindex {*}$args 1] + pd::post "anything: $@filename" + exists::0_bang $self +} + +proc+ exists::0_bang {self} { + if {$@filename == {}} return + pd::outlet $self 0 [list float [file exists $@filename]] +} + +proc+ exists::1_anything {self args} { + # COLD inlet + set @filename [lindex {*}$args 1] +} + +pd::class exists |