From 168687a9e48b387a0c397a6b3b90ab7cf72da91c Mon Sep 17 00:00:00 2001 From: Ivica Ico Bukvic <ico@vt.edu> Date: Wed, 28 Aug 2013 03:04:43 -0400 Subject: [PATCH] doc cleanup --- pd/doc/5.reference/route-help.pd | 623 +++++++++++++++++++++++++++---- 1 file changed, 543 insertions(+), 80 deletions(-) diff --git a/pd/doc/5.reference/route-help.pd b/pd/doc/5.reference/route-help.pd index 224fb0ea7..2293426d5 100644 --- a/pd/doc/5.reference/route-help.pd +++ b/pd/doc/5.reference/route-help.pd @@ -1,80 +1,543 @@ -#N canvas 0 0 815 537 12; -#X obj 183 213 print x1; -#X obj 261 213 print x2; -#X obj 339 213 print x3; -#X obj 422 213 print x4; -#X obj 183 185 route 23 54 1; -#X msg 183 155 234 345 456; -#X msg 308 155 23 34 45; -#X msg 414 155 54 43; -#X msg 485 155 1 foo bar; -#X msg 254 247 impeach ringo starr; -#X obj 191 275 route big apple; -#X msg 435 248 apple pie; -#X msg 191 247 1 2 3; -#X msg 523 248 big apple pie; -#X msg 578 155 walk the dog; -#X text 45 33 Route checks the first element of a message against each -of its arguments \, which may be numbers or symbols (but not a mixture -of the two.); -#X text 44 85 If a match is found \, the rest of the message appears -on the corresponding outlet. If no match \, the message is repeated -to the last "rejection" outlet. The number of outlets is the number -of arguments plus one.; -#X text 19 185 numeric arguments:; -#X text 17 275 symbolic arguments:; -#X obj 157 489 print z1; -#X obj 233 489 print z2; -#X msg 124 424 bang; -#X msg 170 424 list; -#X msg 213 424 5; -#X msg 251 424 float 5; -#X msg 320 424 list 5; -#X msg 385 424 symbol pie; -#X msg 560 424 pie; -#X msg 483 424 list pie; -#X msg 70 424 1 2 3; -#X obj 157 461 route list float symbol bang; -#X obj 310 489 print z3; -#X obj 387 489 print z4; -#X obj 461 489 print z5; -#X obj 191 305 print y1; -#X obj 269 305 print y2; -#X obj 347 305 print y3; -#X text 76 344 To avoid confusion between \, say \, the number 5 and -the list contining only the number 5 \, both messages match "float" -\, and ditto for symbols. An empty list matches "bang". In Pd these -are all considered special cases of lists.; -#X text 545 506 updated for Pd version 0.35; -#X text 97 9 - route messages according to their first element; -#X obj 43 8 route; -#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 4 0; -#X connect 8 0 4 0; -#X connect 9 0 10 0; -#X connect 10 0 34 0; -#X connect 10 1 35 0; -#X connect 10 2 36 0; -#X connect 11 0 10 0; -#X connect 12 0 10 0; -#X connect 13 0 10 0; -#X connect 14 0 4 0; -#X connect 21 0 30 0; -#X connect 22 0 30 0; -#X connect 23 0 30 0; -#X connect 24 0 30 0; -#X connect 25 0 30 0; -#X connect 26 0 30 0; -#X connect 27 0 30 0; -#X connect 28 0 30 0; -#X connect 29 0 30 0; -#X connect 30 0 19 0; -#X connect 30 1 20 0; -#X connect 30 2 31 0; -#X connect 30 3 32 0; -#X connect 30 4 33 0; +#N canvas 513 24 555 689 10; +#X obj 0 697 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 50 229 494 392 META 0; +#X text 12 85 PLATFORM windows macosx gnulinux; +#X text 12 165 LIBRARY internal; +#X text 12 205 WEBSITE http://crca.ucsd.edu/~msp/; +#X text 12 35 LICENSE SIBSD; +#X text 12 185 AUTHOR Miller Puckette; +#X text 12 245 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 105 INLET_0 anything; +#X text 12 125 OUTLET_N anything; +#X text 12 145 OUTLET_R anything; +#X text 12 5 KEYWORDS control needs_work list_op symbol_op list_op +anything_op; +#X text 12 225 RELEASE_DATE 1997; +#X text 12 55 DESCRIPTION route a message according to the selector +or first element; +#X restore 500 699 pd META; +#X obj 0 447 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0 +13 -228856 -1 0; +#X obj 0 576 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12 +0 13 -228856 -1 0; +#X obj 0 672 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 699 pd Related_objects; +#X obj 78 249 cnv 17 3 125 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 +-162280 0; +#X obj 78 456 cnv 17 3 17 empty \$0-pddp.cnv.let.0 n 5 9 0 16 -228856 +-162280 0; +#X obj 512 4 route; +#X obj 459 20 pddp/pddplink http://wiki.puredata.info/en/route -text +pdpedia: route; +#X obj 27 113 route 0 1; +#X msg 27 61 0 12; +#X msg 65 61 1 13; +#X msg 103 61 2 14; +#X obj 78 156 print rejection_outlet; +#X obj 27 200 print left_outlet; +#X obj 78 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 52 178 print middle_outlet; +#X obj 52 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 27 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 140 61 7 17; +#N canvas 414 108 517 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 0 0 cnv 15 515 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 129 167 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 169 116 something else; +#X obj 204 167 print rejection_outlet; +#X obj 141 239 print out0; +#X obj 162 217 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 195 print out2; +#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 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 obj 150 167 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 171 167 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X connect 13 0 21 0; +#X connect 14 0 21 0; +#X connect 16 0 21 0; +#X connect 21 0 18 0; +#X connect 21 0 15 0; +#X connect 21 1 19 0; +#X connect 21 1 26 0; +#X connect 21 2 22 0; +#X connect 21 2 27 0; +#X connect 21 3 17 0; +#X connect 23 0 21 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.; +#N canvas 289 73 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 0 0 cnv 15 515 21 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 56 244 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 89 244 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#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 text 91 667 Beware! All this can be confusing at times...; +#X msg 84 103 das; +#X obj 135 305 print out2; +#X obj 123 244 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 157 244 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 108 182 doh; +#X obj 191 244 bng 15 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 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 331 pd selector_mode; +#X obj 78 496 cnv 17 3 17 empty \$0-pddp.cnv.let.0 r 5 9 0 16 -228856 +-162280 0; +#X text 98 497 anything; +#X text 80 594 1) float; +#X text 168 594 - [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 699 pddp/pddplink all_about_help_patches.pd -text Usage Guide +; +#X obj 100 675 pddp/pddplink ../2.control.examples/18.conditional.pd +-text doc/2.control.examples/18.conditional.pd; +#X msg 140 85 Grizabella; +#X text 11 23 route a message according to the selector or first element +; +#N canvas 592 32 426 587 type_mode 0; +#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 7 1 [route] Message Handling in "Type Mode"; +#X msg 85 305 bang; +#X msg 96 348 symbol pie; +#X msg 99 368 pie; +#X msg 74 265 1 2 3; +#X text 93 224 a float; +#X text 119 264 a list (of floats); +#X text 122 305 a bang; +#X text 175 348 a symbol; +#X text 133 369 none of the above!; +#X text 178 284 a list of symbols; +#X floatatom 109 425 5 0 0 0 - - -, f 5; +#X symbolatom 157 424 10 0 0 0 - - -, f 10; +#X obj 62 445 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144 -1 +-1; +#X msg 62 225 89; +#X msg 68 245 float 7; +#X obj 62 401 route bang float symbol list; +#X obj 109 445 bng 15 250 50 0 empty empty float -4 23 1 12 -262144 +-1 -1; +#X obj 157 445 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 +-1 -1; +#X obj 205 445 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 +-1 -1; +#X obj 253 445 bng 15 250 50 0 empty empty undefined -18 23 1 12 -262144 +-1 -1; +#X msg 80 285 list moon earth; +#X text 123 243 definitely a float!; +#X text 49 482 [trigger]-style shortcuts don't work:; +#X text 162 501 !=; +#X obj 63 502 route b f s l; +#X obj 184 502 route bang float symbol list; +#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 msg 15 266 bang test; +#X obj 71 131 route 1; +#X msg 71 183; +#X obj 71 164 prepend set; +#X msg 71 100 1 2 3 4; +#X msg 218 183; +#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 71 549 pd routing_data_types; +#X text 47 529 More info:; +#X text 20 37 In type mode \, the arguments are zero or one of the +four reserved words: "bang" \, "float" \, "symbol" \, and "list". 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).; +#N canvas 0 22 450 300 special_cases_of_lists 0; +#X msg 87 54 list; +#X msg 88 87 list 5; +#X text 65 23 SPECIAL CASES OF LISTS.; +#X floatatom 107 188 5 0 0 0 - - -, f 5; +#X symbolatom 155 187 10 0 0 0 - - -, f 10; +#X obj 60 208 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144 -1 +-1; +#X msg 88 124 list not-a-list; +#X obj 60 164 route bang float symbol list; +#X obj 107 208 bng 15 250 50 0 empty empty float -4 23 1 12 -262144 +-1 -1; +#X obj 155 208 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 +-1 -1; +#X obj 203 208 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 +-1 -1; +#X obj 251 208 bng 15 250 50 0 empty empty undefined -18 23 1 12 -262144 +-1 -1; +#X text 86 40 An empty list is translated into a bang; +#X text 86 73 A list with only one float is translated to a float; +#X text 86 109 A list with only one symbol is translated to a symbol +; +#X connect 0 0 7 0; +#X connect 1 0 7 0; +#X connect 3 0 8 0; +#X connect 4 0 9 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 7 1 3 0; +#X connect 7 2 4 0; +#X connect 7 3 10 0; +#X connect 7 4 11 0; +#X restore 211 549 pd special_cases_of_lists; +#X obj 91 328 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 108 326 also a bang; +#X connect 2 0 17 0; +#X connect 3 0 17 0; +#X connect 4 0 17 0; +#X connect 5 0 17 0; +#X connect 12 0 18 0; +#X connect 13 0 19 0; +#X connect 15 0 17 0; +#X connect 16 0 17 0; +#X connect 17 0 14 0; +#X connect 17 1 12 0; +#X connect 17 2 13 0; +#X connect 17 3 20 0; +#X connect 17 4 21 0; +#X connect 22 0 17 0; +#X connect 32 0 17 0; +#X restore 171 356 pd type_mode; +#X text 277 356 match the type of the message; +#X text 277 331 match first symbol in the message; +#X text 261 306 match first float in the message; +#X text 98 457 anything; +#X text 168 540 An incoming pointer will never match and so will always +be sent to the rejection outlet.; +#X text 168 456 - an outlet is added for each argument. Messages that +match are output from the respective outlet with its first element +stripped off.; +#X text 168 497 - the rightmost outlet of [route] is always the "rejection +outlet." Incoming messages which do not match any of the arguments +are sent to the rightmost outlet unchanged.; +#X text 97 608 symbol; +#X obj 78 387 cnv 17 3 45 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856 +-162280 0; +#X text 98 386 float; +#N canvas 79 52 428 344 second_inlet 0; +#X floatatom 68 278 5 0 0 0 - - -, f 5; +#X floatatom 31 232 5 0 0 0 - - -, f 5; +#X floatatom 80 234 5 0 0 0 - - -, f 5; +#X obj 217 301 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 203 206 symbol word; +#X msg 217 228 symbol other; +#X msg 315 240 symbol other; +#X obj 274 301 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 312 216 symbol word; +#X obj 1 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 8 1 [route] The Second Inlet; +#X text 20 38 The right inlet is used to reset the argument's value +as in the patch below. This feature is available only on [route] objects +with only ONE creation argument (or no creation arguments in which +case it takes on the default value of 0). In the other examples with +multiple creation arguments \, you'll notice that this second inlet +is absent.; +#X obj 23 256 route 42; +#X obj 217 276 route word; +#X msg 23 210 42; +#X obj 217 255 list trim; +#X text 20 128 Also notice in the right example how symbols need to +be truncated of its symbol prefix using [list trim] or using a message. +Otherwise \, route will not recognize the value correctly.; +#X msg 164 206 word; +#X msg 125 182 symbol word; +#X obj 23 278 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X connect 1 0 12 0; +#X connect 2 0 12 1; +#X connect 4 0 15 0; +#X connect 5 0 15 0; +#X connect 6 0 13 1; +#X connect 8 0 13 1; +#X connect 12 0 19 0; +#X connect 12 1 0 0; +#X connect 13 0 3 0; +#X connect 13 1 7 0; +#X connect 14 0 12 0; +#X connect 15 0 13 0; +#X connect 17 0 13 0; +#X connect 18 0 13 0; +#X restore 171 416 pd second_inlet; +#X text 98 400 symbol; +#X text 167 386 - the right inlet is available if there is only one +creation argument. See the subpatch below for details:; +#X obj 258 145 route word; +#X obj 269 110 list trim; +#X obj 315 168 print rejection_outlet; +#X obj 258 192 print left_outlet; +#X symbolatom 355 86 10 0 0 0 - - -, f 10; +#X symbolatom 334 119 10 0 0 0 - - -, f 10; +#X text 398 119 This one doesn't work; +#X msg 269 85 symbol word; +#X msg 258 60 word; +#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 33 0 12 0; +#X connect 49 0 52 0; +#X connect 49 1 51 0; +#X connect 50 0 49 0; +#X connect 53 0 50 0; +#X connect 54 0 49 0; +#X connect 56 0 50 0; +#X connect 57 0 49 0; -- GitLab