Jump from event markers to clip starts

This commit is contained in:
human insan
2026-08-27 23:09:25 +01:00
parent 9a006e6e65
commit 80756669ad
+11
View File
@@ -441,6 +441,17 @@
const winStart = Math.max(0, Math.min(86400 - winSize, focus - winSize / 2));
const sec = winStart + e.offsetX / timeline.clientWidth * winSize;
focus = sec;
const systemEvent = systemHighlights.find(item => sec >= item.start && sec < item.end);
if (systemEvent) {
const eventClip = clips.find(clip => clip.start >= systemEvent.start);
if (eventClip) return playClip(eventClip, 0);
}
const savedHighlight = highlights.find(item => sec >= item.start && sec < item.end);
if (savedHighlight) {
const highlightClip = clips.find(clip => savedHighlight.start >= clip.start && savedHighlight.start < clip.start + clip.duration)
|| clips.find(clip => clip.start >= savedHighlight.start);
if (highlightClip) return playClip(highlightClip, Math.max(0, savedHighlight.start - highlightClip.start));
}
const clip = clips.find(c => sec >= c.start && sec < c.start + c.duration)
|| clips.find(c => c.start >= sec) || clips[clips.length - 1];
if (clip) playClip(clip, Math.max(0, Math.min(clip.duration - .1, sec - clip.start)));