Snapcast: re-add update all clients on sync and unsync (#1395)
authorSantiago Soto <santiago@soto.uy>
Thu, 20 Jun 2024 14:26:18 +0000 (11:26 -0300)
committerGitHub <noreply@github.com>
Thu, 20 Jun 2024 14:26:18 +0000 (16:26 +0200)
fix(snapcast): re-add update all clients on sync and unsync

music_assistant/server/providers/snapcast/__init__.py

index 4084485367c3a9600646de6493ea33451bc7b86d..868458ad656a5b3ac6ec321fdf7a30a52758e16e 100644 (file)
@@ -346,6 +346,8 @@ class SnapCastProvider(PlayerProvider):
             player = self.mass.players.get(player_id)
             player.synced_to = self._synced_to(player_id)
             self.mass.players.update(target_player)
+            # update all players
+            self._handle_update()
 
     async def cmd_unsync(self, player_id: str) -> None:
         """Unsync Snapcast player."""
@@ -355,6 +357,8 @@ class SnapCastProvider(PlayerProvider):
         # assign default/empty stream to the player
         await self._get_snapgroup(player_id).set_stream("default")
         await self.cmd_stop(player_id=player_id)
+        # update all players
+        self._handle_update()
 
     async def play_media(self, player_id: str, media: PlayerMedia) -> None:  # noqa: PLR0915
         """Handle PLAY MEDIA on given player."""