Improve handling of time and zero-pressure events in MIDI export

This commit is contained in:
2026-07-14 06:48:53 +02:00
parent 4bba670084
commit 06efaaa0ea
2 changed files with 20 additions and 1 deletions

View File

@@ -99,11 +99,29 @@ test('builds native Live 10 Channel Pressure steps with raw values', () => {
[1, 75],
[1, 75],
[1, 20],
[2, 20],
],
);
assert.deepEqual(envelope.LoopSlot, { Value: {} });
});
test('retains an unchanged zero-pressure event at its original time', () => {
const envelopes = buildMidiClipEnvelopes([midiEvent(48, 2, 0)], {
'ControllerTargets.129': { '@Id': 45123 },
});
assert.deepEqual(
envelopes[0].Automation.Events.FloatEvent.map((event: any) => [
event['@Time'],
event['@Value'],
]),
[
[-63072000, 0],
[0.5, 0],
],
);
});
test('routes each source curve only to its matching pad clip, including MIDI-only pads', () => {
const source0 = midiEvent(24, 0, 30);
const source1 = midiEvent(48, 1, 60);