#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;
