Skip to content

app: PlaybackController + playhead subscription migration (issues 0c,… - #56

Merged
Mike-Solar merged 1 commit into
OakVideoEditorCommunity:mainfrom
Mike-Solar:main
Aug 4, 2026
Merged

app: PlaybackController + playhead subscription migration (issues 0c,…#56
Mike-Solar merged 1 commit into
OakVideoEditorCommunity:mainfrom
Mike-Solar:main

Conversation

@Mike-Solar

Copy link
Copy Markdown

… 1-4)

New app/playback/playbackcontroller.{h,cpp}: a lazily created process-wide singleton whose set_playhead() forwards to oakengine_viewer_set_playhead and re-broadcasts playhead_changed as a plain Qt signal. Every app-side oakengine_viewer_set_playhead call site (17 across viewer, timelinewidget, timelineview, import tool, timebasedwidget, keyframecontrol, export dialog, mainwindow) now goes through it.

Migrate the first four playhead subscribers off the raw C event subscription / EngineEventBridge to the controller signal:

  • TimeBasedView (issue 1)
  • NodeParamViewWidgetBridge (issue 2)
  • NodeParamViewKeyframeControl (issue 3)
  • NodeParamViewConnectedLabel (issue 4)

Each stores a QMetaObject::Connection filtered on its viewer node and disconnects on teardown; the viewer_sub_ members are gone. Plan docs mark issues 0c and 1-4 as done.

Closes #30, closes #31, closes #32, closes #51, closes #52.

… 1-4)

New app/playback/playbackcontroller.{h,cpp}: a lazily created
process-wide singleton whose set_playhead() forwards to
oakengine_viewer_set_playhead and re-broadcasts playhead_changed as a
plain Qt signal. Every app-side oakengine_viewer_set_playhead call site
(17 across viewer, timelinewidget, timelineview, import tool,
timebasedwidget, keyframecontrol, export dialog, mainwindow) now goes
through it.

Migrate the first four playhead subscribers off the raw C event
subscription / EngineEventBridge to the controller signal:
- TimeBasedView (issue 1)
- NodeParamViewWidgetBridge (issue 2)
- NodeParamViewKeyframeControl (issue 3)
- NodeParamViewConnectedLabel (issue 4)

Each stores a QMetaObject::Connection filtered on its viewer node and
disconnects on teardown; the viewer_sub_ members are gone. Plan docs
mark issues 0c and 1-4 as done.

Closes OakVideoEditorCommunity#30, closes OakVideoEditorCommunity#31, closes OakVideoEditorCommunity#32, closes OakVideoEditorCommunity#51, closes OakVideoEditorCommunity#52.
@Mike-Solar
Mike-Solar merged commit 1738dbf into OakVideoEditorCommunity:main Aug 4, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant