This example requires Jazz-Plugin v.1.4 or later.
This demo shows how to set handlers for MIDI port Connect/Disconnect events.
If you have a USB MIDI device, try to plug or unplug it. The page will display an alert and update the port list above.
<!DOCTYPE html>
<html>
<head>
<title>Connected MIDI</title>
<style type="text/css">
.hidden {
visibility: hidden;
width: 0px;
height: 0px;
margin: 0px;
padding: 0px;
border-style: none;
border-width: 0px;
max-width: 0px;
max-height: 0px;
}
</style>
</head>
<body>
<h1>Connected MIDI</h1>
<object id="Jazz1" classid="CLSID:1ACE1618-1C7D-4561-AEE1-34842AA85E90" class="hidden">
<object id="Jazz2" type="audio/x-jazz" class="hidden">
<p style="visibility:visible;">This page requires <a href=http://jazz-soft.net>Jazz-Plugin</a> ...</p>
</object>
</object>
<div id=out>This page requires Jazz-Plugin v.1.4 or later.</div>
<script><!--
var Jazz = document.getElementById("Jazz1"); if(!Jazz || !Jazz.isJazz) Jazz = document.getElementById("Jazz2");
var out=document.getElementById("out");
function list_midi_ports(){
var i;
var info;
var txt="<ul><li>MIDI-Out ports:</li><ul>";
var outs=Jazz.MidiOutList();
if(outs.length){
for(i=0;i<outs.length;i++){
txt+="<li>"+outs[i];
info=Jazz.MidiOutInfo(outs[i]);
if(info.length>=3){
txt+="<ul><li>Manufacturer: "+info[1]+"; Version: "+info[2]+"</li></ul>";
}
txt+="</li>";
}
} else {
txt+="<li>none</li>";
}
txt+="</ul><li>MIDI-In ports:</li><ul>";
var ins=Jazz.MidiInList();
if(ins.length){
for(i=0;i<ins.length;i++){
txt+="<li>"+ins[i];
info=Jazz.MidiInInfo(ins[i]);
if(info.length>=3){
txt+="<ul><li>Manufacturer: "+info[1]+"; Version: "+info[2]+"</li></ul>";
}
txt+="</li>";
}
} else {
txt+="<li>none</li>";
}
txt+="</ul></ul>";
out.innerHTML=txt;
}
if(Jazz.isJazz){
list_midi_ports();
Jazz.OnConnectMidiOut(function(name){ list_midi_ports(); alert("New MIDI-Out port connected: "+name);});
Jazz.OnDisconnectMidiOut(function(name){ list_midi_ports(); alert("MIDI-Out port disconnected: "+name);});
Jazz.OnConnectMidiIn(function(name){ list_midi_ports(); alert("New MIDI-In port connected: "+name);});
Jazz.OnDisconnectMidiIn(function(name){ list_midi_ports(); alert("MIDI-In port disconnected: "+name);});
}
--></script>
</body>
</html>