File: kbd.pd

package info (click to toggle)
pd-upp 0.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 576 kB
  • sloc: makefile: 13
file content (306 lines) | stat: -rw-r--r-- 7,766 bytes parent folder | download | duplicates (3)
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
305
306
#N canvas 18 26 722 672 10;
#X obj 43 91 keyname;
#X symbolatom 90 117 10 0 0 0 - - -;
#X obj 249 88 loadbang;
#X obj 249 108 symbol \$1;
#X msg 264 201 list a w s e d f t g z h u j k o l p   + #;
#X text 595 225 FR;
#X text 607 251 ES;
#X text 582 202 DE_de DE_at;
#X text 557 177 EN_us EN_gb;
#X msg 281 226 list q z s e d f t g y h u j k o l p m  $;
#X obj 249 132 select en us de fr es;
#X obj 43 116 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 61 116 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 43 502 swap;
#X obj 43 528 pack;
#X obj 43 605 outlet;
#X text 41 624 note on/off;
#X obj 150 396 * 12;
#X obj 176 90 key;
#X obj 89 374 nbx 5 14 -1e+37 1e+37 0 0 empty empty note 0 -8 0 10
-262144 -1 -1 3 256;
#X obj 150 375 nbx 5 14 -1e+37 1e+37 0 0 empty empty octave 0 -8 0
10 -262144 -1 -1 5 256;
#X obj 425 85 inlet;
#X obj 425 106 list trim;
#X obj 426 124 list prepend symbol;
#X obj 426 142 list trim;
#X text 469 88 digest selector and symbol;
#N canvas 1054 261 233 228 octave 0;
#X obj 47 80 moses 49;
#X text 127 98 >=;
#X text 52 96 <;
#X obj 48 111 select 48;
#X obj 129 133 - 49;
#X obj 48 195 outlet;
#X obj 48 47 inlet;
#X obj 129 112 moses 58;
#X msg 48 132 9;
#X connect 0 0 3 0;
#X connect 0 1 7 0;
#X connect 3 0 8 0;
#X connect 4 0 5 0;
#X connect 6 0 0 0;
#X connect 7 0 4 0;
#X connect 8 0 5 0;
#X restore 150 333 pd octave;
#N canvas 624 223 411 391 findsymbol 0;
#X obj 61 37 inlet;
#X obj 222 35 inlet;
#X text 221 12 list of symbols;
#X text 58 15 symbols;
#X obj 60 125 list split 1;
#X obj 60 103 list;
#X obj 60 247 f;
#X msg 260 113 0;
#X obj 243 189 f;
#X obj 274 189 + 1;
#X obj 187 136 list;
#X obj 38 163 t b a b;
#X obj 61 192 select sym;
#X obj 61 63 t b a b a;
#X obj 60 328 outlet;
#X obj 238 304 symbol;
#X obj 239 327 outlet;
#X text 58 346 index of found symbol;
#X text 237 346 symbol not found;
#X obj 60 276 t a b;
#X obj 186 116 spigot;
#X msg 224 91 1;
#X msg 191 92 0;
#X connect 0 0 13 0;
#X connect 1 0 5 1;
#X connect 4 0 11 0;
#X connect 4 1 10 1;
#X connect 4 2 15 0;
#X connect 5 0 4 0;
#X connect 6 0 19 0;
#X connect 7 0 8 1;
#X connect 8 0 6 1;
#X connect 8 0 9 0;
#X connect 9 0 8 1;
#X connect 10 0 4 0;
#X connect 11 0 20 0;
#X connect 11 1 12 0;
#X connect 11 2 8 0;
#X connect 12 0 6 0;
#X connect 13 0 5 0;
#X connect 13 1 12 1;
#X connect 13 2 7 0;
#X connect 13 2 21 0;
#X connect 13 3 15 1;
#X connect 15 0 16 0;
#X connect 19 0 14 0;
#X connect 19 1 22 0;
#X connect 20 0 10 0;
#X connect 21 0 20 1;
#X connect 22 0 20 1;
#X restore 90 239 pd findsymbol;
#X obj 151 302 swap;
#X msg 151 282 0;
#X obj 27 11 cnv 15 650 40 empty empty kbd 10 10 0 14 -233017 -66577
0;
#X obj 151 263 t b b;
#X obj 43 480 spigot;
#X obj 88 418 t f b;
#X msg 120 442 1;
#X msg 183 443 0;
#N canvas 815 329 482 457 display 0;
#X msg 211 148 list c c# d d# e f f# g g# a a# b;
#X obj 165 28 loadbang;
#X obj 142 233 list split;
#X obj 209 208 % 12;
#X obj 142 257 list split 1;
#X obj 274 214 / 12;
#X obj 274 237 int;
#X obj 142 210 list;
#X obj 142 149 t b a a;
#X obj 63 31 inlet;
#X obj 63 56 unpack;
#X obj 63 85 upp.dilemma;
#X obj 63 397 outlet;
#X obj 142 296 list append;
#X msg 63 328 symbol;
#X msg 142 328 symbol \$1\$2;
#X obj 274 258 - 2;
#X connect 0 0 7 1;
#X connect 1 0 0 0;
#X connect 1 0 14 0;
#X connect 2 1 4 0;
#X connect 3 0 2 1;
#X connect 4 0 13 0;
#X connect 5 0 6 0;
#X connect 6 0 16 0;
#X connect 7 0 2 0;
#X connect 8 0 7 0;
#X connect 8 1 3 0;
#X connect 8 2 5 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 1 11 1;
#X connect 11 0 14 0;
#X connect 11 1 8 0;
#X connect 13 0 15 0;
#X connect 14 0 12 0;
#X connect 15 0 12 0;
#X connect 16 0 13 1;
#X restore 341 473 pd display;
#X obj 89 398 +;
#X obj 341 297 loadbang;
#X msg 341 319 5;
#X text 371 321 default octave;
#X obj 374 519 nbx 2 14 -3 9 0 0 empty empty empty 0 -8 0 9 -262144
-1 -1 3 256;
#X obj 337 500 hradio 15 1 0 4 empty empty EN_DE_FR_ES 3 10 0 8 -262144
-258113 -1 1;
#X obj 237 541 route 0 1 2 3;
#X msg 249 175 list a w s e d f t g y h u j k o l p;
#X msg 303 251 list a w s e d f g y h u j k o l p ;
#X text 34 53 Caution: there are key (chord) combinations \, that are
not possible \, e.g. a-d-k simultaneously on the US keyboard.;
#X obj 337 517 cnv 5 40 15 empty empty empty 20 12 0 14 -233017 -66577
0;
#X symbolatom 349 519 4 0 0 0 - - -;
#X obj 338 520 bng 10 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 372 447 - 2;
#N canvas 838 104 511 661 fltrep 0;
#X obj 227 153 inlet;
#X obj 79 607 outlet;
#X obj 250 339 timer;
#X obj 372 413 unpack;
#X obj 296 413 unpack;
#X obj 411 447 == 0;
#X obj 335 449 == 1;
#X obj 296 449 ==;
#X obj 335 470 *;
#X obj 296 470 *;
#X obj 250 359 < 10;
#X obj 372 275 list;
#X obj 64 282 spigot;
#X obj 250 550 == 0;
#X obj 250 602 select 0;
#X text 240 529 1...is repetition;
#X obj 250 495 *;
#X obj 250 310 t b b a;
#X text 43 20 Key repetitions are characterized by a sequence of key-up/key-down
combinations in <10ms time intervals.;
#X text 44 54 We filter these by delaying a key-stroke for 10ms \,
checking if there is any close follow-up key-down of the same key.
;
#X obj 78 586 pack;
#X obj 64 324 unpack;
#X text 294 396 check if old and new match;
#X text 254 293 new;
#X text 377 294 old;
#X obj 37 359 upp.dilemma;
#X text 45 92 It is sufficient to delay key-up messages only \, therefore
let pass unfiltered key-downs to avoid unnecessary latency.;
#X obj 37 500 list;
#X obj 37 525 t a b;
#X text 76 525 clear;
#X obj 37 549 route float;
#X obj 226 177 t a a b a;
#X obj 250 572 t a a;
#X obj 37 441 pipe 10;
#X msg 117 442 clear;
#X connect 0 0 31 0;
#X connect 2 0 10 0;
#X connect 3 0 7 1;
#X connect 3 1 5 0;
#X connect 4 0 7 0;
#X connect 4 1 6 0;
#X connect 5 0 8 1;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 9 1;
#X connect 9 0 16 1;
#X connect 10 0 16 0;
#X connect 11 0 3 0;
#X connect 12 0 21 0;
#X connect 13 0 32 0;
#X connect 14 0 34 0;
#X connect 16 0 13 0;
#X connect 17 0 2 0;
#X connect 17 1 2 1;
#X connect 17 2 4 0;
#X connect 20 0 1 0;
#X connect 21 0 25 0;
#X connect 21 1 20 1;
#X connect 21 1 25 1;
#X connect 25 0 33 0;
#X connect 25 1 27 0;
#X connect 27 0 28 0;
#X connect 28 0 30 0;
#X connect 28 1 27 1;
#X connect 30 0 20 0;
#X connect 31 0 12 0;
#X connect 31 1 17 0;
#X connect 31 1 11 1;
#X connect 31 2 11 0;
#X connect 32 0 14 0;
#X connect 32 0 12 1;
#X connect 33 0 27 0;
#X connect 34 0 33 0;
#X restore 42 573 pd fltrep;
#X text 564 15 grrrr.org \, 2012;
#X text 34 32 play MIDI notes with octave shift and inhibited repetition
;
#X connect 0 0 11 0;
#X connect 0 0 12 0;
#X connect 0 1 1 0;
#X connect 1 0 27 0;
#X connect 2 0 3 0;
#X connect 3 0 10 0;
#X connect 4 0 27 1;
#X connect 9 0 27 1;
#X connect 10 0 44 0;
#X connect 10 1 44 0;
#X connect 10 2 4 0;
#X connect 10 3 9 0;
#X connect 10 4 45 0;
#X connect 10 5 44 0;
#X connect 11 0 32 0;
#X connect 13 0 14 0;
#X connect 13 1 14 1;
#X connect 14 0 51 0;
#X connect 17 0 37 1;
#X connect 18 0 28 1;
#X connect 19 0 37 0;
#X connect 20 0 17 0;
#X connect 20 0 50 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 3 0;
#X connect 26 0 20 0;
#X connect 27 0 19 0;
#X connect 27 1 31 0;
#X connect 28 0 26 0;
#X connect 29 0 28 0;
#X connect 31 0 29 0;
#X connect 31 1 35 0;
#X connect 32 0 13 0;
#X connect 33 0 13 1;
#X connect 33 1 34 0;
#X connect 34 0 32 1;
#X connect 35 0 32 1;
#X connect 36 0 48 0;
#X connect 36 0 49 0;
#X connect 37 0 33 0;
#X connect 38 0 39 0;
#X connect 39 0 20 0;
#X connect 42 0 43 0;
#X connect 43 0 44 0;
#X connect 43 1 4 0;
#X connect 43 2 9 0;
#X connect 43 3 45 0;
#X connect 44 0 27 1;
#X connect 45 0 27 1;
#X connect 50 0 41 0;
#X connect 51 0 15 0;
#X connect 51 0 36 0;
#X coords 0 -1 1 1 90 35 1 310 500;