#N canvas 499 81 572 530 10;
#X obj 0 750 cnv 15 552 21 empty empty empty 20 12 0 14 -233017 -33289
0;
#X obj 0 441 cnv 3 550 3 empty empty inlets 8 12 0 13 -228856 -1 0
;
#N canvas 622 171 367 336 META 1;
#X text 1 20 LICENSE SIBSD;
#X text 1 153 LIBRARY cyclone;
#X text 1 0 KEYWORDS swiss army knife multi purpose list processing
;
#X text 1 40 DESCRIPTION multi purpose list processing object a.k.a.
swiss army knife;
#X text 1 73 INLET_0 list message;
#X text 1 93 INLET_1 list float;
#X text 1 113 OUTLET_0 list;
#X text 1 133 OUTLET_1 float;
#X text 0 172 VERSION 0.1-alpha57;
#X text 0 190 AUTHOR Krzysztof Czaja;
#X text 1 208 RELEASE_DATE 2002;
#X text 2 227 WEBSITE http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html
;
#X text 2 259 HELP_PATCH_AUTHORS Christoph Kummerer. Revised by Jonathan
Wilkes for Pd-extended 0.42 to conform to the PDDP template. Alex Cleveland
updated this patch for Pd-l2ork version 2013.05.28. Fred Jan Kraan
adapted the patch to pd-extended 2015-02-02;
#X restore 501 752 pd META;
#X obj 0 553 cnv 3 550 3 empty empty outlets 8 12 0 13 -228856 -1 0
;
#X obj 0 627 cnv 3 550 3 empty empty arguments 8 12 0 13 -228856 -1
0;
#X obj 0 699 cnv 3 550 3 empty empty more_info 8 12 0 13 -228856 -1
0;
#N canvas 315 328 428 109 Related_objects 0;
#X obj 0 0 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
#X text 6 1 Related Objects;
#X restore 199 752 pd Related_objects;
#X obj 80 452 cnv 17 3 35 empty empty 0 5 9 0 16 -228856 -162280 0
;
#X obj 80 564 cnv 17 3 17 empty empty 0 5 9 0 16 -228856 -162280 0
;
#X obj 0 0 cnv 15 552 40 empty empty zl 3 12 0 18 -204280 -1 0;
#X obj 515 11 zl;
#X text 12 23 multi purpose list processing object a.k.a. swiss army
knife;
#X text 114 449 list;
#X obj 80 502 cnv 17 3 35 empty empty 1 5 9 0 16 -228856 -162280 0
;
#X text 114 523 float;
#X text 205 521 - change number of elements per group;
#X text 205 473 - change to <mode> and <int> number of elements per
group;
#X text 114 563 list;
#X text 205 563 - the processed list based on mode and number of elements
;
#X text 98 637 1) mode;
#X text 205 637 - mode can be group \, iter \, join \, len \, reg \,
rev \, rotate \, sect \, nth \, slice \, ecils \, or union;
#X text 98 670 2) float;
#X text 205 670 - intial number of elements per group;
#X text 30 54 zl supports multiple modes that perform various useful
tasks;
#X text 93 717 modes can be set as an arg or with a;
#X msg 329 717 mode mode_name [n];
#X msg 31 165 list a b;
#X msg 45 190 list c d e f;
#X obj 31 364 print group;
#X text 455 717 message.;
#X text 14 125 in group mode messages are grouped;
#X text 14 137 in numbers of elements:;
#X text 150 329 arg sets mode and optionally the;
#X text 151 340 number of elements to group;
#X msg 136 222 3;
#X msg 178 277 list a b c d e;
#X msg 178 298 list f g;
#X text 250 299 <- click again;
#X text 170 245 remaining items are stored and;
#X text 170 257 used for the next group:;
#X text 163 224 change nr of elements per group;
#X msg 381 187 1 2 3 4;
#X msg 369 165 1 2 3 4 5 6;
#X floatatom 468 269 5 0 0 0 - - -;
#X text 327 128 iter is similar to group but always;
#X msg 395 209 1;
#X text 327 140 sends out all available elements:;
#X msg 468 247 mode iter 4;
#X text 465 229 change nr here;
#X text 507 269 or here;
#X obj 369 319 print iter;
#N canvas 506 261 500 513 trivial 0;
#X obj 14 150 print len;
#X msg 14 52 this produces 3;
#X msg 25 74 and this should be five;
#X text 8 30 len outputs the nr. of elements:;
#X text 269 25 rev reverses:;
#X obj 271 152 print rev;
#X msg 280 68 10 9 8 7 6 5 4 3 2 1 0;
#X msg 271 45 way this something means this;
#X text 11 175 reg can be used to store lists:;
#X msg 12 198 this is sent out immediately;
#X obj 12 331 print reg;
#X msg 18 258 bang;
#X msg 93 230 this is just stored;
#X obj 261 336 print rotate;
#X msg 261 215 sometimes my grammar is all messed up;
#X text 260 195 master yoda says:;
#X msg 333 262 1 2 3 4 5 6 7 8;
#X floatatom 354 237 5 0 0 0 - - -;
#X text 249 215 1;
#X text 338 236 2;
#X text 318 263 3;
#X text 55 258 output last stored list;
#X text 258 175 rot rotates:;
#X text 13 365 nth sends out the nth element:;
#X obj 18 493 print nth;
#X floatatom 111 415 5 0 0 0 - - -;
#X msg 18 393 1 10 11 100 101 110 111 1000;
#X text 153 416 change 'n';
#X obj 2 4 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
#X obj 14 114 cyclone/zl len;
#X obj 12 296 cyclone/zl reg;
#X obj 18 457 cyclone/zl nth 3;
#X obj 261 303 cyclone/zl rot 3;
#X obj 271 107 cyclone/zl rev;
#X text 4 5 len \, rev \, reg \, rot and nth modes;
#X connect 1 0 29 0;
#X connect 2 0 29 0;
#X connect 6 0 33 0;
#X connect 7 0 33 0;
#X connect 9 0 30 0;
#X connect 11 0 30 0;
#X connect 12 0 30 1;
#X connect 14 0 32 0;
#X connect 16 0 32 0;
#X connect 17 0 32 1;
#X connect 25 0 31 1;
#X connect 26 0 31 0;
#X connect 29 0 0 0;
#X connect 30 0 10 0;
#X connect 31 0 24 0;
#X connect 32 0 13 0;
#X connect 33 0 5 0;
#X restore 461 410 pd trivial ones;
#X text 226 409 look here for rev \, len \, reg \, rot[ate]:;
#X text 30 65 on lists. the modes are group \, iter \, join \, len
\, reg \, rev \,;
#X text 30 76 rotate \, sect \, nth \, slice \, ecils or union.;
#X text 114 501 list;
#X text 205 499 - list to process;
#X text 205 449 - list to process;
#X obj 80 592 cnv 17 3 17 empty empty 1 5 9 0 16 -228856 -162280 0
;
#X text 114 591 list;
#X text 205 589 - the processed list based on where split is (slice
and ecils only);
#X text 114 472 message;
#X obj 31 336 cyclone/zl group 2;
#X msg 63 282 bang;
#X text 60 239 get the;
#X text 59 252 remainder;
#X text 61 263 out;
#X text 15 164 1;
#X text 20 187 2;
#X text 116 221 3;
#X text 158 275 4;
#X text 159 296 5;
#X text 46 282 6;
#X obj 369 294 cyclone/zl iter 3;
#X text 313 113 iter mode;
#X text 7 108 group mode;
#N canvas 461 403 432 300 sect 0;
#X msg 106 106 this is a list;
#X msg 193 128 this is another list;
#X text 103 42 are common to both input lists:;
#X obj 106 82 t b b;
#X obj 106 63 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 106 248 print sect;
#X text 103 32 sect outputs the elements that;
#X obj 106 194 cyclone/zl sect;
#X obj 2 3 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
#X text 6 4 sect mode;
#X connect 0 0 7 0;
#X connect 1 0 7 1;
#X connect 3 0 0 0;
#X connect 3 1 1 0;
#X connect 4 0 3 0;
#X connect 7 0 5 0;
#X restore 461 330 pd sect mode;
#N canvas 485 491 450 300 slice 0;
#X msg 80 103 1 2 3 4 5 6 7;
#X obj 80 256 print slice1;
#X obj 185 256 print slice2;
#X floatatom 185 154 5 0 0 0 - - -;
#X msg 92 127 a b c d e f g i;
#X text 78 35 slice is the only mode to use the 2nd;
#X text 79 48 outlet \, it divides the list into two;
#X text 79 61 lists at the specified element nr:;
#X text 221 152 change nr;
#X obj 80 202 cyclone/zl slice 3;
#X obj 3 2 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
#X text 6 3 slice mode;
#X connect 0 0 9 0;
#X connect 3 0 9 1;
#X connect 4 0 9 0;
#X connect 9 0 1 0;
#X connect 9 1 2 0;
#X restore 461 350 pd slice mode;
#N canvas 428 531 431 300 ecils 0;
#X msg 150 67 1 2 3 4 5 6 7;
#X floatatom 255 118 5 0 0 0 - - -;
#X msg 162 91 a b c d e f g i;
#X obj 150 250 print ecils1;
#X obj 255 251 print ecils2;
#X obj 150 177 cyclone/zl ecils 3;
#X text 116 47 ecils is the reverse of slice;
#X obj 2 3 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
#X text 5 4 ecils mode;
#X connect 0 0 5 0;
#X connect 1 0 5 1;
#X connect 2 0 5 0;
#X connect 5 0 3 0;
#X connect 5 1 4 0;
#X restore 461 370 pd ecils mode;
#N canvas 508 547 433 300 join 0;
#X obj 2 2 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0;
#X msg 82 57 mode join;
#X obj 173 258 print join;
#X msg 230 119 joined together;
#X obj 173 57 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 173 81 t b b;
#X text 67 57 1;
#X text 158 56 2;
#X msg 173 141 these are;
#X text 5 3 join mode;
#X text 56 32 here lists are \, well joined:;
#X obj 173 205 cyclone/zl;
#X connect 1 0 11 0;
#X connect 3 0 11 1;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 1 3 0;
#X connect 8 0 11 0;
#X connect 11 0 2 0;
#X restore 461 390 pd join mode;
#X connect 26 0 62 0;
#X connect 27 0 62 0;
#X connect 34 0 62 1;
#X connect 35 0 62 0;
#X connect 36 0 62 0;
#X connect 41 0 73 0;
#X connect 42 0 73 0;
#X connect 43 0 73 1;
#X connect 45 0 73 0;
#X connect 47 0 73 0;
#X connect 62 0 28 0;
#X connect 63 0 62 0;
#X connect 73 0 50 0;
