diff --git a/src/lib/exporters/ableton/builders.ts b/src/lib/exporters/ableton/builders.ts index 65b3a7b..62fec15 100644 --- a/src/lib/exporters/ableton/builders.ts +++ b/src/lib/exporters/ableton/builders.ts @@ -635,6 +635,13 @@ async function buildDrumRackDevice(koTrack: AblTrack, abletonVersion: AbletonVer const device = structuredClone(drumRackTemplate.DrumGroupDevice); device.Branches.DrumBranch = []; + device.ReturnBranches = {}; + device.LastPresetRef.Value = {}; + device.ShouldShowPresetName['@Value'] = 'false'; + device.UserName['@Value'] = ''; + device.Annotation['@Value'] = ''; + device.IsReturnBranchesListVisible['@Value'] = 'false'; + device.AreSendsVisible['@Value'] = 'false'; for (const [idx, subtrack] of koTrack.tracks.entries()) { if (!subtrack.sampleName) { @@ -655,6 +662,7 @@ async function buildDrumRackDevice(koTrack: AblTrack, abletonVersion: AbletonVer drumBranch.BranchInfo.SendingNote['@Value'] = subtrack.drumRackSendingNote ?? subtrack.rootNote; // not sure if this matters drumBranch.BranchInfo.ChokeGroup['@Value'] = subtrack.inChokeGroup ? 1 : 0; drumBranch.MixerDevice.Volume.Manual['@Value'] = subtrack.volume; + drumBranch.MixerDevice.SendInfos = {}; const branchDevices = await buildSimplerDevice(subtrack, abletonVersion); assignDeviceListIds([branchDevices]); drumBranch.DeviceChain.MidiToAudioDeviceChain.Devices = branchDevices; diff --git a/tests/ableton-hybrid.test.ts b/tests/ableton-hybrid.test.ts index ee7f7bf..7cec276 100644 --- a/tests/ableton-hybrid.test.ts +++ b/tests/ableton-hybrid.test.ts @@ -181,6 +181,8 @@ test('serializes every nested Live 10 Simpler as an identified list member', asy assert.ok(simplerTags.length > 0); assert.ok(simplerTags.every((tag) => /\sId="\d+"/.test(tag))); + assert.doesNotMatch(xml, /