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

@@ -1,6 +1,7 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import {
canonicalizeFilterFaderValue,
convertGroupFaderValue,
FADER_POLICIES,
getFaderPolicy,
@@ -30,3 +31,10 @@ test('uses one group-fader conversion path for mixer and pad targets', () => {
assert.equal(convertGroupFaderValue(FaderParam.PAN, 0.75, { track }), 0.5);
assert.equal(convertGroupFaderValue(FaderParam.PTC, 0.75, { track, valueOffset: 7 }), 9.5);
});
test('canonicalizes only effectively-open filter fader values', () => {
assert.equal(canonicalizeFilterFaderValue(FaderParam.LPF, 0.9996299743652344), 1);
assert.equal(canonicalizeFilterFaderValue(FaderParam.HPF, 0.0003700256347656), 0);
assert.equal(canonicalizeFilterFaderValue(FaderParam.LPF, 0.998), 0.998);
assert.equal(canonicalizeFilterFaderValue(FaderParam.HPF, 0.002), 0.002);
});