From 57becd08985690016a7d651fa4e5e28bd57958fa Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Mon, 7 Sep 2020 10:29:27 +0200 Subject: [PATCH] fix for player queue invalidate previous state as the format is now incompatible --- music_assistant/models/player_queue.py | 14 +++++++++----- .../providers/squeezebox/socket_client.py | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/music_assistant/models/player_queue.py b/music_assistant/models/player_queue.py index 64392c3d..0aeb89e1 100755 --- a/music_assistant/models/player_queue.py +++ b/music_assistant/models/player_queue.py @@ -437,10 +437,14 @@ class PlayerQueue: # send queue cmd to player's own implementation player_prov = self.mass.player_manager.get_player_provider(self.player_id) try: - await player_prov.async_cmd_queue_update(self.player_id, self._items) + await player_prov.async_cmd_queue_clear(self.player_id) except NotImplementedError: - # not supported by player, ignore - pass + # not supported by player, try update instead + try: + await player_prov.async_cmd_queue_update(self.player_id, []) + except NotImplementedError: + # not supported by player, ignore + pass self.mass.signal_event(EVENT_QUEUE_ITEMS_UPDATED, self.to_dict()) async def async_update_state(self): @@ -582,7 +586,7 @@ class PlayerQueue: async def __async_restore_saved_state(self): """try to load the saved queue for this player from cache file""" - cache_str = "queue_%s" % self.player.player_id + cache_str = "queue_state_%s" % self.player.player_id cache_data = await self.mass.cache.async_get(cache_str) if cache_data: self._shuffle_enabled = cache_data["shuffle_enabled"] @@ -595,7 +599,7 @@ class PlayerQueue: async def __async_save_state(self): """save current queue settings to file""" - cache_str = "queue_%s" % self.player_id + cache_str = "queue_state_%s" % self.player_id cache_data = { "shuffle_enabled": self._shuffle_enabled, "repeat_enabled": self._repeat_enabled, diff --git a/music_assistant/providers/squeezebox/socket_client.py b/music_assistant/providers/squeezebox/socket_client.py index eac72a45..7bfa3f6d 100644 --- a/music_assistant/providers/squeezebox/socket_client.py +++ b/music_assistant/providers/squeezebox/socket_client.py @@ -443,6 +443,7 @@ class SqueezeSocketClient: # received player name data = data[1:].decode() self._device_name = data + asyncio.create_task(self._event_callback(Event.EVENT_UPDATED, self)) class PySqueezeVolume(object): -- 2.34.1