Members
(static, constant) STILL_WATCHING_KEYPRESS_PRECISION_SECONDS
TimeSinceLastKeypress counts whole seconds while UpTime has fractions, so a press within this long after a video started cannot be told from the press that started it. Only a press later than this counts as "during" the video.
- Default Value
- 1
(static, constant) STILL_WATCHING_MIN_VIDEOS_FOR_TIME_LIMIT
The time limit applies only from this many unattended videos in a row, so one long video (a movie) never uses up the whole limit by itself.
- Default Value
- 2
(static, constant) STILL_WATCHING_RESPONSE_SECONDS
How long the prompt waits for an answer before the video pauses.
- Default Value
- 30
Methods
(static) newStillWatchingSession(nowSeconds) → {object}
A new session: the player route mounted, or the viewer skipped to another item. Either way a button press (or a voice / app command) started the video now playing.
| Name | Type | Description |
|---|---|---|
nowSeconds | float | UpTime(0) |
{ unattendedCount, itemStartedAt, lastActivityAt }
- Type:
- object
(static) stillWatchingOnActivity(session, nowSeconds) → {void}
Someone is there without pressing a button: a voice or Jellyfin app command, the prompt answered, or playback resumed after the prompt paused it.
| Name | Type | Description |
|---|---|---|
session | object | from newStillWatchingSession |
nowSeconds | float | UpTime(0) |
- Type:
- void
(static) stillWatchingOnAdvance(session, thresholds, secondsSinceKeypress, nowSeconds) → {boolean}
A video ended and the queue is moving on to the next one by itself. Records whether the video that ended was unattended and returns whether to ask before the next one plays.
Idle time is the shorter of "since the last button press" and "since the last activity": a voice or Jellyfin app command presses no button.
| Name | Type | Description |
|---|---|---|
session | object | from newStillWatchingSession |
thresholds | dynamic | from stillWatchingThresholds (invalid = off) |
secondsSinceKeypress | integer | roDeviceInfo.TimeSinceLastKeypress() |
nowSeconds | float | UpTime(0) |
true to ask
- Type:
- boolean
(static) stillWatchingThresholds(option) → {dynamic}
The thresholds for a playbackStillWatching value, or invalid when the prompt is off. An empty or unrecognized value is the default preset, so a bad registry value never silently disables the check.
| Name | Type | Description |
|---|---|---|
option | string | playbackStillWatching ("disabled", "short", "default", "long", "veryLong") |
{ count, seconds } or invalid
- Type:
- dynamic