Restore server-side playlist on reconnect (#567) (#590)

* Restore server-side playlist on reconnect (#567)

* Restore server-side playlist on reconnect (v2)
This commit is contained in:
Etoh 2023-02-28 20:33:07 +00:00 committed by GitHub
parent e0dd0cf05f
commit 807886c607
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 0 deletions

View File

@ -1936,7 +1936,19 @@ class SyncplayPlaylist():
self._ui.showMessage("Playlist saved as {}".format(path)) # TODO: Move to messages_en
def playlistNeedsRestoring(self, files, username):
return self._client.sharedPlaylistIsEnabled() and self._playlist != None and files == [] and username == None and not self._playlistBufferIsFromOldRoom(self._client.userlist.currentUser.room)
def playlistNeedsRestoring(self, files, username):
return self._client.sharedPlaylistIsEnabled() and len(self._playlist) > 0 and not files and username == None and (self._previousPlaylistRoom == None or self._previousPlaylistRoom == self._client.userlist.currentUser.room)
def changePlaylist(self, files, username=None, resetIndex=False):
if self.playlistNeedsRestoring(files, username):
self._ui.showDebugMessage("Restoring playlist on reconnect...")
files = self._playlist.copy()
self._client._protocol.setPlaylist(files)
self._client._protocol.setPlaylistIndex(self._playlistIndex)
return
self.queuedIndexFilename = None
if self._playlist == files:
if self._playlistIndex != 0 and resetIndex: