TrackItem.createSetInPointAction() does not persist across save/reopen for video tracks in UXP — in-points revert to the source clip's original in-point. Audio TrackItems unaffected. Regression in 26.2.
Title: TrackItem.createSetInPointAction does not persist across save/reopen for video tracks (UXP API, Premiere Pro 26.2)
Affected API: ppro.TrackItem.createSetInPointAction(tickTime) and likely createSetOutPointAction(tickTime)
Description:
Calling trackItem.createSetInPointAction(newInPoint) from UXP on a video TrackItem and executing the resulting action via project.executeTransaction() successfully changes the in-point in-session. After saving the project, closing, and reopening, the in-point reverts to the source clip's original in-point.
Scope:
- Reproduces on all video TrackItems — confirmed on both regular source clips and multicam nested sequences
- Does not reproduce on audio TrackItems —
createSetInPointActionon audio persists correctly - Does not reproduce via native razor — manual razor (C key) and Option+Up move both persist on video
- Track locking (🔒) does not change the behavior — in-points still revert
Other persistence behavior on video (for reference):
createMoveAction— persists ✓createSetEndAction— persists ✓ (we use it for left-piece tail trims and they hold)createSetInPointAction— does not persist ✗
Reproducer:
- New project with one video clip on V1
- From a UXP panel:
const editor = ppro.SequenceEditor.getEditor(seq);const trackItem = (await seq.getVideoTrack(0)).getTrackItems(1, false)[0];const newIn = ppro.TickTime.createWithSeconds(5);project.executeTransaction(compound => {compound.addAction(trackItem.createSetInPointAction(newIn));}, "Test"); - Observe: clip's source content updates correctly (now starts at 5s into the source)
- Save the project, close, reopen
- Observe: clip's in-point has reverted to its original value
Expected: In-point should persist after save/reopen (matching createSetEndAction and createMoveAction behavior, and matching native razor behavior).
Actual: In-point reverts to the source clip's original in-point on every video track.
Impact: Any UXP plugin attempting to trim video clips programmatically produces results that look correct in-session but silently break on the next project open. This is a regression — same code path works correctly for audio.
