Update pad code generation to use pad index instead of array index
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user