aboutsummaryrefslogtreecommitdiff
path: root/hid-help.pd
blob: 90d4cfca6d6e4ac027fa337efe56f2455d89e0a2 (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
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
#N canvas 0 31 715 555 10;
#X floatatom 27 439 5 0 0 0 - - -;
#X floatatom 83 439 5 0 0 0 - - -;
#X floatatom 63 395 6 0 0 0 - - -;
#X obj 191 164 tgl 35 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 25
;
#X floatatom 571 340 12 0 0 1 value - -;
#X symbolatom 531 356 15 0 0 1 event_code - -;
#X symbolatom 492 372 15 0 0 1 event_type - -;
#X obj 2 2 cnv 15 700 20 empty empty hid 2 11 1 18 -233017 -66577 0
;
#X text 274 332 outlet message format:;
#X floatatom 138 343 5 0 0 1 ev_syn - -;
#X obj 111 342 +;
#X msg 111 322 1;
#X msg 374 140 close;
#X msg 374 119 refresh;
#X text 435 117 refresh device list;
#X text 422 533 released under the GNU GPL;
#X msg 436 201 poll 20;
#X msg 374 201 poll 2;
#X text 370 186 start polling and set the poll delay in ms;
#X text 356 33 !!! This software is very much alpha \, so any aspect
of it could change without notice !!!;
#X obj 16 291 route key rel abs syn;
#X obj 9 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0 1
;
#N canvas 278 328 631 544 Event_Codes 0;
#X text 28 48 (For a complete listing of Linux Input Events \, see
/usr/include/linux/input.h.);
#X obj 11 9 cnv 15 580 30 empty empty Event_Codes 20 12 1 14 -225271
-66577 0;
#X text 32 118 EVENT CODE;
#X text 162 118 #define;
#X text 232 118 number;
#X text 32 133 -----------------------------------;
#X text 32 148 X Axis;
#X text 32 163 Y Axis;
#X text 32 178 Z Axis;
#X text 32 193 Horizontal Wheel;
#X text 32 208 Dial;
#X text 32 223 Wheel;
#X text 32 238 Misc;
#X text 162 148 REL_X;
#X text 162 163 REL_Y;
#X text 162 178 REL_Z;
#X text 162 193 REL_HWHEEL;
#X text 162 208 REL_DIAL;
#X text 162 223 REL_WHEEL;
#X text 162 238 REL_MISC;
#X text 247 148 0;
#X text 247 163 1;
#X text 247 178 2;
#X text 247 193 6;
#X text 247 208 7;
#X text 247 223 8;
#X text 247 238 9;
#X text 307 118 EVENT CODE;
#X text 457 118 #define;
#X text 547 118 number;
#X text 307 148 Absolute X;
#X text 307 163 Absolute Y;
#X text 307 178 Absolute Z;
#X text 307 193 RX;
#X text 307 208 RY;
#X text 307 223 RZ;
#X text 307 238 Throttle;
#X text 307 253 Rudder;
#X text 307 268 Wheel;
#X text 307 283 Gas Pedal;
#X text 307 298 Brake Pedal;
#X text 307 313 Hat Switch 0 X-axis;
#X text 307 328 Hat Switch 0 Y-axis;
#X text 307 343 Hat Switch 1 X-axis;
#X text 307 358 Hat Switch 1 Y-axis;
#X text 307 373 Hat Switch 2 X-axis;
#X text 307 388 Hat Switch 2 Y-axis;
#X text 307 403 Hat Switch 3 X-axis;
#X text 307 418 Hat Switch 3 Y-axis;
#X text 307 433 Pressure;
#X text 307 448 Distance;
#X text 307 463 Tilt X-Axis;
#X text 307 478 Tilt Y-Axis;
#X text 307 493 Misc;
#X text 457 148 ABS_X;
#X text 457 163 ABS_Y;
#X text 457 178 ABS_Z;
#X text 457 193 ABS_RX;
#X text 457 208 ABS_RY;
#X text 457 223 ABS_RZ;
#X text 457 238 ABS_THROTTLE;
#X text 457 253 ABS_RUDDER;
#X text 457 268 ABS_WHEEL;
#X text 457 283 ABS_GAS;
#X text 457 298 ABS_BRAKE;
#X text 457 313 ABS_HAT0X;
#X text 457 328 ABS_HAT0Y;
#X text 457 343 ABS_HAT1X;
#X text 457 358 ABS_HAT1Y;
#X text 457 373 ABS_HAT2X;
#X text 457 388 ABS_HAT2Y;
#X text 457 403 ABS_HAT3X;
#X text 457 418 ABS_HAT3Y;
#X text 457 433 ABS_PRESSURE;
#X text 457 448 ABS_DISTANCE;
#X text 457 463 ABS_TILT_X;
#X text 457 478 ABS_TILT_Y;
#X text 457 493 ABS_MISC;
#X text 563 148 0;
#X text 563 163 1;
#X text 563 178 2;
#X text 563 193 3;
#X text 563 208 4;
#X text 563 223 5;
#X text 563 238 6;
#X text 563 253 7;
#X text 563 268 8;
#X text 563 283 9;
#X text 563 298 10;
#X text 563 313 16;
#X text 563 328 17;
#X text 563 343 18;
#X text 563 358 19;
#X text 563 373 20;
#X text 563 388 21;
#X text 563 403 22;
#X text 563 418 23;
#X text 563 433 24;
#X text 563 448 25;
#X text 563 463 26;
#X text 563 478 27;
#X text 563 493 28;
#X obj 30 89 cnv 15 250 25 empty empty Relative_Axes 20 12 1 12 -241660
-66577 0;
#X obj 308 89 cnv 15 280 25 empty empty Absolute_Axes 20 12 1 12 -241660
-66577 0;
#X text 307 133 ----------------------------------------;
#X text 32 285 EVENT CODE;
#X text 138 285 #define;
#X text 232 285 number;
#X text 32 300 -----------------------------------;
#X obj 30 256 cnv 15 250 25 empty empty Joystick_Buttons 20 12 1 12
-241660 -66577 0;
#X text 138 315 BTN_TRIGGER;
#X text 32 315 Trigger;
#X text 32 330 Thumb;
#X text 32 345 Thumb 2;
#X text 32 360 Top;
#X text 32 375 Top 2;
#X text 32 390 Pinkie;
#X text 32 405 Base 1;
#X text 138 404 BTN_BASE;
#X text 138 330 BTN_THUMB;
#X text 138 345 BTN_THUMB2;
#X text 138 360 BTN_TOP;
#X text 138 375 BTN_TOP2;
#X text 138 390 BTN_PINKIE;
#X text 245 315 288;
#X text 245 330 289;
#X text 245 345 290;
#X text 245 360 291;
#X text 245 375 292;
#X text 245 390 293;
#X text 245 405 294;
#X text 245 419 295;
#X text 245 434 296;
#X text 245 448 297;
#X text 138 418 BTN_BASE2;
#X text 138 433 BTN_BASE3;
#X text 138 447 BTN_BASE4;
#X text 32 419 Base 2;
#X text 32 434 Base 3;
#X text 32 448 Base 4;
#X text 32 463 Base 5;
#X text 32 477 Base 6;
#X text 138 462 BTN_BASE5;
#X text 138 476 BTN_BASE6;
#X text 245 463 298;
#X text 245 477 299;
#X restore 593 91 pd Event_Codes;
#N canvas 50 289 469 317 Event_Types 0;
#X text 28 48 (For a complete listing of Linux Input Events \, see
/usr/include/linux/input.h.);
#X text 61 90 EVENT TYPE;
#X text 61 135 Keys and Buttons;
#X text 61 150 Relative Axes;
#X text 61 165 Absolute Axes;
#X text 61 180 Misc Events;
#X text 61 195 LED Event;
#X text 61 210 Sounds;
#X text 61 225 Autorepeat Values;
#X text 61 240 Force Feedback;
#X text 230 90 #define;
#X text 230 135 EV_KEY;
#X text 230 150 EV_REL;
#X text 230 165 EV_ABS;
#X text 230 180 EV_MSC;
#X text 230 195 EV_LED;
#X text 230 210 EV_SND;
#X text 230 225 EV_REP;
#X text 230 240 EV_FF;
#X text 315 90 number;
#X text 331 120 0;
#X text 331 135 1;
#X text 331 150 2;
#X text 331 165 3;
#X text 331 180 4;
#X text 331 195 17;
#X text 331 210 18;
#X text 331 225 20;
#X text 331 240 21;
#X obj 11 9 cnv 15 400 30 empty empty Event_Types 20 12 1 14 -262131
-66577 0;
#X text 230 120 EV_SYN;
#X text 61 270 Force Feedback Status;
#X text 61 120 Syncronization Events;
#X text 230 270 EV_FF_STATUS;
#X text 331 270 23;
#X text 61 105 -------------------------------------------;
#X text 331 255 22;
#X text 230 255 EV_PWR;
#X text 61 255 Power Events (for UPS);
#X restore 593 71 pd Event_Types;
#N canvas 0 22 450 300 Event_Values 0;
#X text 28 48 (For a complete listing of Linux Input Events \, see
/usr/include/linux/input.h.);
#X obj 11 9 cnv 15 400 30 empty empty Event_Values 20 12 1 14 -261681
-66577 0;
#X restore 593 111 pd Event_Values;
#X floatatom 140 439 5 0 0 0 - - -;
#X obj 421 394 route abs_hat0x abs_hat0y abs_hat1x abs_hat1y;
#X floatatom 421 416 7 0 0 0 - - -;
#X msg 374 161 print;
#X obj 304 250 hid 0;
#X text 437 141 close the device;
#X text 437 162 print the device and element lists;
#X text 9 212 Any non-zero value starts polling \,;
#X text 8 225 0 stops the polling. If the number;
#X text 9 238 is greater than 1 \, then the poll;
#X text 9 251 delay is set to that number.;
#X obj 27 419 route rel_x rel_y rel_z rel_wheel;
#X floatatom 196 439 5 0 0 0 - - -;
#X obj 492 321 unpack s s f;
#X text 298 346 event_type event_code value;
#X obj 63 374 route abs_x abs_y abs_z abs_rx abs_ry abs_rz abs_throttle
;
#X obj 421 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
#X floatatom 498 416 7 0 0 0 - - -;
#X obj 498 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 576 416 7 0 0 0 - - -;
#X obj 576 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 653 416 7 0 0 0 - - -;
#X obj 653 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 113 395 6 0 0 0 - - -;
#X floatatom 163 395 6 0 0 0 - - -;
#X floatatom 213 395 6 0 0 0 - - -;
#X floatatom 263 395 6 0 0 0 - - -;
#X floatatom 313 395 6 0 0 0 - - -;
#X floatatom 363 395 6 0 0 0 - - -;
#X obj 39 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0 1
;
#X obj 69 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0 1
;
#X obj 99 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0 1
;
#X obj 129 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 159 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 189 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 219 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 249 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 279 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 309 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 339 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 369 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 399 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 9 460 route btn_0 btn_1 btn_2 btn_3 btn_4 btn_5 btn_6 btn_7
btn_8 btn_9 btn_10 btn_11 btn_12 btn_13 btn_14 btn_15;
#X obj 429 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X obj 459 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
1;
#X msg 25 155 debug 0;
#X msg 298 145 info;
#N canvas 752 103 411 235 see 0;
#N canvas 108 318 543 264 route 0;
#X obj 27 14 inlet;
#X obj 72 226 outlet;
#X obj 19 226 outlet;
#X obj 172 226 outlet;
#X obj 222 204 symbol;
#X obj 222 226 outlet;
#X obj 272 204 symbol;
#X obj 272 226 outlet;
#X obj 322 204 symbol;
#X obj 322 226 outlet;
#X obj 372 204 symbol;
#X obj 372 226 outlet;
#X obj 122 225 outlet;
#X obj 422 204 symbol;
#X obj 422 226 outlet;
#X obj 472 204 symbol;
#X obj 472 226 outlet;
#X obj 26 63 route open device poll total product manufacturer transport
type vendorID productID;
#X connect 0 0 17 0;
#X connect 4 0 5 0;
#X connect 6 0 7 0;
#X connect 8 0 9 0;
#X connect 10 0 11 0;
#X connect 13 0 14 0;
#X connect 15 0 16 0;
#X connect 17 0 2 0;
#X connect 17 1 1 0;
#X connect 17 2 12 0;
#X connect 17 3 3 0;
#X connect 17 4 4 0;
#X connect 17 5 6 0;
#X connect 17 6 8 0;
#X connect 17 7 10 0;
#X connect 17 8 13 0;
#X connect 17 9 15 0;
#X restore 117 70 pd route info;
#X obj 81 96 tgl 15 0 empty empty open 0 -6 0 8 -262144 -1 -1 0 1;
#X obj 110 22 inlet;
#X obj 123 43 print info;
#X symbolatom 304 93 0 0 0 0 productID - -;
#X symbolatom 304 112 0 0 0 0 vendorID - -;
#X symbolatom 304 151 0 0 0 0 transport - -;
#X symbolatom 304 171 0 0 0 0 manufacturer - -;
#X symbolatom 186 192 0 0 0 0 product - -;
#X floatatom 97 140 5 0 0 0 device - -;
#X floatatom 97 162 5 0 0 0 poll - -;
#X symbolatom 304 131 0 0 0 0 type - -;
#X floatatom 97 182 5 0 0 0 total - -;
#X connect 0 0 1 0;
#X connect 0 1 9 0;
#X connect 0 2 10 0;
#X connect 0 3 12 0;
#X connect 0 4 8 0;
#X connect 0 5 7 0;
#X connect 0 6 6 0;
#X connect 0 7 11 0;
#X connect 0 8 5 0;
#X connect 0 9 4 0;
#X connect 2 0 0 0;
#X connect 2 0 3 0;
#X restore 420 271 pd see device info;
#N canvas 553 77 380 450 open 0;
#X obj 77 61 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
-1 0;
#X msg 78 81 open mouse \$1;
#X obj 121 201 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
-1 0;
#X msg 130 221 open keyboard \$1;
#X obj 50 13 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
-1 0;
#X obj 55 417 outlet;
#X obj 85 108 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
-1 0;
#X msg 94 128 open joystick \$1;
#X msg 59 33 open pointer \$1;
#X obj 101 155 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
-1 0;
#X msg 110 175 open gamepad \$1;
#X obj 137 244 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
-1 0;
#X msg 146 264 open keypad \$1;
#X obj 141 291 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
-1 0;
#X msg 150 311 open multiaxiscontroller \$1;
#X text 155 342 or just open the first one:;
#X msg 138 363 open mouse;
#X msg 159 381 open joystick;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 10 0 5 0;
#X connect 11 0 12 0;
#X connect 12 0 5 0;
#X connect 13 0 14 0;
#X connect 14 0 5 0;
#X connect 16 0 5 0;
#X connect 17 0 5 0;
#X restore 203 59 pd open by device type;
#N canvas 796 51 470 320 open 0;
#X text 217 82 Gravis/Destroyer Tiltpad;
#X msg 76 81 open 0x047D 0x4008;
#X msg 73 53 open 0x046d 0xc01d;
#X text 211 53 Logitech USB-PS/2 Optical Mouse;
#X obj 10 277 outlet;
#X text 9 12 You can use the hex values of the USB vendor and product
IDs (it is not case sensitive):;
#X text 221 111 Overtone CUI v1.0;
#X msg 80 110 open 0x1043 0x0015;
#X msg 83 136 open 0x06a3 0xff12;
#X text 221 134 Saitek Cyborgforce;
#X connect 1 0 4 0;
#X connect 2 0 4 0;
#X connect 7 0 4 0;
#X connect 8 0 4 0;
#X restore 174 37 pd open by vendor/product ID;
#N canvas 114 93 467 346 test 0;
#X obj 144 45 inlet;
#X obj 88 104 route DESKTOP;
#X obj 87 158 route DESKTOP57;
#X obj 70 207 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 95 212 5 0 0 0 - - -;
#X obj 148 215 spigot;
#X obj 146 256 print test;
#X obj 189 192 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 292 122 spigot;
#X obj 290 163 print test;
#X obj 333 99 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X connect 0 0 1 0;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 0 4 0;
#X connect 2 0 5 0;
#X connect 5 0 6 0;
#X connect 7 0 5 1;
#X connect 8 0 9 0;
#X connect 10 0 8 1;
#X restore 197 303 pd test;
#X msg 504 201 poll 200;
#X text 69 533 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at>
;
#N canvas 162 133 570 420 serin 0;
#X obj 209 61 cnv 15 15 15 empty \$0-debug-canvas 0 4 8 0 14 -233017
-1 0;
#X obj 60 61 hradio 15 1 1 10 empty empty empty 0 -6 0 8 -261689 -1
-1 0;
#X obj 60 13 inlet;
#X msg 200 202 label \$1;
#X obj 200 180 makefilename %d;
#X obj 59 108 int;
#X obj 59 337 outlet;
#X msg 201 306 set \$1 \$2;
#X obj 59 266 trigger bang anything;
#X obj 201 286 list;
#X msg 60 210 debug \$1;
#X obj 200 225 send \$0-debug-canvas;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 11 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 0 10 0;
#X connect 7 0 6 0;
#X connect 8 0 6 0;
#X connect 8 1 9 0;
#X connect 9 0 7 0;
#X connect 10 0 8 0;
#X coords 0 -1 1 1 165 17 1 60 60;
#X restore 25 134 pd serin;
#X msg 262 114 open 0;
#X obj 249 300 pddp/print;
#N canvas 162 133 570 420 serin 0;
#X obj 286 61 cnv 15 30 15 empty \$0-open-canvas 0 4 8 0 14 -233017
-1 0;
#X obj 60 61 hradio 15 1 1 15 empty empty empty 0 -6 0 8 -225271 -1
-1 0;
#X obj 60 13 inlet;
#X msg 200 202 label \$1;
#X obj 200 180 makefilename %d;
#X obj 59 108 int;
#X obj 59 337 outlet;
#X msg 201 306 set \$1 \$2;
#X obj 59 266 trigger bang anything;
#X obj 201 286 list;
#X msg 60 210 open \$1;
#X obj 200 225 send \$0-open-canvas;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 11 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 0 10 0;
#X connect 7 0 6 0;
#X connect 8 0 6 0;
#X connect 8 1 9 0;
#X connect 9 0 7 0;
#X connect 10 0 8 0;
#X coords 0 -1 1 1 257 17 1 60 60;
#X restore 262 92 pd serin;
#N canvas 504 253 494 344 META 0;
#X text 12 145 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan
Wilkes for Pd version 0.42.;
#X text 12 25 LICENSE GPL;
#X text 12 125 AUTHOR Hans-Christoph Steiner;
#X text 12 65 INLET_0;
#X text 12 85 OUTLET_0;
#X text 12 105 OUTLET_1;
#X text 12 5 KEYWORDS control user_input;
#X text 12 45 DESCRIPTION;
#X restore 657 523 pd META;
#X connect 3 0 29 0;
#X connect 9 0 10 1;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X connect 12 0 29 0;
#X connect 13 0 29 0;
#X connect 16 0 29 0;
#X connect 17 0 29 0;
#X connect 20 0 67 0;
#X connect 20 1 36 0;
#X connect 20 2 40 0;
#X connect 20 3 11 0;
#X connect 26 0 27 0;
#X connect 26 1 42 0;
#X connect 26 2 44 0;
#X connect 26 3 46 0;
#X connect 27 0 41 0;
#X connect 28 0 29 0;
#X connect 29 0 20 0;
#X connect 29 0 38 0;
#X connect 29 0 75 0;
#X connect 29 0 80 0;
#X connect 29 1 72 0;
#X connect 36 0 0 0;
#X connect 36 1 1 0;
#X connect 36 2 25 0;
#X connect 36 3 37 0;
#X connect 38 0 6 0;
#X connect 38 1 5 0;
#X connect 38 2 4 0;
#X connect 40 0 2 0;
#X connect 40 1 48 0;
#X connect 40 2 49 0;
#X connect 40 3 50 0;
#X connect 40 4 51 0;
#X connect 40 5 52 0;
#X connect 40 6 53 0;
#X connect 40 7 26 0;
#X connect 42 0 43 0;
#X connect 44 0 45 0;
#X connect 46 0 47 0;
#X connect 67 0 21 0;
#X connect 67 1 54 0;
#X connect 67 2 55 0;
#X connect 67 3 56 0;
#X connect 67 4 57 0;
#X connect 67 5 58 0;
#X connect 67 6 59 0;
#X connect 67 7 60 0;
#X connect 67 8 61 0;
#X connect 67 9 62 0;
#X connect 67 10 63 0;
#X connect 67 11 64 0;
#X connect 67 12 65 0;
#X connect 67 13 66 0;
#X connect 67 14 68 0;
#X connect 67 15 69 0;
#X connect 70 0 29 0;
#X connect 71 0 29 0;
#X connect 73 0 29 0;
#X connect 74 0 29 0;
#X connect 76 0 29 0;
#X connect 78 0 70 0;
#X connect 79 0 29 0;
#X connect 81 0 79 0;