From 8393432f97831a86902d6aae827e1f3e8b92821d Mon Sep 17 00:00:00 2001 From: beefcarver Date: Fri, 30 Oct 2026 15:05:09 +0000 Subject: [PATCH] docs(readme): document Bandcamp track links --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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.