Update Ableton exporter logic to use AutomationTarget ID for both arrangement and session targets.

This commit is contained in:
2026-07-13 05:12:11 +02:00
parent e2364478fa
commit 71274252da
2 changed files with 9 additions and 11 deletions

View File

@@ -41,7 +41,7 @@ export function convertFaderValue(
) { ) {
switch (parameter) { switch (parameter) {
case FaderParam.LVL: case FaderParam.LVL:
if (groupMixer || session) { if (groupMixer) {
return value; return value;
} }
return track.volume * value; return track.volume * value;

View File

@@ -94,15 +94,13 @@ function setLive10SampleReference(fileRef: any, sampleName: string) {
} }
function targetFor(parameter: any): { arrangement?: number; session?: number } { function targetFor(parameter: any): { arrangement?: number; session?: number } {
const automationTarget =
parameter?.AutomationTarget?.['@Id'] === undefined
? undefined
: Number(parameter.AutomationTarget['@Id']);
return { return {
arrangement: arrangement: automationTarget,
parameter?.AutomationTarget?.['@Id'] === undefined session: automationTarget,
? undefined
: Number(parameter.AutomationTarget['@Id']),
session:
parameter?.ModulationTarget?.['@Id'] === undefined
? undefined
: Number(parameter.ModulationTarget['@Id']),
}; };
} }
@@ -141,11 +139,11 @@ function trackAutomationTargets(midiTrack: any, includeArrangementMixer: boolean
const mixer = midiTrack.DeviceChain.Mixer; const mixer = midiTrack.DeviceChain.Mixer;
addTarget(targets, FaderParam.LVL, { addTarget(targets, FaderParam.LVL, {
arrangement: includeArrangementMixer ? Number(mixer.Volume.AutomationTarget['@Id']) : undefined, arrangement: includeArrangementMixer ? Number(mixer.Volume.AutomationTarget['@Id']) : undefined,
session: Number(mixer.Volume.ModulationTarget['@Id']), session: Number(mixer.Volume.AutomationTarget['@Id']),
}); });
addTarget(targets, FaderParam.PAN, { addTarget(targets, FaderParam.PAN, {
arrangement: includeArrangementMixer ? Number(mixer.Pan.AutomationTarget['@Id']) : undefined, arrangement: includeArrangementMixer ? Number(mixer.Pan.AutomationTarget['@Id']) : undefined,
session: Number(mixer.Pan.ModulationTarget['@Id']), session: Number(mixer.Pan.AutomationTarget['@Id']),
}); });
const send = mixer.Sends?.TrackSendHolder?.Send; const send = mixer.Sends?.TrackSendHolder?.Send;