add previous player url to snapshot state
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Fri, 22 Jul 2022 10:35:25 +0000 (12:35 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Fri, 22 Jul 2022 10:35:25 +0000 (12:35 +0200)
allows resuming from previous state

music_assistant/models/player_queue.py

index b4b8f8fe949622712b3b9bdc0d539b41bbb0d9c0..584210655860d111c18ca3783d392c6d383ccea6 100644 (file)
@@ -58,6 +58,7 @@ class QueueSnapShot:
     position: int
     settings: dict
     volume_level: int
+    player_url: str
 
 
 class PlayerQueue:
@@ -473,6 +474,7 @@ class PlayerQueue:
             position=self._current_item_elapsed_time,
             settings=self._settings.to_dict(),
             volume_level=self.player.volume_level,
+            player_url=self.player.current_url,
         )
 
     async def snapshot_restore(self) -> None:
@@ -489,6 +491,10 @@ class PlayerQueue:
             await self.update_items(self._snapshot.items)
             self._current_index = self._snapshot.index
             self._current_item_elapsed_time = self._snapshot.position
+            self._last_player_state = (
+                self._snapshot.state.value,
+                self._snapshot.player_url,
+            )
             if self._snapshot.state in (PlayerState.PLAYING, PlayerState.PAUSED):
                 await self.resume()
             if self._snapshot.state == PlayerState.PAUSED: