-
-
Notifications
You must be signed in to change notification settings - Fork 46
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
Possible fix for Starting song radio from queue creates a queue based on the wrong song #263 #264
Conversation
Ah. I see you've stumbled upon mymultiqueue mess. Other than continuation not being supported, seamless switching (I didn't know this existed) isn't either. For non-seamless, it isn't hard, just do this and queueboard should already handle it fine.
For seamless, media items in player can be updated with player.replaceMediaItems() without interrupting playback, then sync with queueboard as you said ---> the add function in queueboard needs to be modified for seamless...... and that should be it(?)
I think shuffle, enqueue, reorder all modify the player seamlessly, but do so in different ways. Would it be better to have one function to handle all this instead? |
9d3c953
to
ee7d719
Compare
I updated the code: It now uses To make seamless playback work I did the following: Modified QueueBoard::setCurrQueue:
|
80a9382
to
85ef35a
Compare
55b2aa6
to
810badd
Compare
@Millencolin I added continuation back (so radio is endless now), and did some tinkering with the seamless stuff to accommodate that. In short, seamless works for any case where the current song == song to play after switching queues. Let me know your thoughts. |
I think it is not working properly, didn't have time to look into the code for details Example
Other thing for seamless playback: |
Found the issue for the additional songs in the queue...
|
8fab8e7
to
db7bc02
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't be duplicates anymore (oops by bad). I'll probably squash all the fix seamless commits, so we're left with initial seamless, improved seamless, and continuation as 3 commits only so the commit history is more readable
Let me know when ready to merge
db7bc02
to
257a4f8
Compare
Hmm, i could still see the duplicate song somehow. I pushed a small fix which I think fixes it. To reproduce the issue: Start a radio, click on the second last song so that the queue expands, you will see the last song twice One thing that I also just saw is that when you use continuation multiple times it is adding the same list of songs again For me it is ok to reorder and squash commits |
SIGH. now it should no longer load the same mix over again |
Co-authored-by: Millencolin <[email protected]> Co-authored-by: mikooomich <[email protected]>
* Aka auto load. * Rebased implementation on InnerTune * Closes DD3Boh#88 DD3Boh#144
6411f81
to
9d5a984
Compare
I think it looks good now. BTW: Continuation stops working if you close and reopen the app. Probably because is does not persist the playlistId yet
|
eh? I thought I just fixed that (old queues will have to be removed and re-created) |
Your fixes work fine. However if you play a song radio with continuation and then force close the app and reopen it, continuation is not working |
now I think all the bugs have been squashed. Coding the initial radio while sick was a mistake. |
Haha, works fine now |
What is it?
Description of the changes in your PR
This is a possible fix for #263.
However:
It would probably be better to call startRadioSeamlessly with mediaMetadata as parameter and handling the logic of selecting the right songs in there.
Also adding another method in queueBoard to handle adding the songs and start it without interrupting the currently playing song would probably be cleaner than calling queueBoard.addQueue / queueBoard.setCurrQueuePosIndex.
I didn't want to start modifying too many things and let you use this code as a base to fix the issue