This commit is contained in:
@@ -9,6 +9,7 @@ let selectedMidiOutput = null;
|
|||||||
let selectedMidiInput = null;
|
let selectedMidiInput = null;
|
||||||
let onLogCallback = null;
|
let onLogCallback = null;
|
||||||
let onAllDumpReceivedCallback = null;
|
let onAllDumpReceivedCallback = null;
|
||||||
|
let selectedKeyboardInput = null;
|
||||||
|
|
||||||
// Nouvelle fonction de rappel pour transmettre le dump reçu à Redux
|
// Nouvelle fonction de rappel pour transmettre le dump reçu à Redux
|
||||||
let onPatchReceivedCallback = null;
|
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
|
* Envoie une requête de "Current Parameter Dump" au microKORG
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user