Update Ableton MIDI exporter to support locked envelopes and improve robustness

This commit is contained in:
2026-07-14 06:51:10 +02:00
parent 06efaaa0ea
commit d5f86370d7
2 changed files with 15 additions and 5 deletions

View File

@@ -83,14 +83,18 @@ test('decodes only the captured EP Channel Pressure record shape', () => {
});
test('builds native Live 10 Channel Pressure steps with raw values', () => {
const controllerTargets = {
'ControllerTargets.129': { '@Id': 45123, LockEnvelope: { '@Value': 0 } },
};
const envelopes = buildMidiClipEnvelopes(
[midiEvent(192, 2, 20), midiEvent(96, 2, 75), midiEvent(96, 2, 20)],
{ 'ControllerTargets.129': { '@Id': 45123 } },
controllerTargets,
);
const envelope = envelopes[0];
const events = envelope.Automation.Events.FloatEvent;
assert.equal(envelope.EnvelopeTarget.PointeeId['@Value'], 45123);
assert.equal(controllerTargets['ControllerTargets.129'].LockEnvelope['@Value'], 1);
assert.deepEqual(
events.map((event: any) => [event['@Time'], event['@Value']]),
[