The LiveSet element holds the whole song. The tables below list the children
that published readers name; Live writes more than these and adds some with each version,
so a reader should ignore what it does not know. Where a name is known only from
PyAbleton’s Python attribute, it is given in Live’s capitalised spelling and marked
† as inferred.
LiveSet children
| Element | Holds |
|---|---|
NextPointeeId | The next free pointee number. |
OverwriteProtectionNumber | A number, 1024 in the published example. Its use is not documented. |
LomId, LomIdView | Live Object Model identifiers. |
Tracks | The MidiTrack, AudioTrack, ReturnTrack and GroupTrack elements. See tracks. |
MasterTrack (Live 11 and before), MainTrack (Live 12) | The output track, holding the mixer with the set’s tempo and time signature. See tempo. |
PreHearTrack | The cue output. |
SendsPre | Per-send flags: Id and a boolean Value. |
Scenes | Scene elements. See scenes. |
Transport | Loop on, loop start and length, whether the loop starts the song, current time, punch in and out, metronome tick and draw mode.† |
SongMasterValues | Holds SessionScrollerPos (x and y).† |
SignalModulations | Modulation data.† |
GlobalQuantisation, AutoQuantisation | Quantisation settings.† |
Grid | Grid settings.† |
ScaleInformation | Root note and scale name.† |
InKey | Whether scale awareness is on.† |
SmpteFormat | Timecode format.† |
TimeSelection | AnchorTime and EndTime in one published example; PyAbleton reads anchor_time and other_time. |
SequencerNavigator | Zoom (BeatTimeHelper/CurrentZoom), ScrollerPos and ClientSize.† |
ExpressionLanes, ContentLanes | Lanes with Id, Type, Size and IsMinimized.† |
Locators | The arrangement’s markers. See locators. |
Annotation | Text note on the set.† |
SoloOrPflSavedValue, SoloInPlace | Solo settings.† |
CrossfadeCurve | Crossfader curve.† |
LatencyCompensation | Delay compensation setting.† |
HighlightedTrackIndex | Selected track.† |
GroovePool | The grooves used in the set.† |
AutomationMode, SnapAutomationToGrid, ArrangementOverdub | Editing and recording options.† |
ColorSequenceIndex, AutoColorPickerForPlayerAndGroupTracks, AutoColorPickerForReturnAndMasterTracks | The colours given to new tracks; the pickers hold NextColorIndex.† |
ViewData, ViewStates, ViewStateFxSlotCount, ViewStateSessionMixerHeight, TrackHeaderWidth, ViewStateArrangerHasDetail, ViewStateSessionHasDetail, ViewStateDetailIsSample | Window layout.† |
MidiFoldIn, MidiFoldMode, MidiPrelisten, MultiClipFocusMode, MultiClipLoopBarHeight, ResetNonautomatedMidiControllersOnClipStarts | MIDI editing options.† |
LinkedTrackGroups | Linked track groups.† |
VideoWindowRect, ShowVideoWindow | Video window position and visibility.† |
AccidentalSpellingPreference, PreferFlatRootNote, UseWarperLegacyHiQMode | Notation and playback options.† |
Tracks
Every track carries an Id attribute. MidiTrack,
AudioTrack, ReturnTrack and GroupTrack share most
of these children.
| Element | Holds |
|---|---|
Name | EffectiveName (the name shown), UserName (the name typed), Annotation and MemorizedFirstClipName. |
Color or ColorIndex | The track’s colour. One published note decodes Color as RGB (value >> 16, >> 8, & 255); other readers treat it as a colour code. Not confirmed. |
TrackDelay | Value and IsValueSampleBased.† |
IsContentSelectedInDocument, PreferredContentViewMode, TrackUnfolded | Selection and view state.† |
TrackGroupId | Id of the group track it sits in; -1 for none. |
LinkedTrackGroupId | Linked group.† |
DevicesListWrapper, ClipSlotsListWrapper, ViewData | Internal wrappers and view data.† |
DeviceChain | The track’s signal path. See device chain. |
SavedPlayingSlot, SavedPlayingOffset | The clip slot that was playing and its offset.† |
Freeze, NeedArrangerRefreeze, PostProcessFreezeClips | Freeze state.† |
VelocityDetail, PitchbendRange, ReWireSlaveMidiTargetId | MIDI details of MIDI tracks.† |
Device chain
The track’s DeviceChain holds its routing, mixer and sequencers. One
published example has the master track’s mixer one level deeper, at
DeviceChain/DeviceChain/Mixer, while PyAbleton reads Mixer
on the outer DeviceChain. Devices are elements named after the device (for
example Wavetable or Eq8), and a rack holds them in
InstrumentBranch/Items or AudioEffectBranch/Items. Each
device has its own schema, and Ableton publishes none of them.
| Element | Holds |
|---|---|
AudioInputRouting, MidiInputRouting, AudioOutputRouting, MidiOutputRouting | Target, UpperDisplayString, LowerDisplayString and MpeSettings (ZoneType, FirstNoteChannel, LastNoteChannel).† |
Mixer | Volume, pan and sends. See mixer. |
MainSequencer | ClipSlotList of ClipSlot elements for Session clips, and ClipTimeable/ArrangerAutomation/Events for Arrangement clips. Also On, MonitoringEnum, IsExpanded, IsFolded, ShouldShowPresetName, UserName, Annotation. |
FreezeSequencer | The same structure for frozen audio, with MonitoringEnum, PitchViewScrollPosition and SampleOffsetModulationScrollPosition. |
ClipEnvelopeChooserViewState | SelectedDevice, SelectedEnvelope, PreferModulationVisible.† |
A device on the chain commonly has LomId, LomIdView,
IsExpanded, an On element with Manual, an
AutomationTarget and MidiCCOnOffThresholds (Min
and Max), and ModulationSourceCount.
Mixer
| Element | Holds |
|---|---|
Pan | Pan: LomId and Manual. SplitStereoPanL and SplitStereoPanR have the same form.† |
PanMode | The panning mode.† |
SoloSink | Solo sink.† |
CrossFadeState | The track’s crossfader assignment.† |
SendsListWrapper | Wrapper of the sends list.† |
Tempo, TimeSignature | Only on the master or main track. See tempo. |
Tempo and time signature
The set’s tempo is on the master track at
DeviceChain/DeviceChain/Mixer/Tempo in the examples published. Which
element holds it depends on the Live version, and readers pick by the number before the
point in MinorVersion:
| Live | Starting tempo | Tempo automation | Master track element |
|---|---|---|---|
| 8 | Tempo/ArrangerAutomation/Events, first event’s Value | Tempo/ArrangerAutomation/Events | MasterTrack |
| 9 | Tempo/Manual@Value | Tempo/ArrangerAutomation/Events | MasterTrack |
| 10, 11 | Tempo/Manual@Value | The envelope on the master track whose target is the tempo’s AutomationTarget | MasterTrack |
| 12 | Tempo/Manual@Value | The same, on the main track | MainTrack |
Mixer/TimeSignature holds TimeSignatureNumerator and
TimeSignatureDenominator in the published example.
Automation
A track’s AutomationEnvelopes/Envelopes holds one envelope per automated
parameter. EnvelopeTarget/PointeeId@Value names the parameter by the
Id of its AutomationTarget, and
Automation/Events holds the points.
| Event attribute | Meaning |
|---|---|
Id | The event’s number. |
Time | Position in beats. |
Value | The value at that position, in the parameter’s own units (BPM for tempo). |
CurveControl1X, CurveControl1Y, CurveControl2X, CurveControl2Y | Optional Bézier control points on curved segments. dawtool handles only linear tempo automation. |
Other envelopes, such as those on a device, follow the same shape. The element
containing the events can have more than one event type, such as
FloatEvent and EnumEvent.
Locators
The arrangement’s markers are in the doubly nested Locators/Locators
element. Each child has Time@Value, in beats, and
Name@Value. An empty inner element means no locators.
Scenes
Each Scene has an Id attribute and these children:
| Element | Holds |
|---|---|
Name, Annotation | The scene’s name and note. |
Color or ColorIndex | Its colour. |
Tempo and TempoEnabled or IsTempoEnabled | A tempo to switch to when the scene launches, and whether it is used. Both spellings appear in published notes. |
TimeSignature or TimeSignatureId, and TimeSignatureEnabled or IsTimeSignatureEnabled | The scene’s time signature, and whether it is used. |
FollowAction | The scene’s follow action.† |
LomId, LomIdView, ClipSlotsListWrapper | Internal identifiers.† |
Not confirmed
- Names marked † are inferred from PyAbleton’s Python attribute names, not read from a file.
- Whether
Coloris RGB or a palette index in any given version, and whenColorIndexwas replaced. - The schema of each device, the values of
MonitoringEnum,PanModeand other enumerations, and the units ofTimeSelection.