Playback after restart
DearScenario Player does not resume the previous session after a crash, power loss, or a normal restart. A new process starts idle unless this launch has an explicit playback target.
This is intentional. Process restart is not content restore. If a show needs media back after the player returns, the controller must send a new command.
What happens on startup
| Launch | Result |
|---|---|
| No file argument | Idle. No load, play, seek, or loop. |
--open-file or a positional media path | That one file plays from 0 seconds, loop=false. |
| Load failure | Status reports the error. The player does not pick another file. |
Playback during a session still comes from explicit control commands such as
play_media. The player does not provide saved scenes or automatic state
restoration; the controller must issue the desired commands again.
Leftover files and old config keys
If a previous version wrote playback_state.json next to config.json, the
current player leaves that file on disk and never reads it. Installers must not
treat it as live run-state.
If a previous version wrote overlays.json next to config.json, the current
player leaves it on disk and never reads or deletes it. Do not keep editing
overlays.json.
These keys are ignored if they still appear in config.json. Saving config
erases them:
| Removed key | Former meaning |
|---|---|
playlist.resume_on_startup | Master switch for automatic resume |
playlist.startup_resume_policy | off / crash_only / always / report_only |
playlist.autoload | Scan a directory and pick a file |
autorun_preset | Removed saved-preset startup behavior |
window.inhibit_screensaver | Optional screensaver inhibition; the player always inhibits now |
window.fullscreen_refresh_rate | Exclusive-fullscreen Hz; the player now follows the display's current refresh rate |
control.freeze_exit_sec | Render-freeze self-exit; the player no longer terminates itself |
There is no recovery object on GET /api/status, and no command to clear
recovery state. The former maintenance command recovery_clear has been
removed.
Restoring content after a restart
Use one of:
- Show control — detect that the player is back and send the same absolute playback command again.
- This launch only — start with
--open-file <path>(or a positional media path). That path is not written toconfig.json. - Operator — start the documented launch command or issue the desired control commands.
Do not rely on the player to remember the last file, position, loop flag, or playlist index.
Process watchdog vs content recovery
A watchdog or systemd Restart= brings the process back. The new process
is still idle until something explicit starts media. An external restarter as
described in Watchdog does not replay the previous source.
DearScenario Player does not self-terminate based on render telemetry.
Previous / Next
- Previous: Production Guide
- Next: Watchdog

