aboutsummaryrefslogtreecommitdiff
path: root/controctopus/note-learner.pd
blob: a0bc7eee26fc82f2260bb2d248c6328d28c7f7db (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
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
304
#N canvas 311 44 1053 650 10;
#X obj 336 251 select;
#X obj 363 337 f;
#X obj 336 506 pack;
#X obj 336 277 t b b;
#X obj 102 293 nbx 2 14 1 128 0 0 \$0.pad.s \$0.pad.r Pad 32 7 0 11
-154432 -1 -1 1 256;
#X obj 102 276 nbx 2 14 0 127 0 0 \$0.note.s \$0.note.r Note 32 7 0
11 -260624 -1 -1 0 256;
#X obj 420 523 outlet;
#X obj 137 263 bng 13 250 50 0 \$0.learn-on empty empty 0 -6 0 8 -259541
-1 -1;
#X obj 103 265 bng 8 250 50 0 empty \$0.lite1 empty 0 -6 0 8 -1 -262085
-1;
#X obj 114 265 bng 8 250 50 0 empty \$0.lite2 empty 0 -6 0 8 -1 -262085
-1;
#X obj 125 265 bng 8 250 50 0 empty \$0.lite3 empty 0 -6 0 8 -1 -262085
-1;
#X obj 369 231 r \$0.note.v;
#X obj 351 308 r \$0.pad.v;
#X obj 336 209 spigot;
#X obj 152 263 nbx 2 13 1 64 0 0 \$0.device-number.s \$0.device-number.r
empty 0 -6 0 10 -110565 -1 -1 1 256;
#X obj 801 256 r \$0.note.v;
#X obj 755 234 spigot;
#X obj 722 112 polytouchin;
#X obj 722 303 spigot;
#X obj 41 411 instance lnote;
#X obj 722 204 / 127;
#X obj 378 278 / 127;
#N canvas 73 463 404 329 midi-learn 0;
#X text 238 89 Route Number;
#X obj 24 18 r \$0.learn-on;
#X obj 180 119 spigot;
#X obj 217 95 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 24 170 metro 250;
#X obj 24 227 route 0 1 2;
#X obj 73 80 t b b;
#X obj 24 145 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X text 287 62 Learn Time-Window;
#X obj 180 141 s \$0.note-r;
#X obj 217 62 pipe 1000;
#X obj 180 14 inlet;
#X obj 24 197 f 0;
#X obj 51 197 + 1;
#X msg 73 141 0;
#X obj 24 281 s \$0.lite1;
#X obj 104 281 s \$0.lite2;
#X obj 184 281 s \$0.lite3;
#X obj 77 197 mod 3;
#X connect 1 0 3 0;
#X connect 1 0 7 0;
#X connect 1 0 10 0;
#X connect 2 0 9 0;
#X connect 3 0 2 1;
#X connect 4 0 12 0;
#X connect 5 0 15 0;
#X connect 5 1 16 0;
#X connect 5 2 17 0;
#X connect 6 0 14 0;
#X connect 6 1 7 0;
#X connect 7 0 4 0;
#X connect 10 0 3 0;
#X connect 10 0 6 0;
#X connect 11 0 2 0;
#X connect 12 0 13 0;
#X connect 12 0 5 0;
#X connect 13 0 18 0;
#X connect 14 0 12 1;
#X connect 18 0 12 1;
#X restore 241 104 pd midi-learn;
#X obj 336 104 t a;
#X obj 365 104 t a;
#X obj 395 104 t a;
#X obj 349 53 notein;
#X text 345 33 Intercepts for looping back MIDI (e.g. from sft.schoen)
;
#X obj 755 273 ==;
#X obj 27 18 loadbang;
#X msg 27 40 1;
#X obj 336 583 s \$1\$2/note;
#X obj 722 166 t a;
#X obj 755 166 t a;
#X obj 788 166 t a;
#X obj 393 337 sel 0;
#X text 850 296 Relay initial velocity;
#X text 850 312 to polytouch to remove;
#X text 850 328 delay;
#X obj 336 337 f;
#N canvas 0 22 447 370 pad-select 0;
#X obj 80 39 inlet;
#X obj 99 141 spigot 1;
#X obj 99 277 outlet;
#X obj 126 234 s lastPad;
#X obj 126 207 spigot;
#X obj 159 183 r lastPadTgl;
#X obj 235 124 == 0;
#X msg 80 91 0;
#X obj 80 68 t a a a;
#X obj 168 68 spigot;
#X obj 168 89 s lastPad;
#X obj 80 112 s padSelect;
#X obj 235 99 r padSelect;
#X connect 0 0 8 0;
#X connect 1 0 4 0;
#X connect 1 0 2 0;
#X connect 4 0 3 0;
#X connect 5 0 4 1;
#X connect 6 0 1 1;
#X connect 7 0 11 0;
#X connect 8 0 7 0;
#X connect 8 1 1 0;
#X connect 8 2 9 0;
#X connect 9 0 10 0;
#X connect 12 0 6 0;
#X connect 12 0 9 1;
#X restore 336 456 pd pad-select;
#X obj 420 358 s \$0.velocity;
#X obj 767 303 r \$0.velocity;
#X obj 336 400 s \$0.note;
#X obj 363 379 s \$0.trigger;
#X obj 27 86 r \$1/solo;
#X obj 27 108 sel 0;
#X obj 54 132 sel \$2;
#X msg 27 166 1;
#X obj 27 196 s \$0.solo?;
#X msg 87 166 0;
#X obj 336 142 ifspigot \$0.solo? t 1;
#X obj 736 16 import-disabled nsend list-abs;
#X obj 27 63 s \$0.channel;
#N canvas 0 22 265 307 parse-channel 0;
#X obj 76 35 inlet;
#X obj 76 254 outlet;
#X obj 76 155 div 16;
#X obj 76 221 ==;
#X obj 91 199 r \$0.device-number.v;
#X obj 103 102 mod 16;
#X obj 76 72 t f f;
#X obj 103 122 s \$0.channel;
#X obj 76 174 + 1;
#X connect 0 0 6 0;
#X connect 2 0 8 0;
#X connect 3 0 1 0;
#X connect 4 0 3 1;
#X connect 5 0 7 0;
#X connect 6 0 2 0;
#X connect 6 1 5 0;
#X connect 8 0 3 0;
#X restore 395 169 pd parse-channel;
#X obj 396 54 nr PDNOTEIN 3;
#X obj 814 112 nr PDPOLYTOUCHIN 3;
#N canvas 0 22 265 307 parse-channel 0;
#X obj 76 35 inlet;
#X obj 76 254 outlet;
#X obj 76 155 div 16;
#X obj 76 221 ==;
#X obj 91 199 r \$0.device-number.v;
#X obj 103 102 mod 16;
#X obj 76 72 t f f;
#X obj 103 122 s \$0.channel;
#X obj 76 174 + 1;
#X connect 0 0 6 0;
#X connect 2 0 8 0;
#X connect 3 0 1 0;
#X connect 4 0 3 1;
#X connect 5 0 7 0;
#X connect 6 0 2 0;
#X connect 6 1 5 0;
#X connect 8 0 3 0;
#X restore 788 197 pd parse-channel;
#N canvas 282 148 271 319 send-polytouch 0;
#X msg 51 116 1;
#X obj 51 148 pack;
#X msg 110 99 set \$1;
#X obj 110 75 r \$0.pad.v;
#X obj 51 90 t b f;
#X obj 40 265 s;
#X obj 51 177 s \$1\$2/polytouch;
#X obj 55 222 list prepend \$3;
#X obj 55 202 r \$0.pad.v;
#X obj 40 63 inlet;
#X msg 55 243 symbol \$1*\$2/polytouch/in;
#X connect 0 0 1 0;
#X connect 1 0 6 0;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X connect 4 0 0 0;
#X connect 4 1 1 1;
#X connect 7 0 10 0;
#X connect 8 0 7 0;
#X connect 9 0 4 0;
#X connect 9 0 5 0;
#X connect 10 0 5 1;
#X restore 722 334 pd send-polytouch;
#N canvas 0 22 625 312 group-style-sends 0;
#X obj 221 237 s;
#X obj 236 172 r \$0.pad.v;
#X obj 236 193 list prepend \$3;
#X obj 221 132 r \$0.velocity;
#X obj 61 237 s;
#X obj 76 172 r \$0.pad.v;
#X obj 76 193 list prepend \$3;
#X obj 61 132 r \$0.note;
#X obj 412 132 r \$0.trigger;
#X obj 412 243 s;
#X obj 427 178 r \$0.pad.v;
#X obj 427 199 list prepend \$3;
#X obj 412 154 != 0;
#X msg 76 214 symbol \$1*\$2/note/in;
#X msg 236 214 symbol \$1*\$2/velocity/in;
#X msg 427 220 symbol \$1*\$2/trigger/in;
#X connect 1 0 2 0;
#X connect 2 0 14 0;
#X connect 3 0 0 0;
#X connect 5 0 6 0;
#X connect 6 0 13 0;
#X connect 7 0 4 0;
#X connect 8 0 12 0;
#X connect 10 0 11 0;
#X connect 11 0 15 0;
#X connect 12 0 9 0;
#X connect 13 0 4 1;
#X connect 14 0 0 1;
#X connect 15 0 9 1;
#X restore 451 457 pd group-style-sends;
#N canvas 0 22 220 213 gui-relay 0;
#X obj 56 77 prepent set;
#X obj 56 99 s \$1\$2/GUIR;
#X obj 56 126 r \$1\$2/GUI;
#X obj 56 49 inlet;
#X obj 56 157 outlet;
#X connect 0 0 1 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X restore 372 547 pd gui-relay;
#X obj 357 485 r \$0.trigger;
#X obj 336 428 r \$0.note;
#X obj 132 19 r \$1/devNo;
#X obj 132 46 s \$0.device-number.r;
#X obj 41 436 s \$0.pad.r;
#X obj 26 553 sssadie/sssadiez \$1 \$2 note 0 256 \$0;
#X obj 26 573 sssadie/sssadiez \$1 \$2 pad 0 256 \$0;
#X obj 26 533 sssadie/sssadiez \$1 \$2 device-number 0 256 \$0;
#X text 344 3 [note-learner /device /pad# /group(nonumber)];
#X connect 0 0 3 0;
#X connect 1 0 35 0;
#X connect 1 0 44 0;
#X connect 2 0 6 0;
#X connect 2 0 31 0;
#X connect 2 0 60 0;
#X connect 3 0 39 0;
#X connect 3 1 1 0;
#X connect 11 0 0 1;
#X connect 12 0 39 1;
#X connect 13 0 0 0;
#X connect 15 0 28 1;
#X connect 16 0 28 0;
#X connect 17 0 32 0;
#X connect 17 1 33 0;
#X connect 17 2 34 0;
#X connect 18 0 58 0;
#X connect 19 0 65 0;
#X connect 20 0 18 0;
#X connect 21 0 1 1;
#X connect 23 0 22 0;
#X connect 23 0 51 0;
#X connect 24 0 21 0;
#X connect 25 0 54 0;
#X connect 26 0 23 0;
#X connect 26 1 24 0;
#X connect 26 2 25 0;
#X connect 28 0 18 1;
#X connect 29 0 30 0;
#X connect 30 0 53 0;
#X connect 32 0 20 0;
#X connect 33 0 16 0;
#X connect 34 0 57 0;
#X connect 35 1 41 0;
#X connect 39 0 43 0;
#X connect 40 0 2 0;
#X connect 42 0 58 0;
#X connect 45 0 46 0;
#X connect 46 0 48 0;
#X connect 46 1 47 0;
#X connect 47 0 48 0;
#X connect 47 1 50 0;
#X connect 48 0 49 0;
#X connect 50 0 49 0;
#X connect 51 0 13 0;
#X connect 54 0 13 1;
#X connect 55 0 23 0;
#X connect 55 1 24 0;
#X connect 55 2 25 0;
#X connect 56 0 32 0;
#X connect 56 1 33 0;
#X connect 56 2 34 0;
#X connect 57 0 16 1;
#X connect 60 0 31 0;
#X connect 61 0 2 1;
#X connect 62 0 40 0;
#X connect 63 0 64 0;
#X coords 0 -1 1 1 81 60 1 100 250;