diff --git a/README.md b/README.md index 509a529..94ffd4d 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,8 @@ the public SomaFM endpoints and open protocols. Images are cached in `~/.cache/somafm-tui/artwork`. - **Now playing** — artist, title, album, DJ, listeners, format/bitrate and "played N minutes ago", with procedural ANSI-shaded album art that changes - per track. + per track. When the current track can be found on Bandcamp, a clickable + **Bandcamp ↗** link appears below it; otherwise the line stays hidden. - **Last played** — the full recent history from `somafm.com/songs/.json`. - **Every station** — the whole `channels.json` roster (≈50 channels), live listener counts, genre search. @@ -190,6 +191,9 @@ containers, …) MPRIS is skipped and the status bar shows `mpris off`. downsampling. - `somafm_tui/mpris.py` — `dbus-next` MPRIS service in its own thread with a thread-safe command queue back into the UI. +- `somafm_tui/bandcamp.py` — searches Bandcamp's public autocomplete API for + the now-playing track (artist + track first, then artist + album, then the + album page) and returns a track URL when there is a match. - `somafm_tui/widgets/` — Textual widgets rendered with native ANSI colours; backgrounds are `ansi_default` (`SGR 49`), so transparent terminals stay transparent.