2026-07-13 10:17:28 +02:00
|
|
|
import assert from 'node:assert/strict';
|
|
|
|
|
import test from 'node:test';
|
2026-07-13 15:58:10 +02:00
|
|
|
import { getSimplerPlaybackState } from '../src/lib/exporters/ableton/playback';
|
2026-07-13 10:17:28 +02:00
|
|
|
|
2026-07-14 11:22:07 +02:00
|
|
|
test('exports EP KEY as polyphonic Classic playback', () => {
|
2026-07-13 15:58:10 +02:00
|
|
|
assert.deepEqual(getSimplerPlaybackState('key'), {
|
2026-07-14 11:22:07 +02:00
|
|
|
playbackMode: 0,
|
2026-07-13 15:58:10 +02:00
|
|
|
voices: 5,
|
2026-07-14 11:22:07 +02:00
|
|
|
retrigger: true,
|
2026-07-13 15:58:10 +02:00
|
|
|
portamentoMode: 0,
|
2026-07-13 10:20:23 +02:00
|
|
|
});
|
2026-07-14 11:22:07 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('exports EP LEGATO as monophonic Classic playback without retriggering', () => {
|
2026-07-13 15:58:10 +02:00
|
|
|
assert.deepEqual(getSimplerPlaybackState('legato'), {
|
2026-07-14 11:22:07 +02:00
|
|
|
playbackMode: 0,
|
|
|
|
|
voices: 1,
|
2026-07-13 15:58:10 +02:00
|
|
|
retrigger: false,
|
|
|
|
|
portamentoMode: 2,
|
2026-07-13 10:20:23 +02:00
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
2026-07-14 10:46:44 +02:00
|
|
|
test('preserves native EP ONE trigger behavior', () => {
|
2026-07-13 15:58:10 +02:00
|
|
|
assert.deepEqual(getSimplerPlaybackState('oneshot'), {
|
2026-07-13 10:20:23 +02:00
|
|
|
playbackMode: 1,
|
2026-07-13 15:58:10 +02:00
|
|
|
voices: 0,
|
|
|
|
|
retrigger: true,
|
|
|
|
|
portamentoMode: 0,
|
2026-07-13 10:20:23 +02:00
|
|
|
});
|
|
|
|
|
});
|