From 79ae02f53aba0d52a8d2ee5908b53033cf8ade30 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Tue, 14 Jul 2026 11:53:31 +0200 Subject: [PATCH] Update pad code generation to use pad index instead of array index --- src/lib/transformers/ableton.ts | 4 ++-- src/lib/transformers/dawProject.ts | 4 ++-- src/lib/transformers/midi.ts | 4 ++-- src/lib/transformers/reaper.ts | 4 ++-- src/lib/transformers/webView.ts | 4 ++-- src/lib/utils.ts | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lib/transformers/ableton.ts b/src/lib/transformers/ableton.ts index f7740d9..2826e48 100644 --- a/src/lib/transformers/ableton.ts +++ b/src/lib/transformers/ableton.ts @@ -461,11 +461,11 @@ function abletonTransformer(data: ProjectRawData, exporterParams: ExporterParams if (exporterParams.exportAllPadsWithSamples) { PROJECT_GROUPS.forEach((group) => { - data.pads[group].forEach((pad, index) => { + data.pads[group].forEach((pad) => { if (pad.soundId <= 0) { return; } - const padCode = `${group}${index}` as PadCode; + const padCode = `${group}${pad.pad - 1}` as PadCode; if (trackLookup.has(padCode)) { return; } diff --git a/src/lib/transformers/dawProject.ts b/src/lib/transformers/dawProject.ts index 2cf897d..3f85aa8 100644 --- a/src/lib/transformers/dawProject.ts +++ b/src/lib/transformers/dawProject.ts @@ -133,12 +133,12 @@ function dawProjectTransformer(data: ProjectRawData, exporterParams: ExporterPar if (exporterParams.exportAllPadsWithSamples) { for (const group in pads) { - pads[group].forEach((pad, index) => { + pads[group].forEach((pad) => { if (pad.soundId <= 0) { return; } - const padCode = `${group}${index}` as PadCode; + const padCode = `${group}${pad.pad - 1}` as PadCode; if (tracks.some((t) => t.padCode === padCode)) { return; } diff --git a/src/lib/transformers/midi.ts b/src/lib/transformers/midi.ts index 97cc06f..df0ddb8 100644 --- a/src/lib/transformers/midi.ts +++ b/src/lib/transformers/midi.ts @@ -71,12 +71,12 @@ function midiTransformer(data: ProjectRawData, exporterParams: ExporterParams) { if (exporterParams.exportAllPadsWithSamples) { for (const group in pads) { - pads[group].forEach((pad, index) => { + pads[group].forEach((pad) => { if (pad.soundId <= 0) { return; } - const padCode = `${group}${index}`; + const padCode = `${group}${pad.pad - 1}`; if (midiTracks.some((t) => t.padCode === padCode)) { return; } diff --git a/src/lib/transformers/reaper.ts b/src/lib/transformers/reaper.ts index 3e489d8..cb7870c 100644 --- a/src/lib/transformers/reaper.ts +++ b/src/lib/transformers/reaper.ts @@ -91,12 +91,12 @@ export function reaperTransform(data: ProjectRawData, exporterParams: ExporterPa if (exporterParams.exportAllPadsWithSamples) { for (const group in pads) { - pads[group].forEach((pad, index) => { + pads[group].forEach((pad) => { if (pad.soundId <= 0) { return; } - const padCode = `${group}${index}` as PadCode; + const padCode = `${group}${pad.pad - 1}` as PadCode; if (tracks.some((t) => t.padCode === padCode)) { return; } diff --git a/src/lib/transformers/webView.ts b/src/lib/transformers/webView.ts index 94afdfd..394dbdf 100644 --- a/src/lib/transformers/webView.ts +++ b/src/lib/transformers/webView.ts @@ -62,9 +62,9 @@ function webViewTransformer(data: ProjectRawData): ViewData { // also add pads that have samples assigned (even without patterns) for (const group in pads) { - pads[group].forEach((pad, index) => { + pads[group].forEach((pad) => { if (pad.soundId > 0) { - usedPads.add(`${group}${index}`); + usedPads.add(`${group}${pad.pad - 1}`); } }); } diff --git a/src/lib/utils.ts b/src/lib/utils.ts index bb18745..b5dae8f 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -3,8 +3,8 @@ import { PAD_DISPLAY_FROM_INDEX } from './constants'; export function findPad(pad: string, pads: Record) { const group = pad[0]; - const padNumber = parseInt(pad.slice(1), 10); - const padData = pads[group][padNumber]; + const source = parseInt(pad.slice(1), 10); + const padData = pads[group]?.find((candidate) => candidate.pad === source + 1); return padData; }