diff --git a/web_realart/public/control/control.js b/web_realart/public/control/control.js index fd951fa..cadd5ce 100644 --- a/web_realart/public/control/control.js +++ b/web_realart/public/control/control.js @@ -68,11 +68,14 @@ ws.addEventListener("message", (ev) => { state.rhySel = i; saveState(); suppressEmit = true; - restoreSel("rhythm", i); - updateSelLabels("rhythm"); - updateNameInputs(); - renderRhyGrid(); - suppressEmit = false; + try { + restoreSel("rhythm", i); + updateSelLabels("rhythm"); + updateNameInputs(); + renderRhyGrid(); + } finally { + suppressEmit = false; + } return; } @@ -86,11 +89,14 @@ ws.addEventListener("message", (ev) => { state.melSel = i; saveState(); suppressEmit = true; - restoreSel("melody", i); - updateSelLabels("melody"); - updateNameInputs(); - renderMelSteps(); - suppressEmit = false; + try { + restoreSel("melody", i); + updateSelLabels("melody"); + updateNameInputs(); + renderMelSteps(); + } finally { + suppressEmit = false; + } return; } }); diff --git a/web_realart/server.js b/web_realart/server.js index facd756..dd64634 100644 --- a/web_realart/server.js +++ b/web_realart/server.js @@ -114,7 +114,9 @@ feedbackPort.on("ready", () => { console.log(`[feedback] ecoute :${FEEDBACK_PORT_IN} <- SC engine`); }); +const FEEDBACK_PREFIXES = ["/armed/", "/sync/", "/seq/"]; feedbackPort.on("message", (oscMsg) => { + if (!FEEDBACK_PREFIXES.some((p) => oscMsg.address.startsWith(p))) return; broadcast({ address: oscMsg.address, args: oscMsg.args }); });