diff options
| -rw-r--r-- | volume-osd/Player.qml | 4 | ||||
| -rw-r--r-- | volume-osd/README.md | 24 |
2 files changed, 20 insertions, 8 deletions
diff --git a/volume-osd/Player.qml b/volume-osd/Player.qml index 7c17c0a..fab8083 100644 --- a/volume-osd/Player.qml +++ b/volume-osd/Player.qml @@ -25,7 +25,9 @@ Singleton { // playerctld. Both proxies are skipped and the OSD talks to the browser's // own entry, which is safe because none of the three exists until playback // starts, and the browser's entry appeared whenever the plasma one did. An - // open but silent tab publishes nothing, so there is no row to lose. + // open but silent tab publishes nothing, so there is no row to lose. The + // plasma name is browser-only: Feishin on the same server publishes just + // its own entry and playerctld, so a native player loses nothing here. readonly property var proxyNames: [".playerctld", ".plasma-browser-integration"] readonly property var real: diff --git a/volume-osd/README.md b/volume-osd/README.md index 83a9495..cce2ace 100644 --- a/volume-osd/README.md +++ b/volume-osd/README.md @@ -40,19 +40,29 @@ active and republishes it under `org.mpris.MediaPlayer2.playerctld`. With a browser, plasma-browser-integration does the same, so one Navidrome tab was live on three bus names at once. `Player.qml` drops both proxies and talks to the browser's own entry. None of the three exists until playback starts, and -an open but silent tab publishes nothing at all. +an open but silent tab publishes nothing at all. The plasma name is a browser +thing only: Feishin, playing from the same server, publishes just its own +entry and playerctld, so dropping it costs a native player nothing. **Album art can be a reused temp path.** Audacious extracts embedded art to a file in its cache and rewrites that same path on each track, so the URL repeats while the image behind it changes. The source carries the track title as a cache buster and `cache: false`, or the previous track's cover stays on screen. -Verified against audacious and Firefox playing Navidrome. Browsers do not -fill in everything: Navidrome sets no `mpris:artUrl`, so there is no cover to -show and the row renders without one, and it packs everything into -`xesam:title` ("Roxanne - The Police - Navidrome") leaving `xesam:artist` -empty. Neither is worked around, a title like that cannot be split back apart -without guessing where a real dash ends. Signal is untested. +Verified against audacious, Feishin, and Firefox playing Navidrome. Feishin is +the reference case, the only player here that fills the metadata in properly: +a real `mpris:artUrl`, `xesam:artist`, and a clean `xesam:title`. It is also +the only one whose art is a remote HTTP URL rather than a local file, so the +cover depends on reaching the Navidrome host. + +The same server through Firefox gives much less, which is a browser limit and +not something this component can fix. Navidrome's web player sets no +`mpris:artUrl` at all, so the row renders with no cover, and it packs +everything into `xesam:title` ("Roxanne - The Police - Navidrome") leaving +`xesam:artist` empty. Neither is worked around, a title like that cannot be +split back apart without guessing where a real dash ends. + +Signal is untested. ## No keybinds to change |
