From d131f5758fa7503d180102236b1a4b2607ea7939 Mon Sep 17 00:00:00 2001 From: cvancau Date: Mon, 10 Aug 2026 20:55:39 +0200 Subject: [PATCH] Actualiser src/utils/midiHelper.js --- src/utils/midiHelper.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/utils/midiHelper.js b/src/utils/midiHelper.js index e93b078..c690bd6 100644 --- a/src/utils/midiHelper.js +++ b/src/utils/midiHelper.js @@ -9,6 +9,7 @@ let selectedMidiOutput = null; let selectedMidiInput = null; let onLogCallback = null; let onAllDumpReceivedCallback = null; +let selectedKeyboardInput = null; // Nouvelle fonction de rappel pour transmettre le dump reçu à Redux let onPatchReceivedCallback = null; @@ -80,6 +81,32 @@ export const changeMidiInputPort = (portId) => { }); }; +export const changeKeyboardInputPort = (portId) => { + if (!navigator.requestMIDIAccess) return; + + navigator.requestMIDIAccess({ sysex: true }).then((midiAccess) => { + const inputs = Array.from(midiAccess.inputs.values()); + const target = inputs.find(port => port.id === portId); + + if (selectedKeyboardInput) { + selectedKeyboardInput.onmidimessage = null; + } + + selectedKeyboardInput = target; + + if (selectedKeyboardInput) { + selectedKeyboardInput.onmidimessage = (event) => { + const data = Array.from(event.data); + + if (selectedMidiOutput) { + selectedMidiOutput.send(data); + logMidiActivity('out', '🎹 THRU', data); + } + }; + } + }); +}; + /** * Envoie une requête de "Current Parameter Dump" au microKORG */