Web MIDI API gets HotPlug Feature from Chrome M43(for Mac)


Web MIDI API on Chrome gets new feature from M43(You can try with Canary from today!!). That feature is Hot-Plug. So, the Chrome immediately recognizes MIDI device’s connection or disconnection. The connection/disconnection of MIDI device is informed by event. Before M43, Chrome does not recognize the MIDI devices are connected after requestMIDIAccess() is used. I think to add this feature is a big progress!! In the spec, Hot-Plug feature is written as “onstatechage” in MIDIAccess Interface and MIDI Port Interface. Let’s take a look at how to write code.

navigator.requestMIDIAccess({"sysex":true}).then(successCallback, errorCallback);
function successCallback(access) {
          // event.port に 接続/切断 されたMIDI機器が入っています。
function errorCallback(msg) {
      console.log("[ERROR] ", msg);

The device information(MIDIPort) which is connected/disconnected is set in port. And its status is coming into port.state. port.state has 3 status in below.

  • disconnected: the device, which is connected , is disconnected
  • connected: the device is connected, but does NOT accept data transfer
  • opened: the device is connected, and ready to transfer data
    For MIDIPort, code and state are exactly same with MIDIAccess. When the event is attached to MIDIPort, connection/disconnection will be detected and informeb by event.

    This update would help lots of application which is using Web MIDI API and improve user experience!!!

カヌレマラソン #6

Published on September 11, 2022

Continue reading

カヌレマラソン #5

Published on September 10, 2022

カヌレマラソン #4

Published on September 02, 2022