Play held-title themes only while their page is resumed
All checks were successful
review/code-claude Code APPROVE: held-only, stops on leave/playback/background/person
review/design-claude Design PASS: no visual change

This commit is contained in:
justinzeus 2026-11-07 23:42:12 +01:00
parent 4af1898fd2
commit 2f3cdf2339
11 changed files with 276 additions and 14 deletions

View file

@ -1010,6 +1010,16 @@ votes enrich those real episode identities; no catalogue stub becomes playable.
Debug-only `wolfskin-titles.json` and local artwork remain behind the explicit
Advanced fixture switch; release never packages or selects them.
Held title pages use the existing upstream `ThemeSongPlayer` while their current
navigation entry is resumed. Episodes use the series Jellyfin id, never the
episode id; catalogue-only titles have no theme identity. The existing
`AppPreference.PlayThemeMusic` controls playback (Disabled is silent; High is
volume 0.5). Pause, disposal, outgoing navigation and person/session changes
release the theme; video and trailer hand-offs stop it before opening playback.
`TitleThemeMusicTest` exercises these ownership transitions with a fake player
and the real native title destination. Jellyfin still needs an indexed local
`theme.*` file supplied by the library publisher; empty theme lists stay silent.
Held trailers use Jellyfin remote/local trailer data. YouTube URLs target an
installed YouTube handler such as SmartTube, never a browser. No handler leaves
the title visible with a calm message. Titles nobody holds have no Trailer