Add Last.fm scrobbling and integration #25

Open
opened 2026-03-17 16:43:28 -04:00 by connor · 0 comments
Owner

Integrate with Last.fm for two purposes: (1) scrobbling played tracks (if using the built-in player or Subsonic server), and (2) using Last.fm's data for better recommendations and similar-artist lookups.

  1. Last.fm authentication — implement the Last.fm auth flow (API key + user authentication)
  2. Scrobbling — when a track is played (via web player or Subsonic), scrobble it to Last.fm
  3. Similar artists API — use Last.fm's artist.getSimilar for playlist generation and discovery
  4. Top tracks — use Last.fm's artist.getTopTracks for suggesting which tracks to download for a monitored artist
  5. SearchProvider implementation — implement the search trait from Issue #8 using Last.fm as a backend

Acceptance Criteria

  • Last.fm authentication works
  • Track scrobbling works during playback
  • Similar artist lookups return relevant results
  • Top tracks for an artist can be retrieved
  • Last.fm works as an alternative search provider
  • API key configuration is documented

Dependencies

  • Issue #8 (search provider trait)
  • Issue #22 or #23 (playback — for scrobbling)
Integrate with Last.fm for two purposes: (1) scrobbling played tracks (if using the built-in player or Subsonic server), and (2) using Last.fm's data for better recommendations and similar-artist lookups. 1. **Last.fm authentication** — implement the Last.fm auth flow (API key + user authentication) 2. **Scrobbling** — when a track is played (via web player or Subsonic), scrobble it to Last.fm 3. **Similar artists API** — use Last.fm's `artist.getSimilar` for playlist generation and discovery 4. **Top tracks** — use Last.fm's `artist.getTopTracks` for suggesting which tracks to download for a monitored artist 5. **`SearchProvider` implementation** — implement the search trait from Issue #8 using Last.fm as a backend ### Acceptance Criteria - [ ] Last.fm authentication works - [ ] Track scrobbling works during playback - [ ] Similar artist lookups return relevant results - [ ] Top tracks for an artist can be retrieved - [ ] Last.fm works as an alternative search provider - [ ] API key configuration is documented ### Dependencies - Issue #8 (search provider trait) - Issue #22 or #23 (playback — for scrobbling)
connor added the LowPriority label 2026-03-19 12:30:13 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Shanty/Main#25