-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Spotify's AI DJ mode uses a special context type (lexicon_set_type: your_dj) that doesn't work with the standard context resolution. The current implementation fails because:
- DJ tracks have an empty
urifield inContextTrack- the actual URI is inmetadata["canonical_track_uri"] - The context URL points to a session-specific lexicon endpoint that returns 404 from other sessions
- No transfer commands are sent for track advancement in DJ mode
I've got this working locally and am enjoying it now. My implementation does it like this:
- Adding
ContextTrackUri()helper that falls back tocanonical_track_urimetadata - Creating a single-track context from
TransferState.Playback.CurrentTrackfor DJ transfers - Caching
NextTracksfromClusterUpdatemessages (the service broadcasts the full queue before transfer) - Using the cached tracks to advance playback when a DJ track ends
- Skipping autoplay resolution for DJ contexts (that gives a 404)
I haven't looked at the TTS DJ-speak between tracks (I don't like that!) or the cross-fading between tracks (again, I dislike it, so didn't implement it).
Happy to commit a branch if there's interest in supporting this.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request