1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
#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;
|