From 2402e649a234488b738ae913a296d281a97a7276 Mon Sep 17 00:00:00 2001 From: Shawn Date: Sun, 14 Jun 2026 13:19:51 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20bank=20indexing=20off-by-one=20=E2=80=94?= =?UTF-8?q?=20subtract=201=20when=20sending=20bank=20to=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Client stores bank as b.number+1 (1-based) but the API expects 0-based bank numbers. Caused preset activation to load the wrong empty preset (bank 1 instead of bank 0), so blocks never appeared. --- src/App.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 930742e..0031a2b 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -649,7 +649,7 @@ export default function App(){ const p=presets.find(pr=>pr.num===num); if(!p)return; setCurrentPreset(num); - await handleLoadPreset(p.bank||1,num-1); + await handleLoadPreset((p.bank||1)-1,num-1); },[presets,handleLoadPreset]); // ── Blocks ── @@ -702,14 +702,14 @@ export default function App(){ const next=Math.min(currentBank+1,8); setCurrentBank(next); const bp=presets.filter(p=>p.bank===next); - if(bp.length>0)handleLoadPreset(bp[0].bank,bp[0].num-1); + if(bp.length>0)handleLoadPreset(bp[0].bank-1,bp[0].num-1); },[currentBank,presets,handleLoadPreset]); const handleBankDown=useCallback(()=>{ const next=Math.max(currentBank-1,1); setCurrentBank(next); const bp=presets.filter(p=>p.bank===next); - if(bp.length>0)handleLoadPreset(bp[0].bank,bp[0].num-1); + if(bp.length>0)handleLoadPreset(bp[0].bank-1,bp[0].num-1); },[currentBank,presets,handleLoadPreset]); const handleGlobalBypass=useCallback(()=>{