aboutsummaryrefslogtreecommitdiff
path: root/examples/list_change.tcl
blob: 307e6295e936e5843345370395866f8d4031b77f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package require Tclpd 0.3.0
package require TclpdLib 0.20

proc+ list_change::constructor {self args} {
    # add second inlet (first created by default)
    pd::add_inlet $self list

    # add outlet
    pd::add_outlet $self list

    set @curlist {}
}

proc+ list_change::0_list {self args} {
    # HOT inlet
    if {$args ne $@curlist} {
        set @curlist $args
        pd::outlet $self 0 list $@curlist
    }
}

proc+ list_change::0_bang {self} {
    if {$@curlist eq {}} return
    pd::outlet $self 0 list $@curlist
}

proc+ list_change::1_list {self args} {
    # COLD inlet
    set @curlist $args
}

pd::class list_change