Skip to content

Add presenter seeking #891

@mprib

Description

@mprib

Parent

Sub-issue of #885 (Video Playback Architecture Refactor)

Goal

Add video playback controls to the presenter for interactive frame selection.

Update Presenter

src/caliscope/gui/presenters/intrinsic_calibration_presenter.py

Add methods:

  • seek_to(frame_index: int) -> None — for slider scrubbing
  • pause() -> None
  • unpause() -> None

Add properties:

  • frame_count: int
  • current_frame_index: int

Update View

src/caliscope/gui/views/intrinsic_calibration_dev_view.py

  • Add slider widget
  • Wire slider signals to presenter methods
  • Disable controls during COLLECTING/CALIBRATING states

Fix

Legacy slider freeze bug — button disabled at end frame and doesn't recover when seeking backward.

Behaviors

Paused state:

  • Slider drag → seek_to() shows tracked frame at position
  • Slider release → stays paused at new position

Playing state:

  • Slider tracks current frame position
  • Slider drag → pause, show tracked frame
  • Slider release → resume from new position

During calibration (COLLECTING/CALIBRATING):

  • Playback controls disabled
  • Cannot interrupt mid-calibration except via Stop button

Verification

Manual testing of slider behavior in all states

Branch Order

5 of 7 in #885

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions