Skip to content
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

Playing favorite tracks via cli / home assistant does not work #161

Open
daniel1v opened this issue Dec 29, 2024 · 8 comments
Open

Playing favorite tracks via cli / home assistant does not work #161

daniel1v opened this issue Dec 29, 2024 · 8 comments
Labels
enhancement New feature or request

Comments

@daniel1v
Copy link

Hi,

I am trying to automatically start loved tracks "playlist". My first attempt for "normal" playlists with spotify:user:xyz:playlist:abc command worked instantly. But for the loved tracks playlist, I tried it with spotify:user:xyz:collection and it does not work.

I tried it from home assistant over media_player.play_media service and also from lms gui. In both cases nothing happens, also no errors / warnings in the logs. Log level was Debug.

The command spotify:user:xyz:collection works inside home assistants spotify integration, so I thought, it could basically also work with Spotty / LMS.

Is it a bug or a limitation, that the collection could not be played via remote command?

@michaelherger
Copy link
Owner

Spotify recently has disabled some of their APIs (see eg. https://community.spotify.com/t5/Spotify-for-Developers/Changes-to-Web-API/m-p/6612332 with 400 comments about the change...). This might be one reason - can't test right now.

The other limitation is that the favorite tracks list would only be available if you used your own client ID. Please double check your configuration.

@daniel1v
Copy link
Author

Hi @michaelherger,

thank you for your reply.

I am using my own client ID and can also access my private playlists and my favorite songs from the LMS GUI. So that is definitely not the cause. Also I think, the API change cannot be the cause, because the official Spotify Home Assistant integration, which also uses the web API, is able to play my favorite songs with the url spotify:user:xyz:collection.

Do you know, if it ever worked, to start the favorite songs playlist this way with Spotty?

@michaelherger
Copy link
Owner

Do you know, if it ever worked, to start the favorite songs playlist this way with Spotty?

Excellent question! It actually might be unsupported. Would you get a message "No tracks found for URI ..." in your server.log when you try to play that URI? See Settings/Information for the log file.

@daniel1v
Copy link
Author

I tried it again, and I got the following messages:

[24-12-30 15:16:43.7397] Plugins::Spotty::ProtocolHandler::explodePlaylist (78) Explode URI: spotify:user:XXXX:collection
[24-12-30 15:16:43.7398] Plugins::Spotty::API::tracksFromURI (842) No tracks found for URI spotify:user:XXXX:collection

@michaelherger
Copy link
Owner

Ok, thanks! This the of URI is not supported yet. I'm not sure how feasible it'll be to create an acceptable solution, as that list can potentially have tens of thousands of tracks - which would take forever to load, an likely end in being banned/rate limited, as we can only get 50 tracks per request. But I'll see what I can do.

Would this be the same list as you'd get in Start/Songs (or similar)?

@michaelherger michaelherger added the enhancement New feature or request label Dec 31, 2024
@daniel1v
Copy link
Author

daniel1v commented Dec 31, 2024

Hi and thank you for your fast reply. I can confirm, that it is exactly the same list of songs as in Start/Songs. It would really be amazing to have the possibility to start the playback of this collection via URI. From my understanding, it could be as simple as taking this songs and adding them to the queue. But you are right, I can also confirm, that it takes some time to load (around 2 seconds for 1000 songs for me). For me, personally, it would be absolutely okay.

To avoid long loading times in bigger collection, would it be a feasible solution to start playback of the first song and then add the rest of the songs in the background / async?

@michaelherger
Copy link
Owner

Thanks for the confirmation. Then it should be possible to play that URI without too much hassle.

Unfortunately adding tracks in the background wouldn't be easily feasible, though.

Anyway - this is not going to happen today 😁. Happy new year!

@daniel1v
Copy link
Author

Nice to hear, that it is possible and there's a chance to get this feature in the future. Feel free to contact me, if you need testing / feedback on this.

Happy new year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants