Update pad code generation to use pad index instead of array index

This commit is contained in:
2026-07-14 11:53:31 +02:00
parent 481e2b8902
commit 79ae02f53a
6 changed files with 12 additions and 12 deletions

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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}`);
}
});
}

View File

@@ -3,8 +3,8 @@ import { PAD_DISPLAY_FROM_INDEX } from './constants';
export function findPad(pad: string, pads: Record<string, Pad[]>) {
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;
}