#N canvas 0 26 939 595 10; #X obj 4 4 cnv 15 400 40 empty empty empty 20 12 0 14 -262130 -66577 0; #X text 35 552 docs based on the MAX/MSP reference (c) cycling'74; #X text 34 566 ___________________________________________________ ; #X obj 25 21 zl; #X obj 250 488 zl; #X msg 159 403 mode join; #X obj 250 510 print join; #X msg 280 446 joined together; #X obj 250 401 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 250 425 t b b; #X text 143 369 in join mode lists are \, well joined:; #X text 144 403 1; #X text 233 402 2; #X msg 250 468 these are; #X text 23 49 zl supports multiple modes that perform various useful tasks; #X text 139 85 modes can be set as an arg or with a; #X msg 396 80 mode mode_name [n]; #X msg 38 154 list a b; #X msg 52 179 list c d e f; #X obj 38 353 print group; #X text 536 85 message.; #X text 21 114 in group mode messages are grouped; #X text 21 126 in numbers of elements:; #X text 20 153 1; #X text 20 178 2; #X text 121 318 arg sets mode and optionally the; #X text 122 329 number of elements to group; #X msg 103 211 3; #X text 86 211 3; #X msg 137 266 list a b c d e; #X msg 137 287 list f g; #X text 119 265 4; #X text 120 288 5; #X obj 38 325 zl group 2; #X text 209 288 <- click again; #X text 129 234 remaining items are stored and; #X text 129 246 used for the next group:; #X text 130 213 change nr of elements per group; #X obj 385 283 zl iter 3; #X msg 385 176 1 2 3 4; #X msg 358 154 1 2 3 4 5 6; #X floatatom 443 258 5 0 0 0 - - -; #X text 334 117 iter is similar to group but always; #X msg 399 200 1; #X text 334 129 sends out all available elements:; #X msg 443 236 mode iter 4; #X text 440 218 change nr here; #X text 485 258 or here; #X obj 385 308 print iter; #X msg 672 439 this is a list; #X msg 702 463 this is another list; #X text 669 375 are common to both input lists:; #X obj 672 415 t b b; #X obj 672 396 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 672 491 zl sect; #X obj 672 513 print sect; #X text 669 365 sect outputs the elements that; #X text 419 368 union sends out the contents of; #X msg 452 471 this is another list; #X obj 422 430 t b b; #X obj 422 412 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 422 492 zl union; #X obj 422 513 print union; #X msg 422 450 this is a list; #X text 420 381 both lists \, without repeating any; #X text 420 392 of the elements in both lists:; #N canvas 0 0 405 241 but.... 0; #X obj 89 95 t b b; #X obj 89 76 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 89 167 zl union; #X obj 89 191 print union_but; #X msg 89 119 this is a list list list; #X msg 119 143 this is is is another list; #X text 43 18 I'm not sure if it should be this way ...; #X text 42 29 either is is is or one list seems logical.; #X text 43 42 how does max do it ?; #X connect 0 0 4 0; #X connect 0 1 5 0; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 4 0 2 0; #X connect 5 0 2 1; #X restore 566 514 pd but....; #X text 506 519 more...:; #N canvas 196 86 643 551 trivial 0; #X obj 66 88 zl len; #X obj 66 111 print len; #X msg 41 40 this produces 3; #X msg 66 63 and this should be five; #X text 40 18 len outputs the nr. of elements:; #X text 301 16 rev reverses:; #X obj 303 83 zl rev; #X obj 303 108 print rev; #X msg 312 59 10 9 8 7 6 5 4 3 2 1 0; #X msg 303 36 way this something means this; #X text 32 163 reg can be used to store lists:; #X obj 33 284 zl reg; #X msg 33 186 this is sent out immediately; #X obj 33 310 print reg; #X msg 39 246 bang; #X msg 70 218 this is just stored; #X obj 293 308 print rotate; #X msg 293 219 sometimes my grammar is all messed up; #X obj 293 285 zl rot 3; #X text 292 199 master yoda says:; #X msg 321 261 1 2 3 4 5 6 7 8; #X floatatom 344 241 5 0 0 0 - - -; #X text 281 219 1; #X text 328 240 2; #X text 306 262 3; #X text 76 246 output last stored list; #X text 290 163 rot rotates:; #X text 34 365 nth sends out the nth element:; #X obj 39 445 zl nth 3; #X obj 39 469 print nth; #X floatatom 90 418 5 0 0 0 - - -; #X msg 39 393 1 10 11 100 101 110 111 1000; #X text 132 419 change 'n'; #X connect 0 0 1 0; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 6 0 7 0; #X connect 8 0 6 0; #X connect 9 0 6 0; #X connect 11 0 13 0; #X connect 12 0 11 0; #X connect 14 0 11 0; #X connect 15 0 11 1; #X connect 17 0 18 0; #X connect 18 0 16 0; #X connect 20 0 18 0; #X connect 21 0 18 1; #X connect 28 0 29 0; #X connect 30 0 28 1; #X connect 31 0 28 0; #X restore 778 41 pd trivial ones; #X text 506 44 look here for rev \, len \, reg \, rot[ate]:; #X obj 610 261 zl slice 3; #X msg 610 182 1 2 3 4 5 6 7; #X obj 610 315 print slice1; #X obj 675 288 print slice2; #X floatatom 675 233 5 0 0 0 - - -; #X msg 622 206 a b c d e f g i; #X text 608 114 slice is the only mode to use the 2nd; #X text 609 127 outlet \, it divides the list into two; #X text 609 140 lists at the specified element nr:; #X text 716 232 change nr; #X text 23 60 on lists. the modes are group \, iter \, join \, len \, reg \, rev \,; #X msg 780 178 1 2 3 4 5 6 7; #X floatatom 845 229 5 0 0 0 - - -; #X msg 792 202 a b c d e f g i; #X obj 780 257 zl ecils 3; #X obj 780 311 print ecils1; #X obj 845 284 print ecils2; #X text 746 158 ecils is the reverse; #X text 23 71 rotate \, sect \, nth \, slice \, ecils or union.; #N canvas 247 115 494 399 META 0; #X text 12 205 HELP_PATCH_AUTHORS Christoph Kummerer. Revised by Jonathan Wilkes for Pd-extended 0.42 to conform to the PDDP template.; #X text 12 175 WEBSITE http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html ; #X text 12 5 KEYWORDS control max_compatible; #X text 12 45 DESCRIPTION multi purpose list processing object a.k.a. swiss army knife; #X text 12 75 INLET_0 anything mode; #X text 12 115 OUTLET_0 anything; #X text 12 95 INLET_1 anything; #X text 12 135 OUTLET_1 anything; #X text 12 25 LICENSE SIBSD; #X text 12 155 AUTHOR Krzysztof Czaja; #X restore 889 572 pd META; #X text 71 21 multi purpose list processing object a.k.a. swiss army knife; #X connect 4 0 6 0; #X connect 5 0 4 0; #X connect 7 0 4 1; #X connect 8 0 9 0; #X connect 9 0 13 0; #X connect 9 1 7 0; #X connect 13 0 4 0; #X connect 17 0 33 0; #X connect 18 0 33 0; #X connect 27 0 33 1; #X connect 29 0 33 0; #X connect 30 0 33 0; #X connect 33 0 19 0; #X connect 38 0 48 0; #X connect 39 0 38 0; #X connect 40 0 38 0; #X connect 41 0 38 1; #X connect 43 0 38 0; #X connect 45 0 38 0; #X connect 49 0 54 0; #X connect 50 0 54 1; #X connect 52 0 49 0; #X connect 52 1 50 0; #X connect 53 0 52 0; #X connect 54 0 55 0; #X connect 58 0 61 1; #X connect 59 0 63 0; #X connect 59 1 58 0; #X connect 60 0 59 0; #X connect 61 0 62 0; #X connect 63 0 61 0; #X connect 70 0 72 0; #X connect 70 1 73 0; #X connect 71 0 70 0; #X connect 74 0 70 1; #X connect 75 0 70 0; #X connect 81 0 84 0; #X connect 82 0 84 1; #X connect 83 0 84 0; #X connect 84 0 85 0; #X connect 84 1 86 0;