How can I get a list of start/end times in my project?

Discuss music production with Ableton Live.
Post Reply
mbaxter
Posts: 2
Joined: Fri Aug 02, 2024 2:15 am

How can I get a list of start/end times in my project?

Post by mbaxter » Thu Aug 21, 2025 3:05 am

Hello, I use ableton live 12 to make mixes such as below:
Image
Does anyone know how I can extract start/end times for each audio file, marker, or track?
I want to generate a timestamped tracklist like so:
```
00:00 エクソシスト = "The Exorcist"
03:23 天使のささやき = When Will I See You Again
06:31 私の孤独 = Ma Solitude
09:49 愛のためいき = Feel Like Makin' Love
14:23 バクスターのテーマ = Theme From "Baxter"
17:24 イッツ・トゥ・レイト = It's Too Late
20:31 愛は夢の中に = I Wan't Last A Day Without You
```
I've tried to write code that does this in both Python and Javacsript, but the furthest I get is being able to convert the .als file to an .xml file, but that xml content does not contain this info to my knowledge. Does this data exist anywhere? Or should I write a VST mod to do so?

Below is a sample of what the .als .xml content I'm parsing looks like, and here is the full file:
https://limewire.com/d/zaVUP#sKtT4T3rs9
```
<?xml version="1.0" encoding="UTF-8"?>
<Ableton MajorVersion="5" MinorVersion="12.0_12203" SchemaChangeCount="3" Creator="Ableton Live 12.2.2" Revision="7acf90750f54314d6795eccf4a40927f9a38fd02">
<LiveSet>
<NextPointeeId Value="22640" />
<OverwriteProtectionNumber Value="3074" />
<LomId Value="0" />
<LomIdView Value="0" />
<Tracks>
<AudioTrack Id="8" SelectedToolPanel="3" SelectedTransformationName="" SelectedGeneratorName="">
<LomId Value="0" />
<LomIdView Value="0" />
<IsContentSelectedInDocument Value="false" />
<PreferredContentViewMode Value="0" />
<TrackDelay>
<Value Value="0" />
<IsValueSampleBased Value="false" />
</TrackDelay>
<Name>
<EffectiveName Value="1-'Come Get it' - Psychostrumental 1990 a LaRhon Recording - eLBee BaD The Prince Of Dance" />
<UserName Value="" />
<Annotation Value="" />
<MemorizedFirstClipName Value="'Come Get it' - Psychostrumental 1990 a LaRhon Recording - eLBee BaD The Prince Of Dance" />
</Name>
<Color Value="17" />
<AutomationEnvelopes>
<Envelopes />
</AutomationEnvelopes>
<TrackGroupId Value="-1" />
<TrackUnfolded Value="true" />
<DevicesListWrapper LomId="0" />
<ClipSlotsListWrapper LomId="0" />
<ArrangementClipsListWrapper LomId="0" />
<TakeLanesListWrapper LomId="0" />
<ViewData Value="{}" />
<TakeLanes>
<TakeLanes />
<AreTakeLanesFolded Value="true" />
</TakeLanes>
<LinkedTrackGroupId Value="-1" />
<SavedPlayingSlot Value="-1" />
<SavedPlayingOffset Value="0" />
<Freeze Value="false" />
<NeedArrangerRefreeze Value="true" />
<PostProcessFreezeClips Value="0" />
<DeviceChain>
<AutomationLanes>
<AutomationLanes>
<AutomationLane Id="0">
<SelectedDevice Value="0" />
<SelectedEnvelope Value="0" />
<IsContentSelectedInDocument Value="false" />
<LaneHeight Value="17" />
</AutomationLane>
</AutomationLanes>
<AreAdditionalAutomationLanesFolded Value="false" />
</AutomationLanes>
<ClipEnvelopeChooserViewState>
<SelectedDevice Value="1" />
<SelectedEnvelope Value="4" />
<PreferModulationVisible Value="true" />
</ClipEnvelopeChooserViewState>
<AudioInputRouting>
<Target Value="AudioIn/External/M0" />
<UpperDisplayString Value="Ext. In" />
<LowerDisplayString Value="1" />
<MpeSettings>
<ZoneType Value="0" />
<FirstNoteChannel Value="1" />
<LastNoteChannel Value="15" />
</MpeSettings>
<MpePitchBendUsesTuning Value="true" />
</AudioInputRouting>
<MidiInputRouting>
<Target Value="MidiIn/External.All/-1" />
<UpperDisplayString Value="Ext: All Ins" />
<LowerDisplayString Value="" />
<MpeSettings>
<ZoneType Value="0" />
<FirstNoteChannel Value="1" />
<LastNoteChannel Value="15" />
</MpeSettings>
<MpePitchBendUsesTuning Value="true" />
</MidiInputRouting>
<AudioOutputRouting>
<Target Value="AudioOut/Main" />
<UpperDisplayString Value="Master" />
<LowerDisplayString Value="" />
<MpeSettings>
<ZoneType Value="0" />
<FirstNoteChannel Value="1" />
<LastNoteChannel Value="15" />
</MpeSettings>
<MpePitchBendUsesTuning Value="true" />
</AudioOutputRouting>
<MidiOutputRouting>
<Target Value="MidiOut/None" />
<UpperDisplayString Value="None" />
<LowerDisplayString Value="" />
<MpeSettings>
<ZoneType Value="0" />
<FirstNoteChannel Value="1" />
<LastNoteChannel Value="15" />
</MpeSettings>
<MpePitchBendUsesTuning Value="true" />
</MidiOutputRouting>
<Mixer>
<LomId Value="0" />
<LomIdView Value="0" />
<IsExpanded Value="true" />
<BreakoutIsExpanded Value="false" />
<On>
<LomId Value="0" />
<Manual Value="true" />
<AutomationTarget Id="8630">
<LockEnvelope Value="0" />
</AutomationTarget>
<MidiCCOnOffThresholds>
<Min Value="64" />
<Max Value="127" />
</MidiCCOnOffThresholds>
</On>
<ModulationSourceCount Value="0" />
<ParametersListWrapper LomId="0" />
<Pointee Id="19718" />
<LastSelectedTimeableIndex Value="2" />
<LastSelectedClipEnvelopeIndex Value="2" />
<LastPresetRef>
<Value />
</LastPresetRef>
<LockedScripts />
<IsFolded Value="false" />
<ShouldShowPresetName Value="false" />
<UserName Value="" />
<Annotation Value="" />
<SourceContext>
<Value />
</SourceContext>
<MpePitchBendUsesTuning Value="true" />
<Sends>
<TrackSendHolder Id="0">
<Send>
<LomId Value="0" />
<Manual Value="0.0003162277571" />
<MidiControllerRange>
<Min Value="0.0003162277571" />
<Max Value="1" />
</MidiControllerRange>
<AutomationTarget Id="8631">
<LockEnvelope Value="0" />
</AutomationTarget>
<ModulationTarget Id="8632">
<LockEnvelope Value="0" />
</ModulationTarget>
</Send>
<EnabledByUser Value="true" />
</TrackSendHolder>
<TrackSendHolder Id="1">
<Send>
<LomId Value="0" />
<Manual Value="0.0003162277571" />
<MidiControllerRange>
<Min Value="0.0003162277571" />
<Max Value="1" />
</MidiControllerRange>
<AutomationTarget Id="8633">
<LockEnvelope Value="0" />
</AutomationTarget>
<ModulationTarget Id="8634">
<LockEnvelope Value="0" />
</ModulationTarget>
</Send>
<EnabledByUser Value="true" />
</TrackSendHolder>
</Sends>
<Speaker>
<LomId Value="0" />
<Manual Value="true" />
<AutomationTarget Id="8635">
<LockEnvelope Value="0" />
</AutomationTarget>
<MidiCCOnOffThresholds>
<Min Value="64" />
<Max Value="127" />
</MidiCCOnOffThresholds>
</Speaker>
<SoloSink Value="false" />
<PanMode Value="0" />
<Pan>
<LomId Value="0" />
<Manual Value="0" />
<MidiControllerRange>
<Min Value="-1" />
<Max Value="1" />
</MidiControllerRange>
<AutomationTarget Id="8636">
<LockEnvelope Value="0" />
</AutomationTarget>
<ModulationTarget Id="8637">
<LockEnvelope Value="0" />
</ModulationTarget>
</Pan>
<SplitStereoPanL>
<LomId Value="0" />
<Manual Value="-1" />
<MidiControllerRange>
<Min Value="-1" />
<Max Value="1" />
</MidiControllerRange>
<AutomationTarget Id="16159">
<LockEnvelope Value="0" />
</AutomationTarget>
<ModulationTarget Id="16160">
<LockEnvelope Value="0" />
</ModulationTarget>
</SplitStereoPanL>
<SplitStereoPanR>
<LomId Value="0" />
<Manual Value="1" />
<MidiControllerRange>
<Min Value="-1" />
<Max Value="1" />
</MidiControllerRange>
<AutomationTarget Id="16161">
<LockEnvelope Value="0" />
</AutomationTarget>
<ModulationTarget Id="16162">
<LockEnvelope Value="0" />
</ModulationTarget>
</SplitStereoPanR>
<Volume>
<LomId Value="0" />
<Manual Value="1" />
<MidiControllerRange>
<Min Value="0.0003162277571" />
<Max Value="1.99526238" />
</MidiControllerRange>
<AutomationTarget Id="8638">
<LockEnvelope Value="0" />
</AutomationTarget>
<ModulationTarget Id="8639">
<LockEnvelope Value="0" />
</ModulationTarget>
</Volume>
<ViewStateSessionTrackWidth Value="93" />
<CrossFadeState>
<LomId Value="0" />
<Manual Value="1" />
<AutomationTarget Id="8640">
<LockEnvelope Value="0" />
</AutomationTarget>
<MidiControllerRange>
<Min Value="0" />
<Max Value="2" />
</MidiControllerRange>
</CrossFadeState>
<SendsListWrapper LomId="0" />
</Mixer>
<MainSequencer>
<LomId Value="0" />
<LomIdView Value="0" />
<IsExpanded Value="true" />
<BreakoutIsExpanded Value="false" />
<On>
<LomId Value="0" />
<Manual Value="true" />
<AutomationTarget Id="8641">
<LockEnvelope Value="0" />
</AutomationTarget>
<MidiCCOnOffThresholds>
<Min Value="64" />
<Max Value="127" />
</MidiCCOnOffThresholds>
</On>
<ModulationSourceCount Value="0" />
<ParametersListWrapper LomId="0" />
<Pointee Id="19719" />
<LastSelectedTimeableIndex Value="0" />
<LastSelectedClipEnvelopeIndex Value="0" />
<LastPresetRef>
<Value />
</LastPresetRef>
<LockedScripts />
<IsFolded Value="false" />
<ShouldShowPresetName Value="false" />
<UserName Value="" />
<Annotation Value="" />
<SourceContext>
<Value />
</SourceContext>
<MpePitchBendUsesTuning Value="true" />
<ClipSlotList>
<ClipSlot Id="0">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="1">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="2">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="3">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="4">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="5">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="6">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="7">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
</ClipSlotList>
<MonitoringEnum Value="2" />
<KeepRecordMonitoringLatency Value="true" />
<Sample>
<ArrangerAutomation>
<Events>
<AudioClip Id="1" Time="0">
<LomId Value="0" />
<LomIdView Value="0" />
<CurrentStart Value="0" />
<CurrentEnd Value="876.53655329045955" />
<Loop>
<LoopStart Value="0" />
<LoopEnd Value="438.26827664399093" />
<StartRelative Value="0" />
<LoopOn Value="false" />
<OutMarker Value="438.26827664399093" />
<HiddenLoopStart Value="0" />
<HiddenLoopEnd Value="438.26827664399093" />
</Loop>
<Name Value="'Come Get it' - Psychostrumental 1990 a LaRhon Recording - eLBee BaD The Prince Of Dance" />
<Annotation Value="" />
<Color Value="17" />
<LaunchMode Value="0" />
<LaunchQuantisation Value="0" />
<TimeSignature>
<TimeSignatures>
<RemoteableTimeSignature Id="0">
<Numerator Value="4" />
<Denominator Value="4" />
<Time Value="0" />
</RemoteableTimeSignature>
</TimeSignatures>
</TimeSignature>
<Envelopes>
<Envelopes />
</Envelopes>
<ScrollerTimePreserver>
<LeftTime Value="0" />
<RightTime Value="438.26827664399093" />
</ScrollerTimePreserver>
<TimeSelection>
<AnchorTime Value="0" />
<OtherTime Value="0" />
</TimeSelection>
<Legato Value="false" />
<Ram Value="false" />
<GrooveSettings>
<GrooveId Value="-1" />
</GrooveSettings>
<Disabled Value="false" />
<VelocityAmount Value="0" />
<FollowAction>
<FollowTime Value="4" />
<IsLinked Value="true" />
<LoopIterations Value="1" />
<FollowActionA Value="4" />
<FollowActionB Value="0" />
<FollowChanceA Value="100" />
<FollowChanceB Value="0" />
<JumpIndexA Value="1" />
<JumpIndexB Value="1" />
<FollowActionEnabled Value="false" />
</FollowAction>
<Grid>
<FixedNumerator Value="1" />
<FixedDenominator Value="16" />
<GridIntervalPixel Value="20" />
<Ntoles Value="2" />
<SnapToGrid Value="true" />
<Fixed Value="false" />
</Grid>
<FreezeStart Value="0" />
<FreezeEnd Value="0" />
<IsWarped Value="false" />
<TakeId Value="1" />
<IsInKey Value="true" />
<ScaleInformation>
<Root Value="0" />
<Name Value="0" />
</ScaleInformation>
<SampleRef>
<FileRef>
<RelativePathType Value="0" />
<RelativePath Value="" />
<Path Value="E:/martinradio/playlists/essential5/'Come Get it' - Psychostrumental 1990 a LaRhon Recording - eLBee BaD The Prince Of Dance.mp3" />
<Type Value="1" />
<LivePackName Value="" />
<LivePackId Value="" />
<OriginalFileSize Value="13986960" />
<OriginalCrc Value="36930" />
</FileRef>
<LastModDate Value="1542162801" />
<SourceContext />
<SampleUsageHint Value="0" />
<DefaultDuration Value="19327631" />
<DefaultSampleRate Value="44100" />
<SamplesToAutoWarp Value="0" />
</SampleRef>
<Onsets>
<UserOnsets />
<HasUserOnsets Value="false" />
</Onsets>
<WarpMode Value="0" />
<GranularityTones Value="30" />
<GranularityTexture Value="65" />
<FluctuationTexture Value="25" />
<TransientResolution Value="6" />
<TransientLoopMode Value="2" />
<TransientEnvelope Value="100" />
<ComplexProFormants Value="100" />
<ComplexProEnvelope Value="128" />
<Sync Value="true" />
<HiQ Value="true" />
<Fade Value="true" />
<Fades>
<FadeInLength Value="0" />
<FadeOutLength Value="0" />
<ClipFadesAreInitialized Value="true" />
<CrossfadeInState Value="0" />
<FadeInCurveSkew Value="0" />
<FadeInCurveSlope Value="0" />
<FadeOutCurveSkew Value="0" />
<FadeOutCurveSlope Value="0" />
<IsDefaultFadeIn Value="true" />
<IsDefaultFadeOut Value="true" />
</Fades>
<PitchCoarse Value="0" />
<PitchFine Value="0" />
<SampleVolume Value="1" />
<WarpMarkers>
<WarpMarker Id="10" SecTime="0" BeatTime="0" />
<WarpMarker Id="11" SecTime="0.015625" BeatTime="0.03125" />
</WarpMarkers>
<SavedWarpMarkersForStretched />
<MarkersGenerated Value="true" />
<IsSongTempoLeader Value="false" />
</AudioClip>
</Events>
<AutomationTransformViewState>
<IsTransformPending Value="false" />
<TimeAndValueTransforms />
</AutomationTransformViewState>
</ArrangerAutomation>
</Sample>
<VolumeModulationTarget Id="8642">
<LockEnvelope Value="0" />
</VolumeModulationTarget>
<TranspositionModulationTarget Id="8643">
<LockEnvelope Value="0" />
</TranspositionModulationTarget>
<TransientEnvelopeModulationTarget Id="22159">
<LockEnvelope Value="0" />
</TransientEnvelopeModulationTarget>
<GrainSizeModulationTarget Id="8644">
<LockEnvelope Value="0" />
</GrainSizeModulationTarget>
<FluxModulationTarget Id="8645">
<LockEnvelope Value="0" />
</FluxModulationTarget>
<SampleOffsetModulationTarget Id="8646">
<LockEnvelope Value="0" />
</SampleOffsetModulationTarget>
<ComplexProFormantsModulationTarget Id="22160">
<LockEnvelope Value="0" />
</ComplexProFormantsModulationTarget>
<ComplexProEnvelopeModulationTarget Id="22161">
<LockEnvelope Value="0" />
</ComplexProEnvelopeModulationTarget>
<PitchViewScrollPosition Value="-1073741824" />
<SampleOffsetModulationScrollPosition Value="-1073741824" />
<Recorder>
<IsArmed Value="false" />
<TakeCounter Value="1" />
</Recorder>
</MainSequencer>
<FreezeSequencer>
<LomId Value="0" />
<LomIdView Value="0" />
<IsExpanded Value="true" />
<BreakoutIsExpanded Value="false" />
<On>
<LomId Value="0" />
<Manual Value="true" />
<AutomationTarget Id="8647">
<LockEnvelope Value="0" />
</AutomationTarget>
<MidiCCOnOffThresholds>
<Min Value="64" />
<Max Value="127" />
</MidiCCOnOffThresholds>
</On>
<ModulationSourceCount Value="0" />
<ParametersListWrapper LomId="0" />
<Pointee Id="19720" />
<LastSelectedTimeableIndex Value="0" />
<LastSelectedClipEnvelopeIndex Value="0" />
<LastPresetRef>
<Value />
</LastPresetRef>
<LockedScripts />
<IsFolded Value="false" />
<ShouldShowPresetName Value="false" />
<UserName Value="" />
<Annotation Value="" />
<SourceContext>
<Value />
</SourceContext>
<MpePitchBendUsesTuning Value="true" />
<ClipSlotList>
<ClipSlot Id="0">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="1">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="2">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="3">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="4">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="5">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="6">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
<ClipSlot Id="7">
<LomId Value="0" />
<ClipSlot>
<Value />
</ClipSlot>
<HasStop Value="true" />
<NeedRefreeze Value="true" />
</ClipSlot>
</ClipSlotList>
<MonitoringEnum Value="1" />
<KeepRecordMonitoringLatency Value="true" />
<Sample>
<ArrangerAutomation>
<Events />
<AutomationTransformViewState>
<IsTransformPending Value="false" />
<TimeAndValueTransforms />
</AutomationTransformViewState>
</ArrangerAutomation>
</Sample>
<VolumeModulationTarget Id="8648">
<LockEnvelope Value="0" />
</VolumeModulationTarget>
<TranspositionModulationTarget Id="8649">
<LockEnvelope Value="0" />
</TranspositionModulationTarget>
<TransientEnvelopeModulationTarget Id="22162">
<LockEnvelope Value="0" />
</TransientEnvelopeModulationTarget>
<GrainSizeModulationTarget Id="8650">
<LockEnvelope Value="0" />
</GrainSizeModulationTarget>
<FluxModulationTarget Id="8651">
<LockEnvelope Value="0" />
</FluxModulationTarget>
<SampleOffsetModulationTarget Id="8652">
<LockEnvelope Value="0" />
</SampleOffsetModulationTarget>
<ComplexProFormantsModulationTarget Id="22163">
<LockEnvelope Value="0" />
</ComplexProFormantsModulationTarget>
<ComplexProEnvelopeModulationTarget Id="22164">
<LockEnvelope Value="0" />
</ComplexProEnvelopeModulationTarget>
<PitchViewScrollPosition Value="-1073741824" />
<SampleOffsetModulationScrollPosition Value="-1073741824" />
<Recorder>
<IsArmed Value="false" />
<TakeCounter Value="1" />
</Recorder>
</FreezeSequencer>
<DeviceChain>
<Devices />
<SignalModulations />
</DeviceChain>
</DeviceChain>
<IsTuned Value="true" />
</AudioTrack>

```

pottering
Posts: 1956
Joined: Sat Dec 06, 2014 4:41 am

Re: How can I get a list of start/end times in my project?

Post by pottering » Thu Aug 21, 2025 6:03 pm

Using "API Browser.amxd" from Building Max Devices Pack I went through Live's structure until the start_time parameter (live_set tracks 0 arrangement_clips 0 start_time) of a single Clip placed at the 4th bar in Track 1 in Arrangement View.

It showed a "16." value.

I dragged the Clip forward out of grid a bit, then it showed "16.509883".

So I believe Live uses the Beat (at 4/4) subdivision as the time unit, "16." was for Clip exactly at the 4th Bar, "16.509883" literally a fraction after 4th bar.

Furthermore there is a "end_time" parameter, but the "length" parameter seems to refer to the original length before any looping or warping, so I think you would need to subtract start_time from end_time to get the length (in beats).

Then you would have to calculate using current BPM to get beat length in ms or seconds.

https://tuneform.com/tools/time-tempo-b ... seconds-ms
https://www.omnicalculator.com/other/bpm
https://toolstud.io/music/song-length.php

For example, 1 beat at 120 BPM is 0.5 seconds. so 4 bars would be 8 seconds, etc.

(I have absolutely no idea how to calculate if there are tempo changes.)

Regarding XML format, I think "CurrentStart Value" is a Clip's start_time, and "CurrentEnd Value" is the end_time equivalent.

So (from your copypasted XML data) the "Come Get it' - Psychostrumental 1990 a LaRhon Recording - eLBee BaD The Prince Of Dance" Clip starts at beat 0 (right at the start 1.1.1) and ends at beat 876.53655329045955.

876.53655329045955 - 0 is still 876.53655329045955. obviously.

At 120 BPM, 876.3655329045955 × 0.5 = 438.268276645229775 seconds, divided by 60, 7.30447127742049625 minutes long.

(Googling shows that Come Get it song is about 5.15 min long, so I guess it has a higher BPM than 120).

EDIT: Locators are "cue_points" in LOM, right under live_set (like "live_set cue_points 0") with a time property, in the XML they are simply named Locators (<Locators> </Locators>) with a Time Value property (like "<Time Value="64" /" >, again, in 4/4 beats.
♥♥♥

Post Reply