diff --git a/src/lib/exporters/ableton/builders.ts b/src/lib/exporters/ableton/builders.ts index 70bf879..0b68d8a 100644 --- a/src/lib/exporters/ableton/builders.ts +++ b/src/lib/exporters/ableton/builders.ts @@ -800,27 +800,7 @@ async function buildTrack( ); } - const sessionClips = [...(koTrack.lane?.sessionClips || [])]; - groupLane?.sessionPatterns.forEach((pattern) => { - const hasClip = sessionClips.some((clip) => clip.sceneIndex === pattern.sceneIndex); - if (!hasClip && pattern.sceneIndex !== undefined) { - sessionClips.push({ - notes: [], - midiEvents: [], - bars: pattern.bars, - offset: 0, - duration: pattern.duration, - loopDuration: pattern.loopDuration, - sceneIndex: pattern.sceneIndex, - sceneName: pattern.sceneName, - timeSignature: pattern.timeSignature, - faderParams: pattern.faderParams, - groupPattern: pattern, - }); - } - }); - - for (const koClip of sessionClips) { + for (const koClip of koTrack.lane?.sessionClips || []) { if (koClip.sceneIndex === undefined) { continue; } diff --git a/src/lib/transformers/ableton.ts b/src/lib/transformers/ableton.ts index 803ab12..818aa91 100644 --- a/src/lib/transformers/ableton.ts +++ b/src/lib/transformers/ableton.ts @@ -382,8 +382,9 @@ function abletonTransformer(data: ProjectRawData, exporterParams: ExporterParams !referencedPatterns.has(getPatternKey(pattern.group, pattern.patternNumber)), ) .toSorted((a, b) => { + const patternDifference = a.patternNumber - b.patternNumber; const groupDifference = PROJECT_GROUPS.indexOf(a.group) - PROJECT_GROUPS.indexOf(b.group); - return groupDifference || a.patternNumber - b.patternNumber; + return patternDifference || groupDifference; }) .forEach((pattern) => { const sceneIndex = ablScenes.length;