I have created a simple script to list connected midi input devices. This works fine in Chrome on Windows but fails on Chrome on Mac with 'Cannot read property name of undefined'. This also happens if I copy and paste the code from the w3c.org example:http://www.w3.org/TR/webmidi/#listing-inputs-and-outputs
Here's my code:
var midiTest = {
midiAcess: null,
init: function() {
function onMIDISuccess(midiAccess) {
console.log(midiAccess);
var inputDeviceCount = midiAccess.inputs.size;
if(inputDeviceCount > 0) {
for(var i=0; i<inputDeviceCount; i++) {
var input = midiAccess.inputs.get(i);
var deviceName = input.name;
console.log(deviceName);
}
}
}
function onMIDIFailure(e) {
console.log('No access to MIDI devices' + e);
}
if(navigator.requestMIDIAccess)
navigator.requestMIDIAccess({ sysex: false }).then(onMIDISuccess, onMIDIFailure);
else
alert("No MIDI support in your browser.");
},
};
midiTest.init();
console.log(midiAccess) works fine. Any idea what's going on here?