aboutsummaryrefslogtreecommitdiff
path: root/doc/help/cyclone/zl-help.pd
blob: f5686ef3aff1bf15fd302e09c84c311803905f14 (plain)
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
#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;