small fix for dynamic cast group
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Wed, 8 Sep 2021 18:11:36 +0000 (20:11 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Wed, 8 Sep 2021 18:11:36 +0000 (20:11 +0200)
music_assistant/constants.py
music_assistant/providers/chromecast/player.py

index d5bf955f221043eea185890b1d434ec6f0a8795c..b82971889117165ad266e4c785be2cd4e4bb1b8f 100755 (executable)
@@ -1,6 +1,6 @@
 """All constants for Music Assistant."""
 
-__version__ = "0.2.9"
+__version__ = "0.2.10"
 REQUIRED_PYTHON_VER = "3.8"
 
 # configuration keys/attributes
index 337210de6d438e68e3e875659ea6747cbd2d0e2e..f8bd1d8812c04b09327dbdcb822243b529365ccd 100644 (file)
@@ -688,13 +688,18 @@ class ChromecastDynamicGroupPlayer(Player):
 
     async def on_poll(self):
         """Call when player is polled by player manager."""
-        required_player = self.select_active_player()
-        if self._active_player != required_player and required_player:
-            # active player changed, we need to transfer the queue
-            if self._active_player and self._active_player.state != PlayerState.IDLE:
-                player_queue = self.mass.players.get_player_queue(self.player_id)
-                await player_queue.stop()
+        self._active_player = self.get_active_player()
+        if self._active_player is not None:
+            required_player = self.select_active_player()
+            if required_player and self._active_player != required_player:
+                # active player changed, we need to transfer the queue
+                if (
+                    self._active_player
+                    and self._active_player.state != PlayerState.IDLE
+                ):
+                    player_queue = self.mass.players.get_player_queue(self.player_id)
+                    await player_queue.stop()
+                    self._active_player = required_player
+                    await player_queue.resume()
                 self._active_player = required_player
-                await player_queue.resume()
-            self._active_player = required_player
         await super().on_poll()