sS transformTimestampAccordingToCut(S ts, L segments) { try { double time = ffmpeg_parseTimestamp(ts); int idx = predIndex(segments, r -> r.a <= time); if (idx >= 0 && idx < l(segments)) { double len = 0; for i to idx: len += l(segments.get(i)); ret formatHoursMinutesColonSeconds(len+time-segments.get(idx).a); } else ret "[cut] " + ts; } catch print e { ret ts; } tok = matchCodeTokens(tok, t -> transformTimestampAccordingToCut(t, segments)); ret join(tok); }