Remove sample pitch and root note handling in Ableton exporter

This commit is contained in:
2026-07-14 11:36:26 +02:00
parent 4343351920
commit 6c21063906
3 changed files with 33 additions and 9 deletions

View File

@@ -393,6 +393,39 @@ test('preserves rack playback pitch, unused-pad root note, AMP and choke members
assert.equal(melodic.inChokeGroup, true);
});
test('uses the assigned pad record as the static pitch authority', () => {
const data = project();
data.pads.a[0].pitch = 3;
data.sounds = [
{
id: 1,
fileNode: {
nodeId: 1,
flags: 0,
fileSize: 0,
fileName: 'pitched slot',
fileType: 'file',
},
meta: {
name: 'pitched slot',
channels: 1,
samplerate: 46875,
format: 's16',
crc: 0,
'sound.pitch': 12,
},
} as ProjectRawData['sounds'][number],
];
const result = abletonTransformer(data, { includeArchivedSamples: true });
const rack = result.tracks.find((track) => track.drumRack);
const a0 = rack?.tracks.find((track) => track.padCode === 'a0');
assert.ok(a0);
assert.equal(a0.pitch, 3);
assert.equal('samplePitch' in a0, false);
});
test('uses one hybrid classification for Arrangement and Session exports', () => {
const arrangement = abletonTransformer(project(), {
includeArchivedSamples: true,