-
Notifications
You must be signed in to change notification settings - Fork 0
/
nano-seq.pd
297 lines (297 loc) · 7.04 KB
/
nano-seq.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
#N canvas 837 167 524 524 12;
#X obj 22 33 inlet;
#X obj 22 89 metro;
#X obj 22 118 f;
#X obj 60 118 + 1;
#X obj 22 147 mod 16;
#X obj 95 61 expr 60 / $f1 * 1000;
#X obj 95 33 inlet;
#X obj 22 414 outlet;
#N canvas 23 260 450 517 blinkenlights 0;
#X obj 48 23 inlet;
#X obj 48 107 s \$0-update-lights;
#X obj 80 79 s \$0-step;
#X obj 48 51 t b f;
#X connect 0 0 3 0;
#X connect 3 0 1 0;
#X connect 3 1 2 0;
#X restore 50 188 pd blinkenlights;
#N canvas 479 79 469 563 button-set 0;
#X obj 25 17 ctlin;
#X obj 25 75 f;
#X obj 25 46 select 127;
#X obj 25 104 moses 48;
#X obj 25 133 - 32;
#X obj 78 133 - 40;
#X obj 48 310 == 0;
#X text 180 278 just flip between 0 and 1;
#X obj 48 281 tabread \$0-seq;
#X obj 48 339 tabwrite \$0-seq;
#X obj 25 162 moses 8;
#X obj 78 162 moses 16;
#X text 124 47 only on;
#X text 162 127 map to 0-15;
#X obj 25 191 moses;
#X obj 57 219 +;
#X obj 75 191 r \$0-layer-offset;
#X obj 25 252 t b f f;
#X obj 25 371 s \$0-update-lights;
#X connect 0 0 2 0;
#X connect 0 1 1 1;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 3 1 5 0;
#X connect 4 0 10 0;
#X connect 5 0 11 0;
#X connect 6 0 9 0;
#X connect 8 0 6 0;
#X connect 10 0 14 0;
#X connect 11 0 14 0;
#X connect 14 1 15 0;
#X connect 15 0 17 0;
#X connect 16 0 15 1;
#X connect 17 0 18 0;
#X connect 17 1 8 0;
#X connect 17 2 9 1;
#X restore 298 284 pd button-set;
#X obj 298 257 table \$0-seq;
#N canvas 998 78 450 415 sliders-set 0;
#X obj 21 9 ctlin;
#X obj 37 37 moses 8;
#X obj 37 66 + 8;
#X obj 37 95 moses 16;
#X obj 100 66 - 16;
#X obj 100 95 moses 8;
#X obj 21 184 pack f f;
#X obj 21 212 tabwrite \$0-sliders;
#X obj 3 154 f;
#X obj 37 124 t b f;
#X obj 69 154 +;
#X obj 87 124 r \$0-layer-offset;
#X connect 0 0 8 1;
#X connect 0 1 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 3 0 9 0;
#X connect 4 0 5 0;
#X connect 5 0 9 0;
#X connect 6 0 7 0;
#X connect 8 0 6 0;
#X connect 9 0 8 0;
#X connect 9 1 10 0;
#X connect 10 0 6 1;
#X connect 11 0 10 1;
#X restore 298 338 pd sliders-set;
#X obj 298 311 table \$0-sliders;
#X obj 298 369 loadbang;
#X msg 298 398 const 127;
#X obj 298 427 s \$0-sliders;
#X obj 98 119 outlet;
#X text 239 19 turn the nanokontrol2into a step sequencer;
#N canvas 1219 224 450 625 read-tables 0;
#X obj 22 19 inlet;
#X obj 61 310 tabread \$0-seq;
#X obj 22 339 spigot;
#X obj 166 310 tabread \$0-sliders;
#X obj 22 368 pack f f;
#X obj 22 487 outlet;
#X obj 54 71 t b f;
#X obj 34 103 Uzi 16;
#X obj 73 131 - 1;
#X obj 73 190 * 16;
#X obj 93 219 +;
#X text 105 71 this step in each of our 16 layers;
#X obj 22 417 list prepend;
#X obj 22 446 list trim;
#X obj 111 190 s \$0-read-layer;
#X obj 103 392 r \$0-read-layer;
#X obj 22 310 f;
#X msg 88 40 0;
#X obj 93 246 t b f;
#X msg 125 101 1;
#X obj 73 160 t f f;
#X connect 0 0 16 1;
#X connect 0 0 6 0;
#X connect 1 0 2 1;
#X connect 2 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 12 0;
#X connect 6 0 7 0;
#X connect 6 1 10 1;
#X connect 7 2 8 0;
#X connect 8 0 20 0;
#X connect 9 0 10 0;
#X connect 10 0 18 0;
#X connect 12 0 13 0;
#X connect 13 0 5 0;
#X connect 15 0 12 1;
#X connect 16 0 2 0;
#X connect 17 0 6 0;
#X connect 18 0 16 0;
#X connect 18 1 1 0;
#X connect 18 1 3 0;
#X connect 19 0 8 0;
#X connect 20 0 9 0;
#X connect 20 1 14 0;
#X restore 22 329 pd read-tables;
#X text 36 270 step #;
#X text 239 64 inlet 1: toggle to playinlet 2: tempo (bpm)outlet
1: layer-index-value tripletoutlet 2: sync bangs;
#N canvas 1084 431 452 448 layer 0;
#X obj 44 30 ctlin;
#X obj 44 59 select 127;
#X obj 44 88 f;
#X obj 76 375 s \$0-layer;
#X obj 171 375 s \$0-layer-offset;
#X obj 76 229 f 0;
#X obj 76 176 t b b;
#X obj 119 176 t b b;
#X obj 76 258 +;
#X msg 108 229 -1;
#X msg 151 228 1;
#X obj 171 346 * 16;
#X obj 94 201 r \$0-layer;
#X obj 76 316 max 0;
#X obj 76 287 min 15;
#X obj 76 147 select 58 59;
#X floatatom 34 316 5 0 0 0 - - -, f 5;
#X text 176 147 track left and right buttons;
#X text 199 252 just count what the active layer isand incr/decr with
track buttons;
#X obj 44 117 t b f;
#X obj 44 418 s \$0-update-lights;
#X text 180 418 after setting layer;
#X floatatom 209 345 5 0 0 0 - - -, f 5;
#X connect 0 0 1 0;
#X connect 0 1 2 1;
#X connect 1 0 2 0;
#X connect 2 0 19 0;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 6 1 9 0;
#X connect 7 0 5 0;
#X connect 7 1 10 0;
#X connect 8 0 14 0;
#X connect 9 0 8 1;
#X connect 10 0 8 1;
#X connect 11 0 4 0;
#X connect 11 0 22 0;
#X connect 12 0 5 1;
#X connect 13 0 11 0;
#X connect 13 0 3 0;
#X connect 13 0 16 0;
#X connect 14 0 13 0;
#X connect 15 0 6 0;
#X connect 15 1 7 0;
#X connect 19 0 20 0;
#X connect 19 1 15 0;
#X restore 298 203 pd layer;
#N canvas 1040 260 463 474 lights 0;
#X obj 11 13 r \$0-update-lights;
#X obj 113 72 Uzi 16;
#X obj 152 101 - 1;
#X obj 152 130 t f f;
#N canvas 888 295 450 323 write-light 0;
#X obj 26 53 inlet;
#X obj 160 119 moses 8;
#X obj 160 148 + 32;
#X obj 206 148 + 40;
#X obj 26 175 pack f f;
#X obj 26 204 ctlout 1;
#X obj 26 82 unpack;
#X text 26 21 value \, step;
#X text 161 91 convert to light cc #;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 4 1;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 6 0 4 0;
#X connect 6 1 1 0;
#X restore 62 218 pd write-light;
#N canvas 923 396 450 323 read-step 0;
#X obj 53 27 inlet;
#X obj 53 93 +;
#X obj 71 64 r \$0-layer-offset;
#X obj 53 122 tabread \$0-seq;
#X obj 53 151 > 0;
#X text 83 92 get value on this layer;
#X obj 53 209 outlet;
#X obj 53 180 * 127;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 7 0 6 0;
#X restore 152 159 pd read-step;
#X obj 11 42 t b b;
#X text 16 273 loops through all lights on active layer \, writes
their on/off value to their cc \, then turns on the light for the
current step;
#N canvas 1045 355 450 323 clean-up 0;
#X obj 50 34 closebang;
#X obj 50 63 Uzi 16;
#X obj 50 92 - 1;
#X msg 50 121 0 \$1;
#X obj 50 150 outlet;
#X connect 0 0 1 0;
#X connect 1 2 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X restore 237 189 pd clean-up;
#X obj 152 188 pack f f;
#N canvas 497 500 450 323 show-step 0;
#X obj 35 28 inlet;
#X obj 35 87 f;
#X obj 53 59 r \$0-step;
#X obj 35 116 t b f;
#X obj 35 145 127;
#X obj 35 174 *;
#X obj 35 203 pack;
#X obj 131 30 r \$0-playing;
#X obj 35 232 outlet;
#X obj 131 59 t b f;
#X text 152 148 shows the current step when playing;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 3 0 4 0;
#X connect 3 1 6 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 9 0 1 0;
#X connect 9 1 5 1;
#X restore 11 125 pd show-step;
#X connect 0 0 6 0;
#X connect 1 2 2 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 3 1 9 1;
#X connect 5 0 9 0;
#X connect 6 0 10 0;
#X connect 6 1 1 0;
#X connect 8 0 4 0;
#X connect 9 0 4 0;
#X connect 10 0 4 0;
#X restore 298 230 pd lights;
#X obj 5 61 s \$0-playing;
#X connect 0 0 1 0;
#X connect 0 0 23 0;
#X connect 1 0 2 0;
#X connect 1 0 16 0;
#X connect 2 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 4 0 8 0;
#X connect 4 0 18 0;
#X connect 5 0 1 1;
#X connect 6 0 5 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 18 0 7 0;