-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathdemo-es5.js
46 lines (38 loc) · 1.12 KB
/
demo-es5.js
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
"use strict";
var MIDIMessage = require('./dist/index.js'); //eslint-disable-line
if (navigator.requestMIDIAccess){
navigator.requestMIDIAccess().then( onMIDIInit, onMIDIReject );
}
else{
console.error("DOH! No MIDI support present in your browser.");
}
function onMIDIInit (midi){
// midi.inputs
// midi.onstatechange
// midi.outputs
// midi.sysexEnabled
console.log("Successfully Initialized MIDI");
var foundString = "Found " + midi.inputs.size + " inputs and " + midi.outputs.size + " outputs.";
console.log(foundString);
console.log("Sysex is", midi.sysexEnabled ? "enabled" : "disabled");
onMIDIConect(midi);
midi.onstatechange = function(event){
console.log("MIDIConnectionEvent on port", event.port);
if (event.port.type === "input" && event.port.connection === "open"){
onMIDIConect(midi);
}
}
}
function onMIDIConect(midi){
midi.inputs.forEach(function(input){
console.log("Input id:", input.id, input);
input.onmidimessage = function(event){
var midiMessage = MIDIMessage(event);
console.log("Parsed", midiMessage);
}
});
}
function onMIDIReject (error){
console.error(error);
return;
}