forked from michaelpalumbo/allhands
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
622 lines (577 loc) · 19.7 KB
/
index.html
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
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
<html>
<head>
<script
src="https://code.jquery.com/jquery-3.5.1.js"
integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
crossorigin="anonymous">
</script>
<script src="https://cdn.jsdelivr.net/npm/webmidi"></script>
</head>
<body>
<h1>Exit Points experimental clock</h1>
<br>
The app is hosted on a free cloud instance, so it is configured to stop running if it doesn't receive a ping from this webpage after 30 minutes.
<br>
So: if the clock doesn't run when you first connect, wait a few seconds and try refreshing the page.
<br>
Message @michael palumbo on the Exit Points Discord if there's any problems.
<br>
Contribute to development at <a href="https://github.com/exitpoints/ws" target="_blank">exitpoints/ws</a>
<br>
<br>
Note: at the moment, this page receives both beat and MIDI timing messages from a central server, <br>but still needs to be configured to transmit this data locally on a MIDI channel, or over UDP via OSC. :)
<br>
<br>
<br>
<div class="col-md-5 mt-4 mx-auto">
<label for="bpm" class="text-capitalize">BPM:</label>
<input id="bpm" type="text" class="number">
</div>
<br>
Beat: <div id="beat" style = "display: inline-block">1</div>/<div id="bpb" style="display: inline-block">4</div>
<br>
<!-- MIDI Timing 11111000 (Client-side) <div id="MIDITiming"></div> -->
<br>
<br>
<!-- <div class="dropdown">
<button class="dropbtn">MIDI Output</button>
<div class="dropdown-content" id="MIDIOutputSelector">
</div>
</div> -->
Set device to receive MIDI clock from this page
<br>
<select id="MIDIOutputSelector">
<option value="None">-- Select Output --</option>
</select>
<br><br>
Select Not ready yet<br>
<select id="MIDIInputSelector">
<option value="None">-- Select Input --</option>
</select>
</body>
<script>
//! OSC/UDP is a pain in the browser...
// const osc = new OSC({ plugin: new OSC.DatagramPlugin() })
// osc.open({ port: 9912 })
// // send only this message to `localhost:9002`
// osc.send(new OSC.Message('/test'), { port: 9002 })
// navigator.requestMIDIAccess()
// .then(onMIDISuccess, onMIDIFailure);
// function onMIDISuccess(midiAccess) {
// console.log(midiAccess);
// var inputs = midiAccess.inputs;
// var outputs = midiAccess.outputs;
// }
// function onMIDIFailure() {
// console.log('Could not access your MIDI devices.');
// }
let midiOutput = null;
let midiInput = null;
let outputs
let inputs
let manufacturer = null
$("#MIDIOutputSelector").change(function() {
var id = $(this).find('option:selected').attr('id');
// var id = $(this).children(":selected").attr("id");
console.log('MIDI Output set to: ', outputs[id].name)
midiOutput = outputs[id]
if (outputs[id].manufacturer){
manufacturer = outputs[id].manufacturer
console.log(manufacturer, companies[manufacturer])
// midiOutput.sendSysex(companies[manufacturer], [data])
}
// midiOutput.playNote("C3");
midiOutput.sendClock();
// midiOutput.send([250])
});
$("#MIDIInputSelector").change(function() {
var id = $(this).find('option:selected').attr('id');
// var id = $(this).children(":selected").attr("id");
console.log('MIDI Input set to: ', inputs[id].name)
midiInput = inputs[id]
// midiInput.playNote("C3");
// midiOutput.send([250])
midiInput.addListener('gate', "all", function(e) {
console.log("gate value: " + e.value);
});
});
const url = 'wss://exitpoints.herokuapp.com/8081'
const connection = new WebSocket(url)
connection.onopen = () => {
// connection.send('hey')
}
// let MIDITimingCount = 0
connection.onmessage = e => {
let msg = JSON.parse(e.data)
switch (msg.cmd){
case "beat":
document.getElementById("beat").innerHTML = msg.data
// beat.textContent = msg.data
if(midiOutput){
// midiOutput.send([0x90, 0x3C, 0x80])
}
// $("beat").update(msg.data);
//console.log(msg.data)
break;
case "MIDI_Timing":
// document.getElementById("MIDITiming").innerHTML = MIDITimingCount++
if(midiOutput){
// midiOutput.send([248, 0, 0])
}
break
case "bpm":
document.getElementById("bpm").value = msg.data
console.log(msg.data)
break
}
}
// BPM entry
$(document).ready(function () {
$('input.number').keyup(function (event) {
if (event.which != 8 && event.which != 0 && event.which < 48 || event.which > 57) {
$(this).val(function (index, value) {
bpm = document.getElementById('bpm').value
if (bpm <= 2){
alert('cannot accept a bpm that fast')
return
}
let msg = JSON.stringify({
cmd: 'bpm',
data: bpm
})
connection.send(msg)
return value.replace(/\D/g, "");
});
}
});
});
WebMidi.enable(function (err) {
if (err) {
console.log("WebMidi could not be enabled.", err);
} else {
console.log("WebMidi enabled!");
console.log(WebMidi.inputs);
console.log(WebMidi.outputs);
outputs = WebMidi.outputs
inputs = WebMidi.inputs
for(i =0; i< outputs.length; i++){
$('#MIDIOutputSelector').append('<option id="' + i + '">' + outputs[i].name + '</option>');
}
for(i =0; i< inputs.length; i++){
$('#MIDIInputSelector').append('<option id="' + i + '">' + inputs[i].name + '</option>');
}
}
}, true);
let companies = {
"ROLAND CORPORATION": "41H",
"KORG INC.": "42H",
"YAMAHA CORPORATION": "43H",
"CASIO COMPUTER CO.,LTD": "44H",
"AKAI ELECTRIC CO.,LTD": "47H",
"VICTOR COMPANY OF JAPAN,LIMITED": "48H",
"FUJITSU LIMITED": "4BH",
"SONY CORPORATION": "4CH",
"TEAC CORPORATION": "4EH",
"MATSUSHITA ELECTRIC INDUSTRIAL CO.,LTD": "50H",
"FOSTEX CORPORATION": "51H",
"ZOOM CORPORATION": "52H",
"MATSUSHITA COMMUNICATION INDUSTRIAL CO.,LTD.": "54H",
"SUZUKI MUSICAL INSTRUMENTS MFG.CO.,LTD.": "55H",
"FUJI SOUND CORPORATION LTD.": "56H",
"ACOUSTIC TECHNICAL LABORATORY,INC.": "57H",
"FAITH INC.": "59H",
"INTERNET CORPORATION": "5AH",
"SEEKERS CO.,LTD": "5CH",
"SD CARD ASSOCIATION": "5FH",
"CRIMSON TECHNOLOGY INC": "00H 40H 00H",
"SOFTBANK MOBILE CORP": "00H 40H 01H",
"D&M HOLDINGS INC.": "00H 40H 03H",
"XING INC.": "00H 40H 04H",
"PIONEER DJ CORPORATION": "00H 40H 05H",
"SEQUENTIAL": "01H",
"IDP": "02H",
"VOYETRA TECHNOLOGIES": "03H",
"MOOG MUSIC": "04H",
"PASSPORT DESIGNS": "05H",
"LEXICON INC.": "06H",
"KUTZWEIL / YOUNG CHANG": "07H",
"FENDER": "08H",
"GULBRANSEN": "09H",
"AKG ACOUSTICS": "0AH",
"VOYCE MUSIC": "0BH",
"WAVEFRAME CORP": "0CH",
"ADA SIGNAL PROCESSORS": "0DH",
"GARFIELD ELECTRONICS": "0EH",
"ENSONIQ CORP.": "0FH",
"OBERHEIM / GIBSON LABS": "10H",
"APPLE COMPUTER": "11H",
"GREY MATTER RESPONSE": "12H",
"DIGIDESIGN INC.": "13H",
"PALMTREE INSTRUMENTS": "14H",
"JLCOOPER ELECTRONICS": "15H",
"LOWREY ORGAN COMPANY": "16H",
"ADAMS-SMITH": "17H",
"EMU SYSTEMS INC.": "18H",
"HARMONY SYSTEMS": "19H",
"ART": "1AH",
"BALDWIN": "1BH",
"EVENTIDE": "1CH",
"INVENTRONICS": "1DH",
"CLARITY": "1FH",
"TIME/WARNER INTERACTIVE": "00H 00H 01H",
"ADVANCED GRAVIS COMP.": "00H 00H 02H",
"MEDIA VISION": "00H 00H 03H",
"DORNES RESEARCH GROUP": "00H 00H 04H",
"K-MUSE": "00H 00H 05H",
"STYPHER": "00H 00H 06H",
"DIGITAL MUSIC CORP.": "00H 00H 07H",
"IOTA SYSTEMS": "00H 00H 08H",
"NEW ENGLAND DIGITAL": "00H 00H 09H",
"ARTISYN": "00H 00H 0AH",
"IVL TECHNOLOGIES": "00H 00H 0BH",
"SOUTHERN MUSIC SYSTEMS": "00H 00H 0CH",
"LAKE BUTLER SOUND CO.": "00H 00H 0DH",
"ALESIS STUDIO ELECTRONICS": "00H 00H 0EH",
"SOUND CREATION": "00H 00H 0FH",
"DOD ELECTRONICS CORP.": "00H 00H 10H",
"STUDER-EDITECH": "00H 00H 11H",
"SONUS": "00H 00H 12H",
"TEMPORAL ACUITY PRODUCTS": "00H 00H 13H",
"PERFECT FRETWORKS": "00H 00H 14H",
"KAT INC.": "00H 00H 15H",
"OPCODE SYSTEMS": "00H 00H 16H",
"RANE CORPORATION": "00H 00H 17H",
"ANADI ELECTRONIQUE": "00H 00H 18H",
"KMX": "00H 00H 19H",
"ALLEN & HEATH BRENELL": "00H 00H 1AH",
"PEAVEY ELECTRONICS": "00H 00H 1BH",
"360 SYSTEM": "00H 00H 1CH",
"SPECTRUM DESIGN": "00H 00H 1DH",
"MARQUIS MUSIC": "00H 00H 1EH",
"ZETA SYSTEMS": "00H 00H 1FH",
"AXXES": "00H 00H 20H",
"ORBAN": "00H 00H 21H",
"INDIAN VALLEY MFG.": "00H 00H 22H",
"TRITON": "00H 00H 23H",
"KTI": "00H 00H 24H",
"BREAKAWAY TECHNOLOGIES": "00H 00H 25H",
"CAE INC.": "00H 00H 26H",
"HARRISON SYSTEMS INC.": "00H 00H 27H",
"FUTURE LAB/MARK KUO": "00H 00H 28H",
"ROCKTRON CORPORATION": "00H 00H 29H",
"PIANODISC": "00H 00H 2AH",
"CANNON RESEARCH GROUP": "00H 00H 2BH",
"RODGERS INSTRUMENT CORP.": "00H 00H 2DH",
"BLUE SKY LOGIC": "00H 00H 2EH",
"ENCORE ELECTRONICS": "00H 00H 2FH",
"UPTOWN": "00H 00H 30H",
"VOCE": "00H 00H 31H",
"CTI AUDIO": "00H 00H 32H",
"S & S RESEARCH": "00H 01H 10H",
"BRODERBUND SOFTWARE": "00H 00H 34H",
"ALLEN ORGAN CO.": "00H 00H 35H",
"MUSIC QUEST": "00H 00H 37H",
"APHEX": "00H 00H 38H",
"GALLIEN KRUEGER": "00H 00H 39H",
"IBM": "00H 00H 3AH",
"MARK OF THE UNICORN": "00H 00H 3BH",
"HOTZ INSTRUMENTS": "00H 00H 3CH",
"ETA LIGHTING": "00H 00H 3DH",
"NSI CORPORATION": "00H 00H 3EH",
"AD LIB": "00H 00H 3FH",
"RICHMOND SOUND DESIGN": "00H 00H 40H",
"MICROSOFT CORP": "00H 00H 41H",
"SOFTWARE TOOLWORKS": "00H 00H 42H",
"RUSS JONES / NICHE": "00H 00H 43H",
"INTONE": "00H 00H 44H",
"ADVANCED REMOTE TECH.": "00H 00H 45H",
"GT ELECTRONICS": "00H 00H 47H",
"TIMELINE VISTA": "00H 00H 49H",
"MESA BOOGIE LTD.": "00H 00H 4AH",
"SEQUOIA DEVELOPMENT": "00H 00H 4CH",
"STUDIO ELECTRONICS": "00H 00H 4DH",
"EUPHONIX": "00H 00H 4EH",
"INTERMIDI": "00H 00H 4FH",
"MIDI SOLUTIONS INC.": "00H 00H 50H",
"3DO COMPANY": "00H 00H 51H",
"LIGHTWAVE RESEARCH": "00H 00H 52H",
"MICRO-W CORPORATION": "00H 00H 53H",
"SPECTRAL SYNTHESIS": "00H 00H 54H",
"LONE WOLF": "00H 00H 55H",
"STUDIO TECHNOLOGIES INC.": "00H 00H 56H",
"PETERSON ELECTRO-MUSICAL": "00H 00H 57H",
"ATARI CORPORATION": "00H 00H 58H",
"MARION SYSTEMS": "00H 00H 59H",
"DESIGN EVENT": "00H 00H 5AH",
"WINJAMMER SOFTWARE": "00H 00H 5BH",
"AT&T BELL LABORATORIES": "00H 00H 5CH",
"SYMETRIX": "00H 00H 5EH",
"MIDI THE WORLD": "00H 00H 5FH",
"DESPER PRODUCTS": "00H 00H 60H",
"MICROS 'N MIDI": "00H 00H 61H",
"ACCORDIANS INTERNATIONAL": "00H 00H 62H",
"EUPHONICS": "00H 00H 63H",
"MUSONIX": "00H 00H 64H",
"TURTLE BEACH SYSTEMS": "00H 00H 65H",
"MACKIE DESIGNS": "00H 00H 66H",
"COMPUSERVE": "00H 00H 67H",
"BEC TECHNOLOGIES": "00H 00H 68H",
"QRS MUSIC ROLLS INC": "00H 00H 69H",
"P.G. MUSIC": "00H 00H 6AH",
"SIERRA SEMICONDUCTOR": "00H 00H 6BH",
"EPIGRAF AUDIO VISUAL": "00H 00H 6CH",
"ELECTRONICS DIVERSIFIED INC": "00H 00H 6DH",
"TUNE 1000": "00H 00H 6EH",
"ADVANCED MICRO DEVICES": "00H 00H 6FH",
"MEDIAMATION": "00H 00H 70H",
"SABINE MUSICAL MFG. CO.": "00H 00H 71H",
"WOOG LABS": "00H 00H 72H",
"MICROPOLIS CORP": "00H 00H 73H",
"TA HORNG MUSICAL INSTR.": "00H 00H 74H",
"FORTE TECHNOLOGIES": "00H 00H 75H",
"ELECTRO-VOICE": "00H 00H 76H",
"MIDISOFT CORPORATION": "00H 00H 77H",
"Q-SOUND LABS": "00H 00H 78H",
"WESTREX": "00H 00H 79H",
"NVIDIA": "00H 00H 7AH",
"ESS TECHNOLOGY": "00H 00H 7BH",
"MEDIATRIX PERIPHERALS": "00H 00H 7CH",
"BROOKTREE CORP": "00H 00H 7DH",
"OTARI CORP": "00H 00H 7EH",
"KEY ELECTRONICS, INC.": "00H 00H 7FH",
"SHURE BROTHERS INC": "00H 01H 00H",
"CRYSTALAKE MULTIMEDIA": "00H 01H 01H",
"CRYSTAL SEMICONDUCTOR": "00H 01H 02H",
"ROCKWELL SEMICONDUCTOR": "00H 01H 03H",
"SILICON GRAPHICS": "00H 01H 04H",
"MIDIMAN": "00H 01H 05H",
"PRESONUS": "00H 01H 06H",
"TOPAZ ENTERPRISES": "00H 01H 08H",
"CAST LIGHTING": "00H 01H 09H",
"MICROSOFT CONSUMER DIVISION": "00H 01H 0AH",
"FAST FORWARD DESIGNS": "00H 01H 0CH",
"LGOR'S SOFTWARE LABORATORIES": "00H 01H 0DH",
"VAN KOEVERING COMPANY": "00H 01H 0EH",
"ALTECH SYSTEMS": "00H 01H 0FH",
"VLSI TECHNOLOGY": "00H 01H 11H",
"CHROMATIC RESEARCH": "00H 01H 12H",
"SAPPHIRE": "00H 01H 13H",
"IDRC": "00H 01H 14H",
"JUSTONIC TUNING": "00H 01H 15H",
"TORCOMP": "00H 01H 16H",
"NEWTEK INC": "00H 01H 17H",
"SOUND SCULPTURE": "00H 01H 18H",
"WALKER TECHNICAL": "00H 01H 19H",
"PAVO": "00H 01H 1AH",
"INVISION INTERACTIVE": "00H 01H 1BH",
"T-SQUARE DESIGN": "00H 01H 1CH",
"NEMESYS MUSIC TECHNOLOGY": "00H 01H 1DH",
"DBX PROFESSIONAL (HARMAN INTL)": "00H 01H 1EH",
"SYNDYNE CORPORATION": "00H 01H 1FH",
"BITHEADZ": "00H 01H 20H",
"CAKEWALK MUSIC SOFTWARE": "00H 01H 21H",
"ANALOG DEVICES (STACCATO SYSTEMS)": "00H 01H 22H",
"NATIONAL SEMICONDUCTOR": "00H 01H 23H",
"BOOM THEORY / ADINOLFI ALT. PERC.": "00H 01H 24H",
"VIRTUAL DSP CORPORATION": "00H 01H 25H",
"ANTARES SYSTEMS": "00H 01H 26H",
"ANGEL SOFTWARE": "00H 01H 27H",
"ST LOUIS MUSIC": "00H 01H 28H",
"LYRRUS DBA G-VOX": "00H 01H 29H",
"ASHLEY AUDIO INC": "00H 01H 2AH",
"VARI-LITE INC": "00H 01H 2BH",
"SUMMIT AUDIO INC": "00H 01H 2CH",
"AUREAL SEMICONDUCTOR INC": "00H 01H 2DH",
"SEASOUND LLC": "00H 01H 2EH",
"U. S. ROBOTICS": "00H 01H 2FH",
"AURISIS RESEARCH": "00H 01H 30H",
"NEARFIELD MULTIMEDIA": "00H 01H 31H",
"FM7 INC": "00H 01H 32H",
"SWIVEL SYSTEMS": "00H 01H 33H",
"HYPERACTIVE AUDIO SYSTEMS": "00H 01H 34H",
"MIDILITE (CASTLE STUDIOS PRODS)": "00H 01H 35H",
"RADIKAL TECHNOLOGIES": "00H 01H 36H",
"ROGER LINN DESIGN": "00H 01H 37H",
"TC-HELICON VOCAL TECHNOLOGIES": "00H 01H 38H",
"EVENT ELECTRONICS": "00H 01H 39H",
"SONIC NETWORK (SONIC IMPLANTS)": "00H 01H 3AH",
"REALTIME MUSIC SOLUTIONS": "00H 01H 3BH",
"APOGEE DIGITAL": "00H 01H 3CH",
"CLASSICAL ORGANS, INC.": "00H 01H 3DH",
"MICROTOOLS INC": "00H 01H 3EH",
"NUMARK INDUSTRIES": "00H 01H 3FH",
"FRONTIER DESIGN GROUP LLC": "00H 01H 40H",
"RECORDARE LLC": "00H 01H 41H",
"STAR LABS": "00H 01H 42H",
"VOYAGER SOUND INC": "00H 01H 43H",
"MANIFOLD LABS": "00H 01H 44H",
"AVIOM INC": "00H 01H 45H",
"MIXMEISTER TECHNOLOGY": "00H 01H 46H",
"NOTATION SOFTWARE": "00H 01H 47H",
"MERCURIAL COMMUNICATIONS": "00H 01H 48H",
"WAVE ARTS, INC": "00H 01H 49H",
"LOGIC SEQUENCING DEVICES INC": "00H 01H 4AH",
"AXESS ELECTRONICS": "00H 01H 4BH",
"MUSE REASEARCH": "00H 01H 4CH",
"OPEN LABS": "00H 01H 4DH",
"GUILLEMOT R&D INC": "00H 01H 4EH",
"SAMSON TECHNOLOGIES": "00H 01H 4FH",
"ELECTORONIC THEATRE CONTROLS": "00H 01H 50H",
"RESEARCH IN MOTION": "00H 01H 51H",
"MOBILEER": "00H 01H 52H",
"SYNTHOGY": "00H 01H 53H",
"LYNX STUDIO TECHNOLOGY INC.": "00H 01H 54H",
"DAMAGE CONTROL ENGINEERING LLC": "00H 01H 55H",
"YOST ENGINEERING, INC.": "00H 01H 56H",
"BROOKS & FORSMAN DESIGNS LLC": "00H 01H 57H",
"MAGNEKEY": "00H 01H 58H",
"GARRITAN CORP": "00H 01H 59H",
"PLOGUE ART ET TECHNOLOGY, INC.": "00H 01H 5AH",
"RJM MUSIC TECHNOLOGY": "00H 01H 5BH",
"CUSTOM SOLUTIONS SOFTWARE": "00H 01H 5CH",
"SONARCANA LLC": "00H 01H 5DH",
"CENTRANCE": "00H 01H 5EH",
"PASSAC": "20H",
"SIEL": "21H",
"SYNTHAXE (UK)": "22H",
"STEPP": "23H",
"HOHNER": "24H",
"TWISTER": "25H",
"SOLTON": "26H",
"JELLINGHAUS MS": "27H",
"SOUTHWORTH MUSIC SYSTEMS": "28H",
"PPG (GERMANY)": "29H",
"JEN": "2AH",
"SOLID STATE LOGIC ORGAN SYSTEMS": "2BH",
"AUDIO VERITRIEB-P. STRUVEN": "2CH",
"NEVE": "2DH",
"SOUNDTRACS LTD.": "2EH",
"ELKA": "2FH",
"DYNACORD": "30H",
"INTERCONTINENTAL ELECTRONICS SPA": "31H",
"DRAWMER": "32H",
"CLAVIA DIGITAL INSTRUMENTS": "33H",
"AUDIO ARCHITECTURE": "34H",
"GENERALMUSIC CORP. C/O": "35H",
"CHEETAH MARKETING": "36H",
"C.T.M.": "37H",
"SIMMONS UK": "38H",
"SOUNDCRAFT ELECTRONICS": "39H",
"STEINBERG GMBH C/O": "3AH",
"WERSI GMBH": "3BH",
"AVAB NIETHAMMER AB": "3CH",
"DIGIGRAM": "3DH",
"WALDORF ELECTRONICS GMBH": "3EH",
"QUASIMIDI": "3FH",
"DREAM": "00H 20H 00H",
"STRAND LIGHTING": "00H 20H 01H",
"AMEK SYSTEMS": "00H 20H 02H",
"CASA DI RISPARMIO DI LORETO": "00H 20H 03H",
"BOHM ELECTRONIC GMBH": "00H 20H 04H",
"SYNTEC DIGITAL AUDIO": "00H 20H 05H",
"TRIDENT AUDIO DEVELOPMENTS": "00H 20H 06H",
"REAL WORLD STUDIO": "00H 20H 07H",
"EVOLUTION SYNTHESIS": "00H 20H 08H",
"YES TECHNOLOGY": "00H 20H 09H",
"AUDIOMATICA": "00H 20H 0AH",
"BONTEMPI / FARFISA (COMUS)": "00H 20H 0BH",
"F.B.T. ELETTRONICA SPA": "00H 20H 0CH",
"MIDITEMP GMBH": "00H 20H 0DH",
"LA AUDIO (LARKING AUDIO)": "00H 20H 0EH",
"ZERO 88 LIGHTING LIMITED": "00H 20H 0FH",
"MICON AUDIO ELECTRONICS GMBH": "00H 20H 10H",
"FOREFRONT TECHNOLOGY": "00H 20H 11H",
"STUDIO AUDIO AND VIDEO LTD.": "00H 20H 12H",
"KENTON ELECTRONICS": "00H 20H 13H",
"CELCO DIVISION OF ELECTROSONIC": "00H 20H 14H",
"ADB": "00H 20H 15H",
"MARSHALL PRODUCTS LIMITED": "00H 20H 16H",
"DDA": "00H 20H 17H",
"BSS AUDIO LTD.": "00H 20H 18H",
"MA LIGHTING TECHNOLOGY": "00H 20H 19H",
"FATAR SRL C/O MUSIC INDUSTRIES": "00H 20H 1AH",
"ARTISAN CLASIC ORGAN INC.": "00H 20H 1CH",
"ORLA SPA": "00H 20H 1DH",
"PINNACLE AUDIO (KLARK TEKNIK)": "00H 20H 1EH",
"TC ELECTRONICS": "00H 20H 1FH",
"DOEPFER MUSIKELEKTRONIK GMBH": "00H 20H 20H",
"CREATIVE TECHNOLOGY PTE. LTD. C/O": "00H 20H 21H",
"SEIYDDO/MINAMI": "00H 20H 22H",
"GOLDSTAR CO. LTD.": "00H 20H 23H",
"MIDISOFT S.A.S. DI M.CIMA & C": "00H 20H 24H",
"SAMICK MUSICAL INST. CO. LTD.": "00H 20H 25H",
"PENNY AND GILES": "00H 20H 26H",
"ACORN COMPUTER": "00H 20H 27H",
"LSC ELECTRONICS PTY. LTD.": "00H 20H 28H",
"NOVATION EMS": "00H 20H 29H",
"SAMKYUNG MECHATRONICS": "00H 20H 2AH",
"MEDELI ELECTRONICS CO": "00H 20H 2BH",
"CHARLIE LAB SRL": "00H 20H 2CH",
"BLUE CHIP MUSIC TECHNOLOGY": "00H 20H 2DH",
"BEE OH CORP": "00H 20H 2EH",
"LG SEMICONDUCTOR": "00H 20H 2FH",
"TESI": "00H 20H 30H",
"EMAGIC": "00H 20H 31H",
"BEHRINGER GMBH": "00H 20H 32H",
"ACCESS": "00H 20H 33H",
"SYNOPTIC": "00H 20H 34H",
"HANMESOFT CORP": "00H 20H 35H",
"TERRATEC ELECTRONIC GMBH": "00H 20H 36H",
"PROEL SPA": "00H 20H 37H",
"IBK MIDI": "00H 20H 38H",
"IRCAM": "00H 20H 39H",
"PROPELLERHEAD SOFTWARE": "00H 20H 3AH",
"RED SOUND SYSTEMS LTD": "00H 20H 3BH",
"ELEKTRON ESI AB": "00H 20H 3CH",
"SINTEFEX AUDIO": "00H 20H 3DH",
"MAM (MUSIC AND MORE)": "00H 20H 3EH",
"AMSARO GMBH": "00H 20H 3FH",
"CDS ADVANCED TECHNOLOGY BV": "00H 20H 40H",
"TOUCHED BY SOUND GMBH": "00H 20H 41H",
"DSP ARTS": "00H 20H 42H",
"PHIL REES MUSIC TECH": "00H 20H 43H",
"STAMER MUSIKANLAGEN GMBH": "00H 20H 44H",
"SOUNDART (MUSICAL MUNTANER)": "00H 20H 45H",
"C-MEXX SOFTWARE": "00H 20H 46H",
"KLAVIS TECHNOLOGIES": "00H 20H 47H",
"NOTEHEADS AB": "00H 20H 48H",
"ALGORITHMIX": "00H 20H 49H",
"SKRYDSTRUP R&D": "00H 20H 4AH",
"PROFESSIONAL AUDIO COMPANY": "00H 20H 4BH",
"DBTECH": "00H 20H 4CH",
"VERMONA": "00H 20H 4DH",
"NOKIA": "00H 20H 4EH",
"WAVE IDEA": "00H 20H 4FH",
"HARTMANN GMBH": "00H 20H 50H",
"LION'S TRACS": "00H 20H 51H",
"ANALOGUE SYSTEMS": "00H 20H 52H",
"FOCAL-JMLAB": "00H 20H 53H",
"RINGWAY ELECTRONICS (CHANG-ZHOU)": "00H 20H 54H",
"FAITH TECHNOLOGIES (DIGIPLUG)": "00H 20H 55H",
"SHOWWORK": "00H 20H 56H",
"MANIKIN ELECTORONIC": "00H 20H 57H",
"1 COME TECH": "00H 20H 58H",
"PHONIC CORP": "00H 20H 59H",
"LAKE TECHNOLOGY": "00H 20H 5AH",
"SILANSYS TECHNOLOGIES": "00H 20H 5BH",
"WINBOND ELECTRONICS": "00H 20H 5CH",
"CINETIX MEDIEN UND INTERFACE GMBH": "00H 20H 5DH",
"A&G SOLUZIONI DIGITALI": "00H 20H 5EH",
"SEQUENTIX MUSIC SYSTEMS": "00H 20H 5FH",
"ORAM PRO AUDIO": "00H 20H 60H",
"BE4 LTD.": "00H 20H 61H",
"INFECTION MUSIC": "00H 20H 62H",
"CENTRAL MUSIC CO.(CME)": "00H 20H 63H",
"GENOQS MACHINES": "00H 20H 64H",
"MEDIALON": "00H 20H 65H",
"WAVES AUDIO LTD": "00H 20H 66H",
"JERASH LABS": "00H 20H 67H",
"DA FACT": "00H 20H 68H",
"ELBY DESIGNS": "00H 20H 69H",
"SPECTRAL AUDIO": "00H 20H 6AH",
"ARTURIA": "00H 20H 6BH",
"VIXID": "00H 20H 6CH",
"C-THRU MUSIC": "00H 20H 6DH"
}
</script>
</html>