tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

refresh_port_list.html (1574B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <title>Refresh MIDI port list test</title>
      5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"></meta>
      6 </head>
      7 <body>
      8 <script>
      9  var access = null;
     10  async function get_access() {
     11    access = await navigator.requestMIDIAccess({ sysex: true });
     12  }
     13 
     14  async function reset_access() {
     15    access = null;
     16  }
     17 
     18  async function get_num_ports() {
     19    return access.inputs.size + access.outputs.size;
     20  }
     21 
     22  async function add_port() {
     23    let addPortPromise = new Promise(resolve => {
     24      access.addEventListener("statechange", (event) => { dump("***** 1 event.port.name = " + event.port.name + "event.connection = " + event.port.connection + "\n"); if (event.port.connection != "open") { resolve(); } });
     25    });
     26    const outputs = access.outputs.values();
     27    const output = outputs.next().value;
     28    output.send([0x90, 0x01, 0x00]);
     29    await addPortPromise;
     30  }
     31 
     32  async function remove_port() {
     33    let removePortPromise = new Promise(resolve => {
     34        access.addEventListener("statechange", (event) => { dump("***** 2 event.port.name = " + event.port.name + "event.connection = " + event.port.connection + "\n"); if (event.port.connection != "open") { resolve(); } });
     35    });
     36    const outputs = access.outputs.values();
     37    const output = outputs.next().value;
     38    output.send([0x90, 0x02, 0x00]);
     39    await removePortPromise;
     40  }
     41 
     42  async function force_refresh() {
     43    const outputs = access.outputs.values();
     44    const output = outputs.next().value;
     45    output.send([0x90, 0x04, 0x00]);
     46  }
     47 </script>
     48 </body>
     49 </html>