From: Santiago Soto Date: Fri, 14 Jun 2024 09:48:55 +0000 (-0300) Subject: Fix snapcast group child (#1360) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=82a38e091496d1a3b6752533b6dc7d17959070c7;p=music-assistant-server.git Fix snapcast group child (#1360) fix group childs --- diff --git a/music_assistant/server/providers/snapcast/__init__.py b/music_assistant/server/providers/snapcast/__init__.py index 01bfee0a..ae45bf5e 100644 --- a/music_assistant/server/providers/snapcast/__init__.py +++ b/music_assistant/server/providers/snapcast/__init__.py @@ -342,6 +342,7 @@ class SnapCastProvider(PlayerProvider): """Sync Snapcast player.""" group = self._get_snapgroup(target_player) await group.add_client(self._get_snapclient_id(player_id)) + self._handle_update() async def cmd_unsync(self, player_id: str) -> None: """Unsync Snapcast player.""" @@ -350,7 +351,7 @@ class SnapCastProvider(PlayerProvider): await group.remove_client(snap_client_id) # assign default/empty stream to the player await self._get_snapgroup(player_id).set_stream("default") - self._handle_update() + await self.cmd_stop(player_id=player_id) async def play_media(self, player_id: str, media: PlayerMedia) -> None: # noqa: PLR0915 """Handle PLAY MEDIA on given player.""" @@ -471,9 +472,9 @@ class SnapCastProvider(PlayerProvider): """Return player_ids of the players synced to this player.""" snap_group = self._get_snapgroup(player_id) return { - self._get_ma_id(snap_client) - for snap_client in snap_group.clients - if snap_client != player_id + self._get_ma_id(snap_client_id) + for snap_client_id in snap_group.clients + if len(snap_group.clients) > 1 } async def _create_stream(self) -> tuple[Snapstream, int]: