[PR #305] [MERGED] Support for Spotify Radio/Dynamic Playlists #871

Closed
opened 2026-02-27 20:00:16 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/librespot-org/librespot/pull/305
Author: @ashthespy
Created: 3/15/2019
Status: Merged
Merged: 3/20/2019
Merged by: @sashahilton00

Base: masterHead: dynamic-playlists


📝 Commits (4)

  • 96b432a Implement support for dynamic playlists (Radio)
  • c041697 Support Dailymixes and refactor dynamic playlists
  • b0ee8ec Tweak malformed gid handling
  • 6870c76 Limit new context tracks added to frame

📊 Changes

3 files changed (+225 additions, -6 deletions)

View changed files

connect/src/context.rs (+86 -0)
📝 connect/src/lib.rs (+4 -0)
📝 connect/src/spirc.rs (+135 -6)

📄 Description

Fixes #57 #267

Some history

While I managed to implement dynamic playlist support back in October, never opened up a PR as https://github.com/librespot-org/librespot/issues/57#issuecomment-446010775:

Hmm because I couldn't find the proper mercury endpoint to give me that data in protobuf format. Currently it's in JSON and rather inelegant if you ask me.

Recent revelations from reverse engineering efforts by @devgianlu, @sashahilton00 show that we are going to have to bite the bullet and start sprinkling JSON into the mix.

Playlist/Album/Track/Genre radios along with Dailymixes should all work. A point for discussion is on how the new tracks are added to the frame - should we at some point limit it?


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/librespot-org/librespot/pull/305 **Author:** [@ashthespy](https://github.com/ashthespy) **Created:** 3/15/2019 **Status:** ✅ Merged **Merged:** 3/20/2019 **Merged by:** [@sashahilton00](https://github.com/sashahilton00) **Base:** `master` ← **Head:** `dynamic-playlists` --- ### 📝 Commits (4) - [`96b432a`](https://github.com/librespot-org/librespot/commit/96b432aa4c0993eb79dfde3364b322f0cda1e10b) Implement support for dynamic playlists (Radio) - [`c041697`](https://github.com/librespot-org/librespot/commit/c0416972b6492ebc693cb924e162d8298fc35467) Support Dailymixes and refactor dynamic playlists - [`b0ee8ec`](https://github.com/librespot-org/librespot/commit/b0ee8ec74d40379147b8e1d404199f5b0df1ceaa) Tweak malformed gid handling - [`6870c76`](https://github.com/librespot-org/librespot/commit/6870c76a439451cf3aa03a8e08e247650fa17b3c) Limit new context tracks added to frame ### 📊 Changes **3 files changed** (+225 additions, -6 deletions) <details> <summary>View changed files</summary> ➕ `connect/src/context.rs` (+86 -0) 📝 `connect/src/lib.rs` (+4 -0) 📝 `connect/src/spirc.rs` (+135 -6) </details> ### 📄 Description Fixes #57 #267 #### Some history While I managed to implement dynamic playlist support back in October, never opened up a PR as https://github.com/librespot-org/librespot/issues/57#issuecomment-446010775: >Hmm because I couldn't find the proper mercury endpoint to give me that data in protobuf format. Currently it's in JSON and rather inelegant if you ask me. Recent revelations from reverse engineering efforts by @devgianlu, @sashahilton00 show that we are going to have to bite the bullet and start sprinkling JSON into the mix. Playlist/Album/Track/Genre radios along with Dailymixes should all work. A point for discussion is on how the new tracks are added to the frame - should we at some point limit it? --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 20:00:16 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot#871
No description provided.