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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
#N canvas 209 40 1015 653 10;
#X obj 7 331 print x1;
#X obj 69 331 print x2;
#X obj 131 331 print x3;
#X obj 194 331 print x4;
#X obj 82 273 route 23 54 1;
#X msg 170 239 54 43;
#X msg 212 239 1 foo bar;
#X obj 141 418 route big apple;
#X msg 351 386 1 2 3;
#X msg 248 376 big apple pie;
#X msg 320 238 walk the dog;
#X text 8 217 numeric arguments:;
#X text 16 356 symbolic arguments:;
#X msg 590 287 bang;
#X msg 621 405 list;
#X msg 622 438 list 5;
#X msg 593 307 symbol pie;
#X msg 596 327 pie;
#X msg 584 248 1 2 3;
#X obj 26 13 route;
#X text 67 13 - route messages according to their first element;
#X text 25 108 If a match is found \, and the message contains only
ONE element \, then a bang is sent out the corresponding outlet. If
a match if found \, and the message contains multiple elements (a list)
\, then all the list elements except the first element is sent out
the corresponding outlet. If no match is found \, then the entire message
is sent out the right-most outlet - the "rejection" outlet. The number
of outlets is the number of arguments plus one.;
#X text 176 265 In this case \, the creation arguments are all numbers
and [route] will therefore assume that it should attempt to match messages
that are data type 'number'. All messages that are not numbers will
be output through the right-most outlet.;
#X msg 18 239 23 345 456;
#X msg 96 239 420 34 45;
#X msg 32 376 apple pie;
#X msg 105 376 impeach ringo starr;
#X text 34 490 In this case \, the data type 'symbol' is implied by
the creation arguments and therefore this [route] object will match
symbols only. Symbolic messages that do not match any of the arguments
\, and all numbers \, will be output through the right-most outlet.
;
#X text 565 21 If necessary \, messages of different data types can
be matched by the [route] object if the data type is explictly defined
in the creation arguments.;
#X text 564 71 In the example below \, instead of matching the 'value'
of a message \, the [route] object will match 'data type': i.e. lists
will be sent through the first outlet \, floats will be sent through
the second outlet \, symbols through the third outlet \, bangs through
the fourth outlet. The fifth outlet will then output anything that
does not match one of the previously defined data types (i.e. the "pie"
message below is a text message that hasn't been defined as a 'symbol'
- hence \, PD cannot determine which data type it is and it will be
output through the right-most outlet).;
#X text 608 208 a float;
#X text 632 247 a list (of floats);
#X text 627 287 a bang;
#X text 672 307 a symbol;
#X text 630 328 none of the above!;
#X text 702 268 a list of symbols;
#X text 599 374 SPECIAL CASES OF LISTS.;
#X text 18 563 RELATED OBJECTS;
#X obj 22 584 select;
#X obj 67 584 trigger;
#X obj 119 584 moses;
#X text 378 588 This document was updated for PD version 0.35 test
26 by Dave Sabine as part of a project called pddp proposed by Krzysztof
Czaja to build comprehensive documentation for PD.;
#X text 26 36 Route checks the first element of a message against each
of its creation arguments \, which may be numbers or symbols (but not
a mixture of the two unless the data types are defined explicitly)
\, then sends the messages through the appropriate outlets.;
#N canvas 0 22 458 308 related_objects_from_other_libraries 0;
#X obj 26 33 segregate;
#X obj 104 34 multiselect;
#X text 18 86 These objects are offered in PD only if you have downloaded
and properly installed the appropriate library. These objects may or
may not exist in a single library.;
#X text 17 135 The best places to find information about PD's libraries
is:;
#X text 14 157 www.pure-data.org and click on "Downloads" then "Software"
;
#X text 15 173 or;
#X text 16 187 iem.kug.ac.at/pdb/;
#X obj 193 34 demux;
#X obj 245 34 gate;
#X restore 22 607 pd related_objects_from_other_libraries;
#X floatatom 625 526 5 0 0 0 - - -;
#X symbolatom 673 525 10 0 0 0 - - -;
#X obj 578 549 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144
-1 -1;
#X msg 622 475 list not-a-list;
#X msg 578 208 89;
#X msg 581 228 float 7;
#X obj 578 499 route bang float symbol list;
#X obj 625 549 bng 15 250 50 0 empty empty float -4 23 1 12 -262144
-1 -1;
#X obj 673 549 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144
-1 -1;
#X obj 721 549 bng 15 250 50 0 empty empty list -2 23 1 12 -262144
-1 -1;
#X obj 769 549 bng 15 250 50 0 empty empty undefined -18 23 1 12 -262144
-1 -1;
#X msg 587 268 list moon earth;
#X text 636 228 definitely a float!;
#X text 620 391 An empty list is translated into a bang;
#X text 620 424 A list with only one float is translated to a float
;
#X text 620 460 A list with only one symbol is translated to a symbol
;
#X obj 141 439 bng 15 250 50 0 empty empty big -4 23 1 12 -262144 -1
-1;
#X obj 189 439 bng 15 250 50 0 empty empty apple -7 23 1 12 -262144
-1 -1;
#X obj 237 439 bng 15 250 50 0 empty empty everything_else -2 23 1
12 -262144 -1 -1;
#X obj 286 326 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144
-1 -1;
#X obj 333 326 bng 15 250 50 0 empty empty float -4 23 1 12 -262144
-1 -1;
#X obj 381 326 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144
-1 -1;
#X obj 429 326 bng 15 250 50 0 empty empty everything_else -2 23 1
12 -262144 -1 -1;
#X obj 129 469 print x1;
#X obj 189 469 print x2;
#X obj 249 469 print x3;
#X connect 4 0 0 0;
#X connect 4 1 1 0;
#X connect 4 2 2 0;
#X connect 4 3 3 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 60 0;
#X connect 7 0 67 0;
#X connect 7 1 61 0;
#X connect 7 1 68 0;
#X connect 7 2 62 0;
#X connect 7 2 69 0;
#X connect 8 0 7 0;
#X connect 9 0 7 0;
#X connect 10 0 4 0;
#X connect 13 0 50 0;
#X connect 14 0 50 0;
#X connect 15 0 50 0;
#X connect 16 0 50 0;
#X connect 17 0 50 0;
#X connect 18 0 50 0;
#X connect 23 0 4 0;
#X connect 24 0 4 0;
#X connect 25 0 7 0;
#X connect 26 0 7 0;
#X connect 44 0 51 0;
#X connect 45 0 52 0;
#X connect 47 0 50 0;
#X connect 48 0 50 0;
#X connect 49 0 50 0;
#X connect 50 0 46 0;
#X connect 50 1 44 0;
#X connect 50 2 45 0;
#X connect 50 3 53 0;
#X connect 50 4 54 0;
#X connect 55 0 50 0;
|