Add show name and track progress bar
This commit is contained in:
1 parent
65862ce3ae
commit
1d2021e6f2
2 files changed
+70
-10
No files matched your search
@@ -1,8 +1,9 @@
|
||||
# subwave-nowplaying
|
||||
|
||||
Tronbyt/Tidbyt app showing the current track on a [SUB/WAVE](https://github.com/perminder-klair/subwave)
|
||||
internet radio station: album art, track title, artist, and station name,
|
||||
with title/artist scrolling if they don't fit.
|
||||
internet radio station: album art, track title, artist, the current show
|
||||
name, and a progress bar for the track, with title/artist scrolling if they
|
||||
don't fit.
|
||||
|
||||
Not tied to any specific station — set your own station's base URL in the
|
||||
app's config when adding it to a device.
|
||||
@@ -24,6 +25,18 @@ app's config when adding it to a device.
|
||||
instead of stale track info.
|
||||
- If a track has no `subsonic_id`, or the cover fetch fails, falls back to a
|
||||
full-width layout with no art rather than a broken image.
|
||||
- Shows the current show name (`context.activeShow.name`) below the artist,
|
||||
and a track progress bar at the bottom.
|
||||
|
||||
**Progress bar caveat:** the now-playing API reports track `duration` but
|
||||
not elapsed/remaining time, so the app tracks playback position itself —
|
||||
the first time it sees a given `subsonic_id`, it stamps the current
|
||||
wall-clock time in pixlet's cache, then diffs against that stamp on later
|
||||
renders to compute elapsed seconds. This only works correctly on a
|
||||
long-lived server process with a persistent cache (true for
|
||||
`tronbyt/server`'s in-memory cache) — a one-shot `pixlet render` CLI
|
||||
invocation always starts a fresh process with an empty cache, so the bar
|
||||
will always show 0% when testing locally. This is expected, not a bug.
|
||||
|
||||
**Note on unreachable hosts:** if the station URL is wrong or the host is
|
||||
completely unreachable (DNS failure, connection refused), `http.get` raises
|
||||
|
||||