From: Marcel van der Veldt Date: Mon, 7 Sep 2020 08:29:27 +0000 (+0200) Subject: fix for player queue X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=57becd08985690016a7d651fa4e5e28bd57958fa;p=music-assistant-server.git fix for player queue invalidate previous state as the format is now incompatible --- 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):