Fix player controls get messed up between provider reloads
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Sat, 15 Mar 2025 14:14:17 +0000 (15:14 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Sat, 15 Mar 2025 14:14:17 +0000 (15:14 +0100)
music_assistant/controllers/players.py

index 65cfcdd9058444112332affd0d912e24ceaec649..a7d35f657150cd854d29bb103ba941861e23ed23 100644 (file)
@@ -983,6 +983,11 @@ class PlayerController(CoreController):
         if self.mass.closing:
             return
 
+        if (existing := self.get(player.player_id)) and not existing.available and player.available:
+            # player was previously unavailable, but is now available again
+            self.logger.info("Player %s is available again", player.name)
+            del self._players[player.player_id]
+
         if player.player_id in self._players:
             self._players[player.player_id] = player
             self.update(player.player_id)