-
Notifications
You must be signed in to change notification settings - Fork 638
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
Spirc: Replace Mecury with Dealer #1356
Conversation
1718360
to
959993a
Compare
oh the branch might not compile because there are still some |
Super job! I know you're not there yet, so let's all contribute here. Stuff like this almost makes me sign up for a Spotify plan again 😉 I'm gonna have a more thorough look later. Wanted to ping back on your comment over at #1349:
If you look at I think if you follow the code flow, updating the connection ID then triggers the
|
- impl shuffle again - extracted fill up of next tracks in own method - moved queue revision update into next track fill up - removed unused method `set_playing_track_index` - added option to specify index when resetting the playback context - reshuffle after repeat context
@photovoltex yes, it is indeed working now :) |
Awesome so let's get it in |
Hmmm... I think I found a new issue, happened to me 3 times today (but for some reason never before): I was listening to the liked songs playlists for some time and suddenly the music stops playing in the middle of a song. the following errors got logged:
Note that the wifi of this device (Raspberry Pi 3 A+) is a bit unstable for me, sometimes it doesn't respond for ~15 seconds... Maybe that's why the |
Sure thing. But did anyone look over the code or do we just merge it? I could understand why, the changes are a bit too drastic/large to review. But just wanted to hear what the stance in regards to that is^^ |
In an ideal world I'd like to run through the code, but I don't have a lot of time for it in the coming weeks. So I thought that it's better to get it in and we can still place code comments on GitHub after the merge. |
Sounds reasonable. Feel free to merge whenever fits best :) |
That should probably be unrelated to these changes. But if they appear again we can open an issue^^ |
I can report that this issue occurred for me as well:
|
Hui that's a lot of errors and warning in one spot. Seems all be related to sort of timeout or unresponsive network connection. Can both of you maybe try to reproduce these issues on the dev branch? I will look into it if there might be some changes that unintentionally affect the player. But from the errors in the log it sounds more like network issues. |
I did also find a weird behavior from the context-resolver... if you request a playlist that contains tracks and episodes, only the tracks will be resolved. The response seems to not contain any info about the episodes... I will probably not solve it anymore in context of this PR, so might be moved out into a new issue afterwards. |
There is also an oversight with the current impl in relation to shuffle and a context with multiple pages. For example playing an artist with shuffle doesn't work yet as one would expect. That probably needs a revisit at some point in the future. Adjusting the current impl would probably add another 100+ lines to the current PR, which i would like to prevent for now^^ |
Looked again at this comment (#1356 (comment)), and it might be a better solution in the end, when we play a shuffled context we usually don't need the default context. I had hopped we could just keep refs to the original tracks in a vec, but that collides with every state modification you still want to do. That might be a nice next task to do after this initial state is merged and we iterate on improving performance and stability :D |
Continuing development here (https://github.com/photovoltex/librespot/tree/improve-dealer) so that this PR is only the basic integration (with some new features provided by the dealer) |
Drumroll for merging, coming up in 3... 2.... |
Well, and now we wait for issues that we didn't spot during testing/development |
Initial PR Description
As suggested from @roderickvd a draft PR so i can have some community feedback and give now and then updates on the progress.
The replacement is in a working state, so the very basic do work again. There is still a lot of cleanup and re-implementing to do.
But so far what is working:
Previously Known Problems:
might be that that is already resolved, but i think i still saw that behavior not so long agoWhat i still have to do:
currently it works really well if the playback starts from a different device like the web-playerbut from a cold start it's still a bit weird and not fully sorted outI tried to keep my code clean, but if there are points that i could improve and such, i would like to here them^^
Currently Known Issues:
Fixes #19
repeating_track
andset_options
commandFixes #434
Fixes #442
Fixes #701
set_queue
Fixes #765
Fixes #861
Fixes #1205
Fixes #1353
Thx again to all people testing the branch, helps a lot :D