aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/route-help.pd
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pddp/route-help.pd')
-rw-r--r--doc/pddp/route-help.pd522
1 files changed, 246 insertions, 276 deletions
diff --git a/doc/pddp/route-help.pd b/doc/pddp/route-help.pd
index b4dcca5f..627734dc 100644
--- a/doc/pddp/route-help.pd
+++ b/doc/pddp/route-help.pd
@@ -1,289 +1,259 @@
-#N canvas 190 100 1023 661 10;
-#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 376 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 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.
+#N canvas 0 0 555 619 10;
+#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -228856 -66577 0;
+#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header route 3 12 0 18
+-204280 -1 0;
+#X obj 0 240 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+-228856 -1 0;
+#N canvas 52 220 494 392 META 0;
+#X text 12 115 PLATFORM windows macosx gnulinux;
+#X text 12 195 LIBRARY internal;
+#X text 12 235 WEBSITE http://crca.ucsd.edu/~msp/;
+#X text 12 75 LICENSE SIBSD;
+#X text 12 215 AUTHOR Miller Puckette;
+#X text 12 295 HELP_PATCH_AUTHORS This help patch was updated for Pd
+version 0.38.4 by Dave Sabine and Hans-Christoph Steiner as part of
+a project called pddp proposed by Krzysztof Czaja to build comprehensive
+documentation for Pd. Jonathan Wilkes revised the patch to conform
+to the PDDP template for Pd version 0.42.;
+#X text 12 5 GENRE help;
+#X text 12 95 DESCRIPTION route message according to their first element
;
-#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 17 583 RELATED OBJECTS;
-#X obj 21 604 select;
-#X obj 68 604 trigger;
-#X obj 122 604 moses;
-#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 21 627 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
+#X text 12 25 NAME route;
+#X text 12 135 INLET_0 anything;
+#X text 12 155 OUTLET_N anything;
+#X text 12 175 OUTLET_R anything;
+#X text 12 45 KEYWORDS control needs_work list_op symbol_op list_op
+anything_op;
+#X text 12 255 RELEASE_DATE 1997;
+#X text 12 275 RELEASE_VERSION;
+#X restore 500 597 pd META;
+#X obj 0 362 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+13 -228856 -1 0;
+#X obj 0 471 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+0 13 -228856 -1 0;
+#X obj 0 567 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+0 13 -228856 -1 0;
+#N canvas 74 482 428 109 Related_objects 0;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
+14 -204280 -1 0;
+#X text 8 2 [route] Related Objects;
+#X obj 22 43 select;
+#X obj 72 43 spigot;
+#X obj 123 43 moses;
+#X restore 102 597 pd Related_objects;
+#X obj 78 249 cnv 17 3 105 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X obj 78 371 cnv 17 3 17 empty \$0-pddp.cnv.let.0 n 5 9 0 16 -228856
+-162280 0;
+#X obj 482 3 route;
+#X obj 455 20 pddp/pddplink http://wiki.puredata.info/en/route -text
+pdpedia: route;
+#X obj 187 113 route 0 1;
+#X msg 187 61 0 12;
+#X msg 225 61 1 13;
+#X msg 263 61 2 14;
+#X obj 238 156 print rejection_outlet;
+#X obj 187 200 print left_outlet;
+#X obj 238 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 212 178 print middle_outlet;
+#X obj 212 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -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
+#X obj 187 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X obj 673 518 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144
+#X msg 300 61 7 17;
+#X text 11 23 route messages according to their first element;
+#N canvas 11 63 516 509 float_mode 0;
+#X text 89 271 float;
+#X text 89 365 list;
+#X text 89 325 symbol;
+#X text 89 455 pointer;
+#X text 139 455 - a pointer is always sent to the rightmost outlet.
+;
+#X text 89 438 bang;
+#X text 139 271 - the incoming value is compared to the creation argument(s).
+If there is a match \, a bang is sent to the outlet corresponding to
+the matching creation argument. If there is no match the input is sent
+to the rightmost outlet.;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
+14 -204280 -1 0;
+#X text 8 2 [route] Message Handling in "Float Mode";
+#X obj 1 261 cnv 3 500 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+-228856 -1 0;
+#X obj 70 270 cnv 17 3 225 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X text 138 438 - a bang will be sent to the rightmost inlet.;
+#X text 88 481 All other messages will be sent to the rightmost outlet.
+;
+#X msg 141 50 2;
+#X msg 148 72 1 2 3;
+#X obj 141 167 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X obj 721 518 bng 15 250 50 0 empty empty list -2 23 1 12 -262144
+#X obj 162 167 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X obj 769 518 bng 15 250 50 0 empty empty undefined -18 23 1 12 -262144
+#X msg 169 116 something else;
+#X obj 204 167 print rejection_outlet;
+#X obj 141 233 print out0;
+#X obj 162 211 print out1;
+#X text 50 26 For "float mode" \, the first argument must be a float.
+;
+#X obj 141 142 route 1 2 3;
+#X obj 183 189 print out2;
+#X obj 183 167 bng 12 250 50 0 empty empty empty 17 7 0 10 -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 msg 158 94 3 dog night;
+#X text 139 325 - the symbol is compared to the creation arguments
+\, and a bang is sent to the corresponding outlet if there is a match.
;
-#X text 620 435 A list with only one symbol is translated to a symbol
+#X text 139 365 - the first element of the list is compared to the
+creation argument(s). If there is a match \, the first element is removed
+from the list \, and the remaining list is sent to the outlet corresponding
+to the matching creation argument. If there is no match the input is
+sent to the rightmost outlet.;
+#X connect 13 0 22 0;
+#X connect 14 0 22 0;
+#X connect 17 0 22 0;
+#X connect 22 0 15 0;
+#X connect 22 0 19 0;
+#X connect 22 1 16 0;
+#X connect 22 1 20 0;
+#X connect 22 2 23 0;
+#X connect 22 2 24 0;
+#X connect 22 3 18 0;
+#X connect 25 0 22 0;
+#X restore 171 306 pd float_mode;
+#X text 98 249 anything;
+#X text 168 249 - [route] handles its input in 3 different "modes"
+\, depending on what the creation arguments are. Click the subpatches
+below to see how message types are handled under each mode.;
+#X text 261 306 match float arguments;
+#N canvas 15 11 516 599 selector_mode 0;
+#X text 88 548 pointer;
+#X text 138 548 - a pointer is always sent to the rightmost outlet.
;
-#X obj 141 439 bng 15 250 50 0 empty empty big -4 23 1 12 -262144 -1
+#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
+14 -204280 -1 0;
+#X obj 0 389 cnv 3 500 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
+-228856 -1 0;
+#X obj 69 398 cnv 17 3 255 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X obj 68 244 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#X obj 189 439 bng 15 250 50 0 empty empty apple -7 23 1 12 -262144
+#X obj 101 244 bng 12 250 50 0 empty empty empty 17 7 0 10 -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 129 469 print x1;
-#X obj 189 469 print x2;
-#X obj 249 469 print x3;
-#X text 565 555 [trigger]-style shortcuts don't work:;
-#X text 678 574 !=;
-#X obj 579 575 route b f s l;
-#X obj 700 575 route bang float symbol list;
-#X obj 7 331 print x23;
-#X obj 75 331 print x54;
-#X obj 143 331 print x1;
-#X obj 204 331 print other;
-#X obj 82 293 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 109 293 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 137 293 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 161 293 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#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 "float". All messages that are not numbers will
-be output through the right-most outlet.;
-#N canvas 0 22 466 633 routing_data_types 0;
-#X obj 334 314 route symbol;
-#X obj 336 334 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 413 335 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 331 361 route symbol;
-#X obj 333 381 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 410 382 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 318 269 test;
-#X msg 357 269 symbol test;
-#X obj 58 331 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 135 331 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 55 378 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 132 378 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 89 266 bang;
-#X obj 56 311 route bang;
-#X obj 53 358 route bang;
-#X text 14 5 routing based on reserved words:;
-#X obj 188 331 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 265 331 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 185 378 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 262 378 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 186 311 route float;
-#X obj 183 358 route float;
-#X msg 170 266 1;
-#X msg 209 266 float 12;
-#X obj 181 542 route list;
-#X obj 181 561 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 249 562 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 168 580 route list;
-#X obj 168 599 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 236 600 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 184 493 list 1 two 3;
-#X msg 167 473 1 two 3;
-#X msg 200 513 list one 2 three;
-#X msg 365 289 symbol;
-#X msg 113 484 list;
-#X msg 224 287 float test;
-#X text 26 245 These all output the as same atom type that is routed:
+#X obj 203 262 print rejection_outlet;
+#X msg 68 59 der;
+#X obj 68 349 print out0;
+#X obj 101 327 print out1;
+#X text 7 1 [route] Message Handling in "Selector Mode";
+#X msg 92 690 foo;
+#X msg 101 718 symbol foo;
+#X obj 169 283 print out3;
+#X obj 92 840 print out0;
+#X obj 133 818 print out1;
+#X text 120 690 the selector "foo" matches the first argument;
+#X text 171 718 the selector "symbol" matches the second argument;
+#X text 88 398 bang;
+#X text 138 398 - if one of the creation arguments is "bang" \, then
+a bang will be sent out the corresponding outlet.;
+#X text 138 428 - if one of the creation arguments is "float" \, then
+an incoming float will be sent out the corresponding outlet.;
+#X text 88 428 float;
+#X text 88 458 list;
+#X text 138 458 - if one of the creation arguments is "list" \, then
+two behaviors are possible:;
+#X text 138 484 a) if the first element is a float \, the list is sent
+out the corresponding outlet.;
+#X text 138 509 b) if the first element is a symbol \, the "list" selector
+is removed \, and the remaining message is sent out the corresponding
+outlet.;
+#X text 88 568 symbol;
+#X text 138 568 - if one of the creation arguments is "symbol" \, then
+an incoming symbol will be sent out the corresponding outlet.;
+#X text 87 596 All other messages - the selector of the incoming message
+is compared to the creation argument(s). If there is a match \, the
+selector is stripped and the remaining message is sent to the corresponding
+outlet. If there is no match the input is sent to the rightmost outlet.
;
-#X msg 15 266 bang test;
-#X obj 71 131 route 1;
-#X msg 71 183 2 3 4;
-#X obj 71 164 prepend set;
-#X msg 71 100 1 2 3 4;
-#X msg 218 183 is not a list;
-#X obj 218 164 prepend set;
-#X obj 218 131 route this;
-#X msg 218 100 this is not a list;
-#X text 21 50 [route] has three modes \, first is float \, second is
-symbol \, and third is data type. In the first two modes \, the first
-element of the set is stripped off by [route].;
-#X text 26 206 In the third mode \, [route] outputs the same atom type
-(bang->bang \, float->float \, symbol->symbol).;
-#X text 26 419 Lists do not behave the same with [route list] even
-though it is interpreting incoming lists \, not just routing by keyword
-\, as in the second symbol mode.;
-#X msg 174 164 set;
-#X text 157 164 re;
-#X text 164 24 "bang" \, "float" \, "symbol" \, and "list";
-#X connect 0 0 1 0;
-#X connect 0 0 3 0;
-#X connect 0 1 2 0;
-#X connect 3 0 4 0;
-#X connect 3 1 5 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 12 0 13 0;
-#X connect 13 0 8 0;
-#X connect 13 0 14 0;
-#X connect 13 1 9 0;
-#X connect 14 0 10 0;
-#X connect 14 1 11 0;
-#X connect 20 0 16 0;
-#X connect 20 0 21 0;
-#X connect 20 1 17 0;
-#X connect 21 0 18 0;
-#X connect 21 1 19 0;
-#X connect 22 0 20 0;
-#X connect 23 0 20 0;
-#X connect 24 0 25 0;
-#X connect 24 0 27 0;
-#X connect 24 1 26 0;
-#X connect 27 0 28 0;
-#X connect 27 1 29 0;
-#X connect 30 0 24 0;
-#X connect 31 0 24 0;
-#X connect 32 0 24 0;
-#X connect 33 0 0 0;
-#X connect 34 0 24 0;
-#X connect 35 0 20 0;
-#X connect 37 0 13 0;
-#X connect 38 0 40 0;
-#X connect 40 0 39 0;
-#X connect 41 0 38 0;
-#X connect 43 0 42 0;
-#X connect 44 0 43 0;
-#X connect 45 0 44 0;
-#X connect 49 0 42 0;
-#X connect 49 0 39 0;
-#X restore 838 496 pd routing_data_types;
-#X text 580 601 This document was updated for Pd version 0.38.4 by
-Dave Sabine and Hans-Christoph Steiner as part of a project called
-pddp proposed by Krzysztof Czaja to build comprehensive documentation
-for Pd.;
-#X text 832 475 More info:;
-#X connect 0 0 64 0;
-#X connect 0 0 68 0;
-#X connect 0 1 65 0;
-#X connect 0 1 69 0;
-#X connect 0 2 66 0;
-#X connect 0 2 70 0;
-#X connect 0 3 67 0;
-#X connect 0 3 71 0;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 54 0;
-#X connect 3 0 57 0;
-#X connect 3 1 55 0;
-#X connect 3 1 58 0;
-#X connect 3 2 56 0;
-#X connect 3 2 59 0;
-#X connect 4 0 3 0;
-#X connect 5 0 3 0;
-#X connect 6 0 0 0;
-#X connect 9 0 44 0;
-#X connect 10 0 44 0;
-#X connect 11 0 44 0;
+#X text 91 667 Beware! All this can be confusing at times...;
+#X msg 84 103 das;
+#X obj 135 305 print out2;
+#X obj 135 244 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 169 244 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 108 182 doh;
+#X obj 203 244 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 74 81 die 41;
+#X text 49 36 In selector mode \, all creation arguments should be
+symbols.;
+#X obj 68 221 route der die das float;
+#X msg 93 125 float 41;
+#X msg 103 153 41;
+#X text 135 147 (Remember: a single float "n" in a message or object
+box is shorthand for "float n");
+#X text 134 181 sent to the rightmost outlet (the "rejection outlet")
+;
+#X obj 92 774 route foo symbol list;
+#X obj 174 796 print out2;
+#X msg 128 744 2 3 four;
+#X text 189 744 an implicit list-- matches the third argument;
+#X connect 8 0 39 0;
#X connect 12 0 44 0;
#X connect 13 0 44 0;
-#X connect 14 0 44 0;
-#X connect 18 0 0 0;
-#X connect 19 0 0 0;
-#X connect 20 0 3 0;
-#X connect 21 0 3 0;
-#X connect 38 0 45 0;
-#X connect 39 0 46 0;
-#X connect 41 0 44 0;
-#X connect 42 0 44 0;
-#X connect 43 0 44 0;
-#X connect 44 0 40 0;
-#X connect 44 1 38 0;
-#X connect 44 2 39 0;
-#X connect 44 3 47 0;
-#X connect 44 4 48 0;
-#X connect 49 0 44 0;
+#X connect 31 0 39 0;
+#X connect 35 0 39 0;
+#X connect 37 0 39 0;
+#X connect 39 0 5 0;
+#X connect 39 0 9 0;
+#X connect 39 1 6 0;
+#X connect 39 1 10 0;
+#X connect 39 2 32 0;
+#X connect 39 2 33 0;
+#X connect 39 3 14 0;
+#X connect 39 3 34 0;
+#X connect 39 4 7 0;
+#X connect 39 4 36 0;
+#X connect 40 0 39 0;
+#X connect 41 0 39 0;
+#X connect 44 0 15 0;
+#X connect 44 1 16 0;
+#X connect 44 2 45 0;
+#X connect 46 0 44 0;
+#X restore 171 334 pd selector_mode;
+#X text 277 334 match the selector of the message;
+#X obj 78 397 cnv 17 3 17 empty \$0-pddp.cnv.let.0 r 5 9 0 16 -228856
+-162280 0;
+#X text 98 398 anything;
+#X text 168 398 - the rightmost outlet of [route] is always the "rejection
+outlet." That is \, incoming messages which do not match any of the
+creation arguments are sent to the rightmost outlet.;
+#X text 168 372 - an outlet is added for each creation argument specified.
+;
+#X text 82 437 * An incoming pointer will never match and so will always
+be sent to the rejection outlet.;
+#X text 98 372 anything *;
+#X text 80 489 1) float;
+#X text 97 503 symbol atom;
+#X text 168 489 - [route] can take symbols or floats as arguments.
+(Note: the first argument determines which "mode" below.) If floats
+are used \, [route] operates in "float mode"-- if symbols are used
+\, float operates in "selector mode." See the subpatches above to see
+how incoming data is handled in each mode.;
+#X obj 4 597 pddp/pddplink pddp/help.pd -text help;
+#X obj 100 572 pddp/pddplink ../2.control.examples/18.conditional.pd
+-text doc/2.control.examples/18.conditional.pd;
+#X msg 300 85 Grizabella;
+#X connect 12 0 17 0;
+#X connect 12 0 21 0;
+#X connect 12 1 19 0;
+#X connect 12 1 20 0;
+#X connect 12 2 16 0;
+#X connect 12 2 18 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 12 0;
+#X connect 22 0 12 0;
+#X connect 41 0 12 0;