Choose a shift or a two-anchor correction
A constant offset and a gradual drift need different arithmetic.
When the offset stays the same
If every cue is equally early or late, shift the whole file by a fixed number of seconds. A positive shift makes cues later. A negative shift makes them earlier. Adding 1.25 seconds to a cue at 00:00:01.000–00:00:03.000 produces 00:00:02.250–00:00:04.250. Its two-second duration stays unchanged.
When the difference grows
Two anchors describe a linear correction. Give the source time of a known moment and the desired time of that same moment, then repeat with a later reference. The new time is old time × scale + offset.
For source anchors 10 and 70 seconds and target anchors 12 and 78 seconds, the scale is (78−12) ÷ (70−10) = 1.1. The offset is 12−10×1.1 = 1 second. A source point at 40 seconds becomes 45 seconds. A two-second cue becomes 2.2 seconds long.
Review the limits
This is a manual whole-file transformation, not automatic audio alignment or a frame-rate detector. The app has no audio or video access. Both anchor pairs must increase, and the scale must stay between 0.1× and 10×. Boundaries are rounded to the nearest millisecond. If any transformed cue becomes negative, exceeds 100 hours or collapses to zero duration, the entire change is rejected. No cue is silently clipped or removed.
Save JSON before a major correction. Undo retains up to 30 project states in the current tab, but does not survive closing or refreshing it.