From 14c64d59769ac9ad01cf61c4ae2549df3c03da1a Mon Sep 17 00:00:00 2001 From: cvancau Date: Sun, 9 Aug 2026 17:28:40 +0200 Subject: [PATCH] Actualiser src/features/menu/index.jsx --- src/features/menu/index.jsx | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/features/menu/index.jsx b/src/features/menu/index.jsx index 424c21e..e9770be 100644 --- a/src/features/menu/index.jsx +++ b/src/features/menu/index.jsx @@ -1,6 +1,6 @@ import React, { useRef, useState, useEffect } from 'react'; // Ajout de registerMidiLogger dans les imports -import { initWebMidi, changeMidiOutputPort, changeMidiInputPort, registerMidiLogger } from '../../utils/midiHelper'; +import { initWebMidi, changeMidiOutputPort, changeMidiInputPort, registerMidiLogger, requestCurrentPatchDump, registerPatchReceiver } from '../../utils/midiHelper'; import { Select } from '../utils/components'; import { useDispatch, useSelector } from 'react-redux'; import { @@ -48,7 +48,12 @@ export default function Menu() { return updatedLogs.slice(-30); }); }); - }, []); + // Interception et injection automatique du fichier reçu dans l'état Redux d'Alapatch + registerPatchReceiver((rawSysExBytes) => { + // Alapatch possède déjà le décodeur natif pour transformer un fichier .syx en Store Redux + dispatch(parameterFromFile(return_store_from_file(rawSysExBytes))); + }); +}, [dispatch]); // Force le défilement automatique vers le bas de la console lors d'un flux d'octets useEffect(() => { @@ -156,6 +161,17 @@ export default function Menu() {
+ + {/* LE NOUVEAU BOUTON D'IMPORTATION MIDI DIRECT */} + +