Enhance Ableton export logic with scaled note velocity and filter fader canonicalization

This commit is contained in:
2026-07-14 11:49:08 +02:00
parent b74c13621d
commit 82a4c73295
6 changed files with 70 additions and 13 deletions

View File

@@ -213,7 +213,10 @@ test('serializes nested Live 10 Simplers without artificial empty Session clips'
});
data.settings.groupFaderParams.a[FaderParam.ATK] = 0.66;
data.settings.groupFaderParams.a[FaderParam.REL] = 0.87;
data.settings.groupFaderParams.a[FaderParam.LPF] = 0.9996299743652344;
data.settings.groupFaderParams.a[FaderParam.VEL] = 0.5325199961662292;
delete data.groupPatterns[0].notes[1];
data.groupPatterns[0].notes[0] = [note(72, 0, 127), note(72, 96, 127), note(72, 192, 48)];
delete data.groupPatterns[1].notes[0];
data.groupPatterns[1].notes[1] = [note(67, 48), note(68, 96)];
data.songPositions = [];
@@ -272,7 +275,10 @@ test('serializes nested Live 10 Simplers without artificial empty Session clips'
assert.doesNotMatch(xml, /<ReturnBranch\s/);
assert.doesNotMatch(xml, /<AudioBranchSendInfo\s/);
assert.doesNotMatch(xml, /Big Break Kit/);
assert.doesNotMatch(xml, /<AutoFilter\b/);
assert.doesNotMatch(xml, /<ClipEnvelope\b/);
assert.equal([...xml.matchAll(/<MidiNoteEvent\b[^>]*\sVelocity="68"/g)].length, 2);
assert.equal([...xml.matchAll(/<MidiNoteEvent\b[^>]*\sVelocity="26"/g)].length, 1);
} finally {
await server.close();
}