-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Playlists stopped working #182
Comments
i have excatly the same issue. i did not change anything. client_id & client_secret are set in mopidy config. But no playlist are available. mopidy log:
|
Same issue. Was working nothing change on my end. |
I currently see the same. The question is, is it a temporary issue or the
next step in libspotify's slow and painful death? I have asked but I'm not
hopeful they'll bother answering.
…On Thu, 24 May 2018, 20:26 AidanOD, ***@***.***> wrote:
Same issue.
I can playback songs/artist/album from the uri but not playlists.
Was working nothing change on my end.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#182 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA5DqDlIiZLn3mokQMNZHgW4L4w_fZyKks5t1wl9gaJpZM4UMgcP>
.
|
Same here, came back from work and no more personnal playlists. However i can acces the ones provided by spotify. |
Well, we really can't say that we hadn't been warned that libspotify was going to die... Still, it'd be good if Spotify could at least provide developers with timelines or at least a heads up whenever they're going to kill some features. Is there some viable alternative to support playlists using the web API or spotipy? I know that user playlists can be retrieved that way - would playback be possible as well without libspotify? |
It's well and good warning users (which they also managed to screw up) but not much use if you are not going to provide a proper alternative. You can lookup user playlists and everything else using the Web API so that's fine. But playback is not possible like we do now. They have not provided any replacement for this other than their entirely unsuitable web playback API which requires a web browser. |
It sounds like a possible (although dirty and slow) workaround, for the time being, might be to get the user playlists via web API, expand them and add/play item by item - at least libspotify doesn't break when adding/playing non-user-generated content so far. |
It's definitely the plan and it's very usable, just nobody has done it yet. I don't expect Spotify to provide any other option so I wouldn't think of it as temporary workaround either. I implemented a proof of concept some time ago but I didn't get around to implementing it properly. Things do slow down a little when loading large playlists but once cached it's fine (their API support etags too). There's no reason we can't store the cache and re-use it between runs too, just like libspotify does. |
Using the Any idea why this may happen? |
I can't think why that would be, it's up to the client to call |
I may have got the reason, in most of the cases you're assuming that the Maybe a previous implementation of the web API returned the tracks directly inside the playlist object, while the latest implementation requires you to get them by tracks URL. |
The broader question is, is there any other content provider maintaining a low level library allowing users to interact with their services ? Deezer or anything ? |
@kamek-pf the spotify-deezer repo has been shut down after a DMCA complaint started by Deezer itself. I have the repo still cloned locally but many API requests to Deezer are no longer working (and I don't feel like investigating or fixing it until Deezer changes its approach towards developers building stuff on top of their services). mopidy-gmusic has issues as well as of today since the self-generated device_id is no longer working mopidy/mopidy-gmusic#195 - and it will probably break more in the next days/weeks as Google will move most of the GMusic services to the new YouTube Music service or however they want to call it. Anyway, I have prepared a fix for the Spotify playlists issue on top of @kingosticks old git clone git@github.com:BlackLight/mopidy-spotify.git
cd mopidy-spotify
git checkout fix/incompatible_playlists
[sudo] python2 setup.py build install |
Thank you, I've just tested and it works. :) |
@blacklight Thanks, I'm able to view my playlists again! Looking at mopidy -vvvvvvv I've noticed a few error messages associated with what looks to be the playlist lookups. Everything seems fine even though there there are a few ERROR messages sprinkled in with DEBUG/TRACE notes related to pulling in the playlist info. I'm not very familiar with mopidy or mopidy-spotify in general. Is this just my deployment or anything to be worried about?
|
@quimbydogg those are just debug traces that were already in the branch, nothing to be worried about :) |
EDIT: Feel free to ignore this, I'm way out of my league, and I'll just wait and hope this fix finds its way to "normal" mopidy-spotify. Carry on :) Hi, sorry for my total noob question :) edit: I tried it in home/pi/ directory, but it didn't seem to solve it. My guess is that I should place it somewhere else, but I don't know where. Background: Big thanks to all of you for enabling us mere mortals to build fun stuff! :) |
@Maskmagog no worries, there's no such thing as silly questions, only silly answers ^^ git and shell basics troubleshooting is a bit OT here though, but feel free to drop by the #mopidy freenode channel for more support. |
@blacklight does this require using the spotify web client as well? |
@L422Y it's not required, mopidy-spotify can now leverage the web API as well (and IMHO mopidy-spotify and mopidy-spotify-web should sooner or later converge as they do overlap a lot now). |
Alright, well playlists still do not seem to work even with your adjusted code :( |
Can you post the output of |
They are back with this fix :) |
@blacklight https://pastebin.com/TzMjMUcs
Everything compiles and installs correctly, just can't play a playlist that worked last week and EDIT: this ended up being a double whammy, I needed to upgrade from Ubuntu 14.04 LTS in order to get a newer version of Python w/ newer SSL support, otherwise the auth token system was failing. I'm not sure if that was the primary issue before I started messing with things, |
@L422Y I think your mopidy instance is still using the old mopidy-spotify code, not the newly installed branch. The new branch should print a bunch of (debug) error log lines to trace the status of the tracks loaded in each playlists and I can't see those lines in your log output. You said that you had to create the |
I am running Mopidy on a Raspberry Pi that uses MUSCIBOX from here - http://www.pimusicbox.com/ Does anyone know how I can get this fix onto the Mopidy installed on there please? Any and all help would be much appreciated |
@blacklight there are still changes going on in there and it hasnt had any review yet. So i wouldn't like to call it the ultimate solution. |
@kingosticks ok let me know if you need any help with tests or reviews. |
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
I have tried this solution web-api-playlists-v2 but no go for me. Still can't see my personnal playlist. |
I've created a small commandline tool that just synchronizes your spotify playlists with MPD once. https://github.com/weskerfoot/Spotify-MPD-Sync Can't promise that it is a perfect solution but I've been using it without trouble for a while. It clears your spotify playlists on the MPD side every time it syncs up if it finds that there are any differences (spotify is the source of truth). I'm not sure if this could be integrated into mopidy-spotify because it is fairly slow if you have a lot of playlists/tracks, and it doesn't make sense to run it every time you start up mopidy (more like once a day or when you know you've changed things). |
I can confirm the web-api-playlists-v2 branch works as expected, but start up take a very long time. This is exacerbated by using Iris which needs to query every playlist to get the tracks. |
Any progress with merging this into master? It's been on hold for more than a year. Should we wait until mopidy 3 and Python 3 integration before seeing this merged, or is it possible to provide a timeline for the merge? The situation with the forks is becoming quite chaotic, maybe the time to merge has come? |
I was also able to get the #web-api-playlists-v2 branch to work, but as @MrLemur noted it now takes a very long time to start up, especially on limited hardware. On my project raspberry pi zero W it takes just over 10 minutes to load, and I don't have very many playlists with very many songs. |
The slowness in the new playlists branch it's something reported by many users and something that I've noticed on all of my machines as well. However I'm pretty sure by now that it's due to something changed in mopidy more than I've seen people reporting slowness in loading playlists both on my branch and on @kingosticks do you also experience the same behaviour? Has anything changed in mopidy between 2.1 and 2.2 when it comes to playlist lookup? Maybe now mopidy also gets the metadata for all the tracks and that slows down the lookup? |
FYI I'm on mopidy 2.2.2, and although I don't have the exact timing for how long mopidy took before I installed web-api-playlist-v2, prior to installing this branch everything seemed ready to go immediately after boot. In fact, after installing the web-api-playlist-v2 I thought I had completely broken my mopidy installation as mpc and iris seemed not to connect to mopidy, but I left the pi on overnight and when I returned in the morning, "lo and behold" it was working! Two relevant lines in my mopidy.log file are: These two are definitely the longest, but not the only ones that take long. |
Adding to the tracklist via MPD changed in v2.2.0 (mopidy/mopidy#1621). Yes, it does lookups now. I was reluctant to complicate things any further by persisting the playlist cache data but that is what libspotify did, and 10 minutes doesn't sound great. I would suggest updating your version of pykka to the latest, there are some improvements to be had using that. |
@kingosticks I'm using pykka 2.0.0 here (same version as the one on Github). And even though the latest version makes the lookup a bit less heavy, the latency is not yet comparable with what it used to be on earlier versions of mopidy. I understand that retrieving the metadata for all the tracks in a playlist makes things more consistent with the MPD protocol, but probably we shouldn't treat the lookup cost of a locally stored playlist in the same way we treat the lookup cost of a remote Spotify playlist with > 1000 items. A couple of ideas:
|
It is all cached. The playlist endpoints of Spotify's Web API have I have also overridden the |
New Mopidy and Mopidy-Spotify user here. Took me a while, but I finally found the references to the |
I get the following error with the branch (on arch)-> |
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
Fixed by the merge of PR #235. |
Cache playlist web API responses in a simple dict. playlists: Support Spotify's new playlist URI scheme (Fixes mopidy#215). search: uses 'from_token' market.
I have two computers, one with Ubuntu 18.04 and the other one with Manjaro and on both the playlists are not shown. Playback and search work without problems.
I'm getting the following log with mopidy -vvv
The text was updated successfully, but these errors were encountered: