mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-02 06:22:42 -08:00
2.8 KiB
2.8 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, priority, ordinal
| id | title | status | assignee | created_date | updated_date | labels | dependencies | priority | ordinal |
|---|---|---|---|---|---|---|---|---|---|
| TASK-78 | Launcher + mpv plugin: auto-start visible overlay pause-until-ready and single-start guard | Done | 2026-02-28 22:45 | 2026-02-28 22:45 | medium | 9000 |
Description
Add startup gating behavior for wrapper + mpv plugin flow so playback starts paused when visible overlay auto-start is enabled, then auto-resumes only after subtitle tokenization is ready.
Scope:
- Plugin option
auto_start_pause_until_ready(defaultyes). - Launcher reads plugin runtime config and starts mpv paused when
auto_start=yes,auto_start_visible_overlay=yes, andauto_start_pause_until_ready=yes. - Main process signals readiness via mpv script message after tokenized subtitle delivery.
- Prevent duplicate auto-start attempts from showing
SubMiner already runningOSD. - Keep startup/loading OSD messaging visible and update docs/tests.
Acceptance Criteria
- #1 Launcher reads
auto_start,auto_start_visible_overlay, andauto_start_pause_until_readyfromsubminer.confand starts mpv with--pause=yeswhen all are enabled. - #2 Plugin pauses on eligible auto-start and resumes only on readiness signal or timeout fallback.
- #3 Main process emits
script-message subminer-autoplay-readyafter subtitle tokenization is ready. - #4 Auto-start duplicate triggers are idempotent (no duplicate
--startbehavior and no spuriousAlready runningOSD for auto-start path). - #5 Docs and regression tests cover defaults, startup gating behavior, and duplicate-start suppression.
Final Summary
Implemented startup pause gate across launcher/plugin/main runtime:
- Added plugin runtime config parsing in launcher (
auto_start,auto_start_visible_overlay,auto_start_pause_until_ready) and mpv start-paused behavior for eligible runs. - Added plugin auto-play gate state, timeout fallback, and readiness release via
subminer-autoplay-readyscript message. - Added main-process readiness signaling after tokenization delivery, including unpause fallback command path.
- Split auto-start visibility control into separate control commands and added duplicate auto-start idempotency guard to suppress repeated auto-start
Already runningnoise. - Updated plugin defaults to enabled (
auto_start=yes,auto_start_visible_overlay=yes,auto_start_pause_until_ready=yes) and refreshed docs (README, usage, launcher, installation, plugin/config docs). - Added/updated regression coverage (
scripts/test-plugin-start-gate.lua, launcher smoke/unit tests) validating paused startup, readiness resume, and duplicate-start suppression.