diff --git a/editor.html b/editor.html index 99e297f..c596e6c 100644 --- a/editor.html +++ b/editor.html @@ -1719,10 +1719,14 @@ refreshFeatureBoxes(); $("continueMode").checked = continueMode; $("timersOn").checked = timersOn; $("logSessions").checked = loggingOn; -// Connect to a PM_K-1 / PM_X-1 over USB-MIDI on load so the header badge reflects the link -// (Chrome remembers the grant; first visit prompts once). updateDevBadge runs via _wireMidi. -if (navigator.requestMIDIAccess) _ensureMidi().then(updateDevBadge).catch(() => updateDevBadge()); -else updateDevBadge(); +// Never prompt for Web MIDI on load. Only auto-reconnect if the user ALREADY granted it (querying +// the permission does NOT prompt); otherwise just show the badge — the "connect device" badge and +// the Device-audio button request access on an explicit click. +if (navigator.requestMIDIAccess && navigator.permissions && navigator.permissions.query) { + navigator.permissions.query({ name: "midi", sysex: true }) + .then(p => { if (p.state === "granted") _ensureMidi().then(updateDevBadge).catch(() => updateDevBadge()); else updateDevBadge(); }) + .catch(() => updateDevBadge()); +} else updateDevBadge(); requestAnimationFrame(drawLoop); /*@BUILD:include:src/chrome.js@*/ diff --git a/pm_e-2.html b/pm_e-2.html new file mode 100644 index 0000000..fe713d9 --- /dev/null +++ b/pm_e-2.html @@ -0,0 +1,1797 @@ + + +
+ + +