aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/route-help.pd
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-04-28 00:25:05 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-04-28 00:25:05 +0000
commit061e4be1f20ac78e3b52bc6429322d5fadcf5831 (patch)
treec6449d7cf4a19547b97d234ef4c65251ee766c1d /doc/pddp/route-help.pd
parente30864640368dc4c25c309fb83365807955e832e (diff)
cleaned up a number of patches; renamed all to the standard -help.pd format; added some more ideas to the style guide; finished up lists_vs_anythings
svn path=/trunk/; revision=2841
Diffstat (limited to 'doc/pddp/route-help.pd')
-rw-r--r--doc/pddp/route-help.pd167
1 files changed, 167 insertions, 0 deletions
diff --git a/doc/pddp/route-help.pd b/doc/pddp/route-help.pd
new file mode 100644
index 00000000..bb87e568
--- /dev/null
+++ b/doc/pddp/route-help.pd
@@ -0,0 +1,167 @@
+#N canvas 103 43 1019 657 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 380 list;
+#X msg 622 413 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 349 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 588 603 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 466 316 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 498 5 0 0 0 - - -;
+#X symbolatom 673 497 10 0 0 0 - - -;
+#X obj 578 518 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144
+-1 -1;
+#X msg 622 450 list not-a-list;
+#X msg 578 208 89;
+#X msg 581 228 float 7;
+#X obj 578 474 route bang float symbol list;
+#X obj 625 518 bng 15 250 50 0 empty empty float -4 23 1 12 -262144
+-1 -1;
+#X obj 673 518 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144
+-1 -1;
+#X obj 721 518 bng 15 250 50 0 empty empty list -2 23 1 12 -262144
+-1 -1;
+#X obj 769 518 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 366 An empty list is translated into a bang;
+#X text 620 399 A list with only one float is translated to a float
+;
+#X text 620 435 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 text 526 557 [trigger]-style shortcuts don't work:;
+#X obj 538 577 route a b f l p s;
+#X text 667 576 !=;
+#X obj 689 577 route anything bang float list pointer symbol;
+#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;