Skip to content

feat(soundcloud): add SoundCloud search, station, and weekly discovery - #6

Merged
Nxssie merged 1 commit into
mainfrom
feat/soundcloud-integration
Sep 9, 2026
Merged

Nxssie merged 1 commit into
mainfrom
feat/soundcloud-integration

Conversation

@Nxssie

@Nxssie Nxssie commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Search SoundCloud tracks alongside YT Music/YouTube, interleaved and sortable (incl. SoundCloud first order)
  • Station: radio of related tracks from any SoundCloud result (/tracks/{id}/related behind a Radio button)
  • Weekly discovery: interest-based playlist generated from local listening history (seeds → related tracks + trending weekly), cached per ISO week
  • Stream resolution through yt-dlp accepts SoundCloud permalinks (progressive MP3, 20-min URL cache)
  • SoundCloud client ID scraped from the web app assets — no login required (override via ~/.config/wren/soundcloud.json)
  • Now Playing artwork uses track artwork when available; local listening history recorded on playback

Test plan

  • ./gradlew :desktop:compileKotlin passes
  • ./gradlew :desktop:test — 93 tests green (incl. new scrape/parser/discovery tests)
  • Manual: search → play a SoundCloud track → station → discover tab (requires yt-dlp in PATH)

- Search SoundCloud tracks alongside YT Music/YouTube, interleaved and sortable
- Start a station of related tracks from any SoundCloud result
- Weekly discovery playlist generated from local listening history
- Client ID scraped from the SoundCloud web app, no login required
@Nxssie
Nxssie merged commit d761e1c into main Sep 9, 2026
5 checks passed
@Nxssie
Nxssie deleted the feat/soundcloud-integration branch September 11, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant