Add comprehensive test coverage for Ableton automation, fader policies, and pad sound export logic
This commit is contained in:
@@ -86,3 +86,38 @@ test('uses absolute automation targets for Session clip envelopes', () => {
|
||||
assert.equal(envelopes[0].Automation.Events.FloatEvent[2]['@Time'], 1);
|
||||
assert.deepEqual(envelopes[0].LoopSlot, { Value: {} });
|
||||
});
|
||||
|
||||
test('does not create Session envelopes without recorded parameter events', () => {
|
||||
const withoutPan = {
|
||||
...occurrence,
|
||||
faderAutomation: occurrence.faderAutomation.filter(
|
||||
(point) => point.parameter !== FaderParam.PAN,
|
||||
),
|
||||
};
|
||||
const envelopes = buildClipEnvelopes(
|
||||
withoutPan,
|
||||
{ [FaderParam.PAN]: [{ session: 23000 }] },
|
||||
track,
|
||||
false,
|
||||
);
|
||||
|
||||
assert.deepEqual(envelopes, []);
|
||||
});
|
||||
|
||||
test('keeps research-only group parameters out of Live target envelopes', () => {
|
||||
const researchOccurrence = {
|
||||
...occurrence,
|
||||
faderAutomation: [
|
||||
{ parameter: FaderParam.TIM, position: 0, value: 0.25, flags: 0 },
|
||||
{ parameter: FaderParam.ATK, position: 0, value: 0.5, flags: 0 },
|
||||
{ parameter: FaderParam.REL, position: 0, value: 0.75, flags: 0 },
|
||||
],
|
||||
};
|
||||
const targets = {
|
||||
[FaderParam.TIM]: [{ session: 23000 }],
|
||||
[FaderParam.ATK]: [{ session: 23001 }],
|
||||
[FaderParam.REL]: [{ session: 23002 }],
|
||||
};
|
||||
|
||||
assert.deepEqual(buildClipEnvelopes(researchOccurrence, targets, track, false), []);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user