-
Notifications
You must be signed in to change notification settings - Fork 8
/
PATTERN.pd
303 lines (303 loc) · 7.64 KB
/
PATTERN.pd
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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
#N canvas 96 47 1184 712 10;
#X obj 75 21 inlet;
#X obj 75 65 s \$0_print_args;
#X obj 766 197 print -n;
#X obj 765 27 r \$0_print_args;
#X floatatom 390 223 5 0 0 0 - - -;
#X obj 390 200 * 6;
#X text 423 198 steps here are expressed in 1/16th \;;
#X obj 144 578 tabread \$0_sequence;
#X obj 144 650 outlet;
#X obj 390 330 unpack;
#X obj 390 412 tabwrite \$0_sequence;
#X obj 204 650 outlet;
#X obj 144 602 t b f;
#X text 205 671 raw value \;;
#X text 145 671 bang \;;
#X obj 474 330 unpack;
#X obj 507 384 * 6;
#X text 165 6 size is in ticks \; step is in 1/16th \;;
#X obj 245 96 s \$0_sequence;
#X msg 245 74 const 0;
#X obj 84 271 f;
#X obj 84 293 t f f;
#X obj 124 293 + 1;
#X obj 124 315 % 96;
#X obj 84 245 r \$1_trigger;
#X obj 184 239 r \$1_play;
#X obj 222 269 r \$1_stop;
#X obj 232 289 r \$1_continue;
#X msg 184 277 0;
#X obj 390 141 min 64;
#X text 441 137 max step size: 64 \;;
#X obj 55 204 array define \$0_sequence 384;
#X text 62 181 by default 64 steps;
#X obj 390 112 int;
#X obj 103 413 spigot;
#X obj 153 413 spigot;
#X obj 235 343 loadbang;
#X msg 235 365 1;
#X obj 272 399 sel 0 1;
#X msg 272 421 1;
#X msg 312 441 1;
#X msg 302 421 0;
#X msg 282 441 0;
#X obj 153 457 -;
#X obj 474 352 swap;
#X obj 390 352 swap;
#X obj 354 575 array get \$0_sequence;
#X obj 354 650 outlet;
#X text 355 671 pattern dump \;;
#X obj 354 544 b;
#X obj 616 295 list split 2;
#X obj 650 324 list;
#X msg 490 241 resize \$1;
#X obj 490 263 s \$0_sequence;
#X obj 84 366 t f f f;
#X obj 21 650 outlet;
#X obj 21 468 / 6;
#X text 16 670 step nr \;;
#X obj 21 489 int;
#X obj 21 512 change -1;
#X obj 21 533 t f f;
#X obj 21 557 spigot;
#X obj 81 557 spigot;
#X obj 81 601 -;
#X msg 108 517 set \$1 \, adddollar 1;
#X msg 81 579 15 \$1;
#X obj 108 493 - 1;
#X msg 765 51 PATTERN ARGS \, 1: clock ID \;;
#X obj 509 66 s \$0_print_methods;
#X obj 563 92 s \$0_print_outlets;
#X obj 783 74 r \$0_print_methods;
#X obj 799 130 r \$0_print_outlets;
#X msg 799 151 PATTERN OUTLETS \, 1: step number \, 2: bang (ticks)
\, 3: raw_value \, 4: pattern dump \;;
#X obj 75 43 route print_args size set step clear direction dump steps
print_methods print_outlets sync_rate, f 99;
#X obj 612 124 s \$0_sync_rate;
#X obj 659 430 r \$0_sync_rate;
#X obj 659 451 sel 0 1 2 3 4 5 6 7 8 9 10 11;
#X msg 659 472 96;
#X obj 666 535 s \$0_sync_rate_ticks;
#X msg 669 492 64;
#X msg 689 472 48;
#X msg 699 492 32;
#X msg 719 472 24;
#X msg 729 492 16;
#X msg 749 472 12;
#X msg 759 492 8;
#X msg 779 472 6;
#X msg 789 492 4;
#X msg 809 472 3;
#X msg 819 492 2;
#X obj 8 438 r \$0_sync_rate_ticks;
#X obj 447 156 r \$0_sync_rate_ticks;
#X obj 447 175 t b f;
#X obj 167 311 t f f;
#X msg 173 336 96 \$1;
#X obj 173 357 /;
#X floatatom 173 378 5 0 0 0 - - -;
#X msg 153 435 95 \$1;
#X obj 490 221 * 6;
#X obj 390 170 t f f f;
#X msg 417 293 set \$1 \, adddollar 1;
#X obj 417 273 - 1;
#X obj 390 251 t f f;
#X obj 153 497 int;
#X obj 153 476 * 2;
#X obj 412 452 r \$0_sync_rate_ticks;
#X obj 412 474 sel 96 64 48 32 24 16 12 8 6 4 3 2;
#X msg 532 495 1;
#X msg 542 515 1.5;
#X msg 562 495 2;
#X msg 572 515 3;
#X msg 502 495 0.5;
#X msg 472 495 0.25;
#X msg 512 515 0.75;
#X msg 442 495 0.125;
#X msg 412 495 0.0625;
#X msg 482 515 0.375;
#X msg 452 515 0.1875;
#X msg 422 515 0.09375;
#X obj 727 242 loadbang;
#X msg 754 299 6;
#X obj 144 547 change -1;
#X obj 252 527 r \$1_play;
#X msg 252 548 set -1;
#X msg 783 95 PATTERN METHODS \, size \, set \, step \, clear \, direction
\, dump \, steps \, sync_rate \;;
#X text 658 564 1 \, 1T \, 2 \, 2T \, 4 \, 4T \, 8 \, 8T \, 16 \, 16T
\, 32 \, 32T \;;
#X obj 727 268 t b b;
#X msg 727 299 16;
#X text 919 279 Copyright 2019-2020 Focusrite Audio Engineering Limited.
;
#X text 950 401 http://www.apache.org/licenses/LICENSE-2.0;
#X text 920 309 Licensed under the Apache License \, Version 2 (the
"License") \; you may not use this file except in compliance with the
License.;
#X text 920 366 You may obtain a copy of the License at;
#X text 920 431 Unless required by applicable law or agreed to in writing
\, software distributed under the License is distributed on an "AS
IS" BASIS \, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND \, either
express or implied.;
#X text 920 487 See the License for the specific language governing
permissions and limitations under the License.;
#X connect 0 0 73 0;
#X connect 3 0 67 0;
#X connect 4 0 102 0;
#X connect 5 0 4 0;
#X connect 7 0 12 0;
#X connect 9 0 45 0;
#X connect 9 1 45 1;
#X connect 12 0 8 0;
#X connect 12 1 11 0;
#X connect 15 0 44 0;
#X connect 15 1 44 1;
#X connect 16 0 10 1;
#X connect 19 0 18 0;
#X connect 20 0 21 0;
#X connect 21 0 54 0;
#X connect 21 1 22 0;
#X connect 22 0 23 0;
#X connect 23 0 20 1;
#X connect 24 0 20 0;
#X connect 25 0 28 0;
#X connect 28 0 20 1;
#X connect 29 0 99 0;
#X connect 33 0 29 0;
#X connect 34 0 104 0;
#X connect 35 0 97 0;
#X connect 36 0 37 0;
#X connect 37 0 34 1;
#X connect 37 0 61 1;
#X connect 38 0 39 0;
#X connect 38 0 42 0;
#X connect 38 1 41 0;
#X connect 38 1 40 0;
#X connect 39 0 34 1;
#X connect 39 0 61 1;
#X connect 40 0 35 1;
#X connect 40 0 62 1;
#X connect 41 0 34 1;
#X connect 41 0 61 1;
#X connect 42 0 35 1;
#X connect 42 0 62 1;
#X connect 43 0 104 0;
#X connect 44 0 10 0;
#X connect 44 1 16 0;
#X connect 45 0 10 0;
#X connect 45 1 10 1;
#X connect 46 0 47 0;
#X connect 49 0 46 0;
#X connect 50 0 15 0;
#X connect 50 1 51 0;
#X connect 51 0 50 0;
#X connect 52 0 53 0;
#X connect 54 0 56 0;
#X connect 54 1 34 0;
#X connect 54 2 35 0;
#X connect 56 0 58 0;
#X connect 58 0 59 0;
#X connect 59 0 60 0;
#X connect 60 0 61 0;
#X connect 60 1 62 0;
#X connect 61 0 55 0;
#X connect 62 0 65 0;
#X connect 63 0 55 0;
#X connect 64 0 65 0;
#X connect 65 0 63 0;
#X connect 66 0 64 0;
#X connect 67 0 2 0;
#X connect 70 0 124 0;
#X connect 71 0 72 0;
#X connect 72 0 2 0;
#X connect 73 0 1 0;
#X connect 73 1 33 0;
#X connect 73 2 9 0;
#X connect 73 3 15 0;
#X connect 73 4 19 0;
#X connect 73 5 38 0;
#X connect 73 6 49 0;
#X connect 73 7 50 0;
#X connect 73 8 68 0;
#X connect 73 9 69 0;
#X connect 73 10 74 0;
#X connect 75 0 76 0;
#X connect 76 0 77 0;
#X connect 76 1 79 0;
#X connect 76 2 80 0;
#X connect 76 3 81 0;
#X connect 76 4 82 0;
#X connect 76 5 83 0;
#X connect 76 6 84 0;
#X connect 76 7 85 0;
#X connect 76 8 86 0;
#X connect 76 9 87 0;
#X connect 76 10 88 0;
#X connect 76 11 89 0;
#X connect 77 0 78 0;
#X connect 79 0 78 0;
#X connect 80 0 78 0;
#X connect 81 0 78 0;
#X connect 82 0 78 0;
#X connect 83 0 78 0;
#X connect 84 0 78 0;
#X connect 85 0 78 0;
#X connect 86 0 78 0;
#X connect 87 0 78 0;
#X connect 88 0 78 0;
#X connect 89 0 78 0;
#X connect 90 0 56 1;
#X connect 91 0 92 0;
#X connect 92 0 5 0;
#X connect 92 1 5 1;
#X connect 93 0 23 1;
#X connect 93 1 94 0;
#X connect 94 0 95 0;
#X connect 95 0 96 0;
#X connect 97 0 43 0;
#X connect 98 0 52 0;
#X connect 99 0 5 0;
#X connect 99 1 66 0;
#X connect 100 0 97 0;
#X connect 101 0 100 0;
#X connect 102 0 93 0;
#X connect 102 1 101 0;
#X connect 103 0 121 0;
#X connect 104 0 103 0;
#X connect 105 0 106 0;
#X connect 106 0 115 0;
#X connect 106 1 118 0;
#X connect 106 2 114 0;
#X connect 106 3 117 0;
#X connect 106 4 112 0;
#X connect 106 5 116 0;
#X connect 106 6 111 0;
#X connect 106 7 113 0;
#X connect 106 8 107 0;
#X connect 106 9 108 0;
#X connect 106 10 109 0;
#X connect 106 11 110 0;
#X connect 107 0 104 1;
#X connect 108 0 104 1;
#X connect 109 0 104 1;
#X connect 110 0 104 1;
#X connect 111 0 104 1;
#X connect 112 0 104 1;
#X connect 113 0 104 1;
#X connect 114 0 104 1;
#X connect 115 0 104 1;
#X connect 116 0 104 1;
#X connect 117 0 104 1;
#X connect 118 0 104 1;
#X connect 119 0 126 0;
#X connect 120 0 78 0;
#X connect 121 0 7 0;
#X connect 122 0 123 0;
#X connect 123 0 121 0;
#X connect 124 0 2 0;
#X connect 126 0 127 0;
#X connect 126 1 120 0;
#X connect 127 0 33 0;