Update of /cvsroot/pure-data/abstractions/footils/list-abs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21770
Modified Files: list-math.pd Added Files: list-apply-help.pd list-apply.pd list-invint.pd list-makefilename-a.pd list-onearg-help.pd list-onearg.pd list-replace-help.pd list-replace.pd list-sieve-example-2.pd list-tabdump-help.pd list-tabdump.pd list-unitvec-help.pd list-unitvec.pd Log Message: list-apply added and some minor changes
--- NEW FILE: list-unitvec.pd --- #N canvas 344 49 431 402 10; #X obj 221 167 s $0-reset; #X obj 213 296 expr 1/sqrt($f1); #X obj 141 366 outlet; #X obj 141 145 inlet; #X obj 141 334 list-math *; #X obj 213 261 list-dotprod; #X obj 141 168 t a a a b; #X text 20 58 list-unitvec; #X text 38 78 make a unit vector out of any list , ignoring non-float elements (i.e. normalize a list geometrically); #X connect 1 0 4 1; #X connect 3 0 6 0; #X connect 4 0 2 0; #X connect 5 0 1 0; #X connect 6 0 4 0; #X connect 6 1 5 0; #X connect 6 2 5 1; #X connect 6 3 0 0;
--- NEW FILE: list-tabdump.pd --- #N canvas 276 57 581 612 10; #X obj 70 31 inlet; #X obj 88 285 f $2; #X obj 146 406 until; #X obj 185 446 + 1; #X obj 146 497 tabread $1; #X obj 215 444 symbol $1; #X msg 215 465 set $1; #X obj 146 526 list prepend; #X obj 241 526 t l; #X obj 69 557 list; #X obj 69 585 outlet; #X obj 106 256 unpack 0 0 s; #X obj 154 49 s $0-reset; #X obj 225 496 r $0-reset; #X obj 194 406 f $3; #X obj 146 446 f; #X obj 194 359 r $0-reset; #X obj 88 326 moses; #X obj 108 556 r $0-reset; #X obj 167 91 list-len; #X obj 88 118 list prepend; #X obj 88 146 route 0 1 2 3; #X obj 131 180 list append 0; #X obj 69 51 t b a a b; #N canvas 0 0 450 300 rot1 0; #X obj 173 193 list prepend; #X obj 151 44 inlet; #X obj 259 115 inlet; #X text 311 115 how often to rotate; #X obj 151 220 list; #X text 198 43 list to rotate; #X obj 151 250 outlet; #X text 267 194 move right part of list to left.; #X obj 151 70 t b a b; #X obj 174 152 list split 1; #X connect 0 0 4 1; #X connect 1 0 8 0; #X connect 2 0 9 1; #X connect 4 0 6 0; #X connect 8 0 4 0; #X connect 8 1 9 0; #X connect 8 2 0 1; #X connect 9 0 0 0; #X connect 9 1 0 1; #X restore 131 225 pd rot1; #X connect 0 0 23 0; #X connect 1 0 17 0; #X connect 2 0 15 0; #X connect 3 0 15 1; #X connect 4 0 7 0; #X connect 5 0 6 0; #X connect 6 0 4 0; #X connect 7 0 8 0; #X connect 7 0 9 1; #X connect 8 0 7 1; #X connect 9 0 10 0; #X connect 11 0 1 0; #X connect 11 1 14 0; #X connect 11 2 5 0; #X connect 13 0 7 1; #X connect 14 0 15 1; #X connect 15 0 3 0; #X connect 15 0 4 0; #X connect 16 0 14 0; #X connect 17 1 2 0; #X connect 18 0 9 1; #X connect 19 0 20 1; #X connect 20 0 21 0; #X connect 21 0 1 0; #X connect 21 1 1 0; #X connect 21 2 22 0; #X connect 21 3 24 0; #X connect 22 0 24 0; #X connect 23 0 9 0; #X connect 23 1 20 0; #X connect 23 2 19 0; #X connect 23 3 12 0; #X connect 24 0 11 0;
--- NEW FILE: list-apply-help.pd --- #N canvas 156 126 802 626 10; #X obj 78 317 list-apply + 1; #X msg 78 285 1 2 3 4; #X obj 78 344 print; #X msg 233 285 1 2 3 4; #X obj 233 347 print; #X text 29 23 list-apply: apply the object created by [arg1 arg2] on every list element and return the modified list.; #X floatatom 171 287 5 0 0 2 add_x - -; #X msg 360 264 set /synth%d/freq; #X text 129 126 Inlets:; #X text 165 168 2) inlet connected to the apply-operation's first inlet. ; #X text 164 191 3) inlet connected to the apply-operation's second inlet , if possible. (Not connected if there is no second inlet as is the case with for example makefilename.; #X msg 360 285 set count_%d...; #X msg 487 286 not used with makefilename; #X msg 77 396 1 2 3 4; #X obj 77 438 print; #X msg 288 397 1 2 3 4; #X obj 288 439 print; #X obj 388 379 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1 -1 3; #X obj 388 396 + 1; #X floatatom 198 398 5 0 0 2 moses-arg - -; #X text 128 74 Arguments:; #X text 163 92 Arg1 and arg2 are used to create the object whose operation is applied to the list elements.; #X text 164 148 1) the list to modify.; #X text 24 248 EXAMPLES:; #X obj 503 446 print; #X msg 503 366 1 2 3 3 3 4; #X msg 560 392 set 1; #X obj 645 447 print; #X msg 645 387 45 57 69; #X obj 79 551 print; #X msg 79 507 1 2 3 4; #X text 286 530 prepent is part of list-abs; #X obj 233 317 list-apply makefilename /synth%d/freq; #X obj 77 417 list-apply moses 3; #X obj 288 418 list-apply == 4; #X obj 503 418 list-apply change; #X obj 645 418 list-apply mtof; #X obj 79 528 list-apply prepent whatever; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 3 0 32 0; #X connect 6 0 0 2; #X connect 7 0 32 1; #X connect 11 0 32 1; #X connect 12 0 32 2; #X connect 13 0 33 0; #X connect 15 0 34 0; #X connect 17 0 18 0; #X connect 18 0 34 2; #X connect 19 0 33 2; #X connect 25 0 35 0; #X connect 26 0 35 1; #X connect 28 0 36 0; #X connect 30 0 37 0; #X connect 32 0 4 0; #X connect 33 0 14 0; #X connect 34 0 16 0; #X connect 35 0 24 0; #X connect 36 0 27 0; #X connect 37 0 29 0;
--- NEW FILE: list-onearg.pd --- #N canvas 160 304 587 350 10; #X obj 259 234 outlet; #X text 83 259 If the argument is not equal to 0 , use it. Pd init arguments to 0 so unused arguments will be 0; #X obj 143 116 select 0; #X text 82 296 This is useful to have internals inited , but not reset if there is no argument specified.; #X obj 143 190 select 0; #X text 275 172 if 2nd arg , then use as default value; #X obj 143 20 inlet; #X obj 259 13 inlet; #X text 297 14 convenience inlet; #X obj 143 96 list append $1; #X obj 143 169 list append $2; #X obj 143 55 bang; #X connect 2 0 10 0; #X connect 2 1 0 0; #X connect 4 1 0 0; #X connect 6 0 11 0; #X connect 7 0 0 0; #X connect 9 0 2 0; #X connect 10 0 4 0; #X connect 11 0 9 0;
--- NEW FILE: list-makefilename-a.pd --- #N canvas 424 89 624 640 10; #X msg 119 113 1 2 3 4 a b c; #X text 251 117 <- click to test; #X obj 196 386 list; #X obj 77 499 list; #X obj 100 385 list prepend; #N canvas 0 0 533 407 drip 0; #X obj 64 206 list split 1; #X obj 64 123 until; #X obj 64 181 list append; #X obj 194 206 bang; #X text 146 90 First store list , then start the loop; #X text 163 118 "until" bangs its output until told to stop by a "bang" to its right inlet.; #X text 182 160 Store the remaining list.; #X text 239 205 third outlet of "split" tells us to stop.; #X obj 64 243 outlet; #X obj 64 57 inlet; #X obj 64 86 t b l; #X text 237 44 From list-help.pd; #X connect 0 0 8 0; #X connect 0 1 2 1; #X connect 0 2 3 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 1 1; #X connect 9 0 10 0; #X connect 10 0 1 0; #X connect 10 1 2 1; #X restore 100 202 pd drip; #X obj 78 150 t b a b; #X obj 122 178 s $0-reset-result; #X obj 179 357 r $0-reset-result; #X text 260 177 clear result list; #X text 181 204 "Drip" (serialize) the list; #X text 258 389 Repack the list (think of the counter); #X text 124 496 Final result is built here; #X obj 78 81 inlet; #X obj 223 248 inlet; #X obj 77 530 outlet; #X obj 100 334 makefilename $1; #X obj 223 272 symbol; #X msg 223 293 set $1; #X text 148 27 Use as "list-makefilename makefilename-arg". Right inlet can be used to change the arg to makefilename.; #X connect 0 0 6 0; #X connect 2 0 4 1; #X connect 3 0 15 0; #X connect 4 0 2 0; #X connect 4 0 3 1; #X connect 5 0 16 0; #X connect 6 0 3 0; #X connect 6 1 5 0; #X connect 6 2 7 0; #X connect 8 0 4 1; #X connect 13 0 6 0; #X connect 14 0 17 0; #X connect 16 0 4 0; #X connect 17 0 18 0; #X connect 18 0 16 0;
Index: list-math.pd =================================================================== RCS file: /cvsroot/pure-data/abstractions/footils/list-abs/list-math.pd,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** list-math.pd 14 Nov 2005 09:54:35 -0000 1.2 --- list-math.pd 6 Apr 2006 06:01:11 -0000 1.3 *************** *** 7,11 **** #X obj 100 385 list prepend; #X floatatom 248 273 5 0 0 0 - - -; ! #N canvas 0 0 533 407 drip 0; #X obj 64 206 list split 1; #X obj 64 123 until; --- 7,11 ---- #X obj 100 385 list prepend; #X floatatom 248 273 5 0 0 0 - - -; ! #N canvas 0 0 533 407 drip 1; #X obj 64 206 list split 1; #X obj 64 123 until; *************** *** 19,24 **** #X obj 64 243 outlet; #X obj 64 57 inlet; - #X obj 64 86 t b l; #X text 237 44 From list-help.pd; #X connect 0 0 8 0; #X connect 0 1 2 1; --- 19,24 ---- #X obj 64 243 outlet; #X obj 64 57 inlet; #X text 237 44 From list-help.pd; + #X obj 64 86 t b a; #X connect 0 0 8 0; #X connect 0 1 2 1; *************** *** 27,33 **** #X connect 2 0 0 0; #X connect 3 0 1 1; ! #X connect 9 0 10 0; ! #X connect 10 0 1 0; ! #X connect 10 1 2 1; #X restore 100 242 pd drip; #X obj 78 150 t b a b; --- 27,33 ---- #X connect 2 0 0 0; #X connect 3 0 1 1; ! #X connect 9 0 11 0; ! #X connect 11 0 1 0; ! #X connect 11 1 2 1; #X restore 100 242 pd drip; #X obj 78 150 t b a b;
--- NEW FILE: list-replace-help.pd --- #N canvas 368 259 583 391 10; #X msg 287 266 0 1 2 3 4 5; #X obj 194 343 print RESULT; #X obj 240 244 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 -1 1; #X floatatom 240 265 5 0 0 0 - - -; #X obj 194 298 list-replace 2; #X text 50 32 list-replace: Replace the list starting at position POS with a new list , overwriting the old elements.; #X text 49 92 POS is zerobased and can be negative , in which case it is taken from the end of the orig. list.; #X text 49 67 Argument: default POS; #X text 49 129 If POS exceeds the length of the original list in whatever direction , is is prepended resp. appended to the orig. list.; #X msg 194 190 list aa bb; #X msg 194 216 list aa bb cc dd ee ff gg; #X msg 194 167 aa; #X connect 0 0 4 2; #X connect 2 0 3 0; #X connect 3 0 4 1; #X connect 4 0 1 0; #X connect 9 0 4 0; #X connect 10 0 4 0; #X connect 11 0 4 0;
--- NEW FILE: list-replace.pd --- #N canvas 281 128 614 631 10; #X obj 164 224 list; #X obj 327 98 inlet; #X obj 250 98 inlet; #X text 331 72 orig; #X text 256 74 pos; #X text 77 70 list to insert; #X obj 85 94 inlet; #X obj 164 254 list-splat $1; #X obj 272 231 list-len; #X obj 207 281 list split; #X obj 85 526 list; #X obj 85 598 outlet; #X obj 85 317 list prepend; #X obj 85 120 t a b a b; #X obj 85 430 list prepend 0; #X obj 250 125 t f f; #X obj 207 524 list prepend; #X obj 85 469 route 0 1; #X obj 316 347 f; #X obj 286 282 t a b; #X obj 316 377 > 0; #X obj 122 358 r $0-init; #X obj 122 377 0; #X obj 300 524 r $0-init; #X obj 176 317 r $0-init; #X obj 118 527 r $0-init; #X obj 159 131 s $0-init; #X text 47 25 list-replace: Replace the list starting at position POS with a new list , overwriting the old elements.; #X connect 0 0 7 0; #X connect 1 0 0 1; #X connect 2 0 15 0; #X connect 6 0 13 0; #X connect 7 0 12 1; #X connect 7 1 9 0; #X connect 7 2 19 0; #X connect 8 0 9 1; #X connect 9 1 10 1; #X connect 9 1 16 1; #X connect 10 0 11 0; #X connect 12 0 14 0; #X connect 13 0 12 0; #X connect 13 1 0 0; #X connect 13 2 8 0; #X connect 13 3 26 0; #X connect 14 0 17 0; #X connect 15 0 7 1; #X connect 15 1 18 1; #X connect 16 0 11 0; #X connect 17 0 10 0; #X connect 17 1 16 0; #X connect 18 0 20 0; #X connect 19 0 16 1; #X connect 19 0 10 1; #X connect 19 1 18 0; #X connect 20 0 14 1; #X connect 21 0 22 0; #X connect 22 0 14 1; #X connect 23 0 16 1; #X connect 24 0 12 1; #X connect 25 0 10 1;
--- NEW FILE: list-unitvec-help.pd --- #N canvas 0 0 450 300 10; #X obj 141 197 list-unitvec; #X obj 141 229 print; #X msg 158 163 1 1 0; #X msg 153 140 1 0 0; #X msg 149 108 0 2 2; #X msg 141 84 0 2 a 0; #X text 34 28 list-unitvec; #X text 52 48 make a unit vector out of any list , ignoring non-float elements (i.e. normalize a list geometrically); #X connect 0 0 1 0; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 4 0 0 0; #X connect 5 0 0 0;
--- NEW FILE: list-apply.pd --- #N canvas 0 0 554 590 10; #X obj 77 499 list; #X obj 100 385 list prepend; #X obj 78 150 t b a b; #X text 260 177 clear result list; #X text 175 242 "Drip" (serialize) the list; #X text 124 496 Final result is built here; #X obj 78 81 inlet; #X obj 210 271 inlet; #X obj 77 530 outlet; #X obj 100 307 $1 $2; #X text 164 307 do $1 $2 with each element; #X text 258 389 Repack the list; #X obj 196 386 t a; #X obj 163 270 inlet; #X text 276 272 two inlets for the apply-operation; #X obj 100 242 list-drip; #X connect 0 0 8 0; #X connect 1 0 0 1; #X connect 1 0 12 0; #X connect 2 0 0 0; #X connect 2 1 15 0; #X connect 2 2 1 1; #X connect 6 0 2 0; #X connect 7 0 9 1; #X connect 9 0 1 0; #X connect 12 0 1 1; #X connect 13 0 9 0; #X connect 15 0 9 0;
--- NEW FILE: list-sieve-example-2.pd --- #N canvas 630 119 650 767 10; #X obj 272 233 list-sieve; #X msg 207 155 0 5 7; #X msg 272 186 2 4 9; #X msg 337 206 11; #X obj 207 129 t b b b; #X obj 142 111 mod 12; #X floatatom 142 60 5 0 0 0 - - -; #X obj 142 83 t f f; #X obj 448 178 div 12; #X obj 448 204 * 12; #X msg 207 108 bang; #X obj 205 78 loadbang; #X obj 142 386 + 24; #X obj 142 360 list-drip; #X obj 448 270 t f; #X obj 448 97 t f; #X msg 193 300 0 4 7; #X msg 264 301 0 3 7; #X msg 332 302 0 3 6; #X obj 241 272 b; #X obj 140 484 rrad.fluid~ /fl; #X obj 148 432 pack 0 0; #X obj 144 457 list prepend 1; #X obj 148 676 ezdac~; #X obj 142 185 list-sieve; #X obj 207 212 list-sieve; #X obj 152 408 makenote 90 200; #X floatatom 151 142 5 0 0 0 - - -; #N canvas 0 0 450 300 add 0; #X obj 116 150 list-math +; #X obj 116 89 t b f; #X obj 116 121 list; #X obj 116 186 outlet; #X obj 175 86 inlet; #X obj 116 67 inlet; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 1 1 0 1; #X connect 2 0 0 0; #X connect 4 0 2 1; #X connect 5 0 1 0; #X restore 320 329 pd add; #N canvas 0 0 450 300 add 0; #X obj 116 150 list-math +; #X obj 116 89 t b f; #X obj 116 121 list; #X obj 116 186 outlet; #X obj 175 86 inlet; #X obj 116 67 inlet; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 1 1 0 1; #X connect 2 0 0 0; #X connect 4 0 2 1; #X connect 5 0 1 0; #X restore 218 329 pd add; #N canvas 0 0 450 300 add 0; #X obj 116 150 list-math +; #X obj 116 89 t b f; #X obj 116 121 list; #X obj 116 186 outlet; #X obj 175 86 inlet; #X obj 116 67 inlet; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 1 1 0 1; #X connect 2 0 0 0; #X connect 4 0 2 1; #X connect 5 0 1 0; #X restore 142 323 pd add; #X connect 0 0 28 0; #X connect 0 1 13 0; #X connect 1 0 24 1; #X connect 2 0 25 1; #X connect 3 0 0 1; #X connect 4 0 1 0; #X connect 4 1 2 0; #X connect 4 2 3 0; #X connect 4 2 19 0; #X connect 5 0 24 0; #X connect 5 0 27 0; #X connect 6 0 7 0; #X connect 7 0 5 0; #X connect 7 1 15 0; #X connect 8 0 9 0; #X connect 9 0 14 0; #X connect 10 0 4 0; #X connect 11 0 4 0; #X connect 12 0 26 0; #X connect 13 0 12 0; #X connect 14 0 12 1; #X connect 15 0 8 0; #X connect 16 0 30 1; #X connect 17 0 29 1; #X connect 18 0 28 1; #X connect 19 0 16 0; #X connect 19 0 17 0; #X connect 19 0 18 0; #X connect 20 0 23 0; #X connect 20 1 23 1; #X connect 21 0 22 0; #X connect 22 0 20 0; #X connect 24 0 30 0; #X connect 24 1 25 0; #X connect 25 0 29 0; #X connect 25 1 0 0; #X connect 26 0 21 0; #X connect 26 1 21 1; #X connect 28 0 13 0; #X connect 29 0 13 0; #X connect 30 0 13 0;
--- NEW FILE: list-invint.pd --- #N canvas 229 30 753 746 10; #X obj 133 132 inlet; #N canvas 0 0 533 407 drip 0; #X obj 64 206 list split 1; #X obj 64 123 until; #X obj 64 181 list append; #X obj 194 206 bang; #X text 146 90 First store list , then start the loop; #X text 163 118 "until" bangs its output until told to stop by a "bang" to its right inlet.; #X text 182 160 Store the remaining list.; #X text 239 205 third outlet of "split" tells us to stop.; #X obj 64 243 outlet; #X obj 64 57 inlet; #X obj 64 86 t b l; #X text 237 44 From list-help.pd; #X obj 143 243 outlet; #X connect 0 0 8 0; #X connect 0 1 2 1; #X connect 0 2 3 0; #X connect 0 2 12 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 1 1; #X connect 9 0 10 0; #X connect 10 0 1 0; #X connect 10 1 2 1; #X restore 99 255 pd drip; #X text 211 80 list-invint: Inverse intervals of a float list; #X msg 249 258 bang; #X obj 182 369 +; #X obj 275 504 t l; #X obj 182 504 list prepend; #X text 308 509 repack; #X msg 290 475 bang; #X msg 151 323 $1; #X obj 99 319 t b f; #X msg 198 324 0; #X obj 151 368 f; #X obj 143 540 list; #X msg 76 82 10 11 13 20; #X text 182 538 store; #X obj 143 570 outlet; #N canvas 0 0 406 401 inv-diff-of-last-2 0; #X obj 139 107 last-x 2; #X obj 139 138 unpack 0 0; #X obj 139 68 inlet; #X obj 139 175 -; #X obj 139 214 * -1; #X obj 139 245 outlet; #X obj 227 68 inlet; #X obj 225 92 2; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 1 1 3 1; #X connect 2 0 0 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 6 0 7 0; #X connect 7 0 0 1; #X restore 99 287 pd inv-diff-of-last-2; #X obj 133 183 t a a b b b; #X connect 0 0 18 0; #X connect 1 0 17 0; #X connect 1 1 13 0; #X connect 3 0 17 1; #X connect 4 0 12 1; #X connect 4 0 6 0; #X connect 5 0 6 1; #X connect 6 0 5 0; #X connect 6 0 13 1; #X connect 8 0 6 1; #X connect 9 0 12 0; #X connect 10 0 12 0; #X connect 10 1 4 1; #X connect 11 0 4 1; #X connect 12 0 4 0; #X connect 13 0 16 0; #X connect 14 0 18 0; #X connect 17 0 10 0; #X connect 18 0 1 0; #X connect 18 1 9 0; #X connect 18 2 11 0; #X connect 18 3 6 1; #X connect 18 4 17 1;
--- NEW FILE: list-tabdump-help.pd --- #N canvas 442 303 544 324 10; #X msg 277 80 0 1 2 3 4 5 6 7 8 9 10; #X obj 277 57 loadbang; #X msg 71 70 bang; #X obj 56 181 print dump; #X obj 278 165 loadbang; #X msg 278 188 0 10 20 30 40 50 60 70 80 90 100; #X obj 278 210 s y-dump; #X obj 278 236 table y-dump 10; #X obj 277 127 table x-dump 10; #X obj 277 102 s x-dump; #X floatatom 56 46 5 0 0 0 - - -; #X obj 235 356 r $0-reset; #X msg 113 91 list x-dump 3 4; #X msg 113 65 list x-dump 3; #X obj 56 146 list-tabdump x-dump 3 1; #X msg 114 119 list y-dump 1 3; #X msg 113 43 list-x-dump; #X text 203 43 wrong!; #X connect 0 0 9 0; #X connect 1 0 0 0; #X connect 2 0 14 0; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 10 0 14 0; #X connect 12 0 14 0; #X connect 13 0 14 0; #X connect 14 0 3 0; #X connect 15 0 14 0; #X connect 16 0 14 0;
--- NEW FILE: list-onearg-help.pd --- #N canvas 499 134 550 477 10; #X msg 195 65 bang; #X obj 195 132 print float; #X msg 49 65 bang; #X msg 51 197 bang; #X obj 51 264 print blank; #X msg 53 348 bang; #X obj 53 415 print blank_with_default; #X text 24 173 When there is a blank argument , there is no output: ; #X text 26 37 This object can take any kind of argument:; #X msg 276 349 bang; #X obj 276 416 print blank_with_default; #X msg 204 195 bang; #X obj 204 262 print blank; #X obj 49 132 print non-float; #X obj 49 101 list-onearg word; #X obj 53 384 list-onearg $1 default; #X obj 51 233 list-onearg; #X obj 204 231 list-onearg $1; #X obj 195 101 list-onearg 5; #X text 13 12 [list-onearg]; #X obj 276 385 list-onearg 0 256; #X text 32 295 If you set a second argument , it will be used as the default when the argument is blank. (0 is treated as no argument , too.); #X connect 0 0 18 0; #X connect 2 0 14 0; #X connect 3 0 16 0; #X connect 5 0 15 0; #X connect 9 0 20 0; #X connect 11 0 17 0; #X connect 14 0 13 0; #X connect 15 0 6 0; #X connect 16 0 4 0; #X connect 17 0 12 0; #X connect 18 0 1 0; #X connect 20 0 10 0;