Enhancement: Don't use lookup_key for player providers
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Wed, 26 Feb 2025 09:36:12 +0000 (10:36 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Wed, 26 Feb 2025 09:36:12 +0000 (10:36 +0100)
A player's provider is always instance id and never domain so avoid the use of lookup_key

music_assistant/controllers/players.py
music_assistant/providers/_template_player_provider/__init__.py
music_assistant/providers/fully_kiosk/__init__.py
music_assistant/providers/hass/__init__.py

index d03016ab2a4b9d37aeb5676d582f6f9fd3fa6770..9fb74880eb7d22e93ae67142b94640b39ef77741 100644 (file)
@@ -729,7 +729,7 @@ class PlayerController(CoreController):
             player.active_source = None
             player.current_media = None
         # check if source is a pluginsource
-        # in that case the source id is the lookup_key of the plugin provider
+        # in that case the source id is the instance_id of the plugin provider
         if plugin_prov := self.mass.get_provider(source):
             await self._handle_select_plugin_source(player, plugin_prov)
             return
@@ -1157,9 +1157,9 @@ class PlayerController(CoreController):
             msg = f"PlayerControl {control_id} is already registered"
             raise AlreadyRegisteredError(msg)
 
-        # make sure that the playercontrol's provider is set to the lookup_key
+        # make sure that the playercontrol's provider is set to the instance_id
         prov = self.mass.get_provider(player_control.provider)
-        if not prov or prov.lookup_key != player_control.provider:
+        if not prov or prov.instance_id != player_control.provider:
             raise RuntimeError(f"Invalid provider ID given: {player_control.provider}")
 
         self._controls[control_id] = player_control
index 33ff6dea531d61c9032f12312893787049fe5012..33ddfd60475f1b804ea1a3e3f39db3246349edfd 100644 (file)
@@ -210,7 +210,7 @@ class MyDemoPlayerprovider(PlayerProvider):
         # Instantiate the MA Player object and register it with the player manager
         mass_player = Player(
             player_id=player_id,
-            provider=self.lookup_key,
+            provider=self.instance_id,
             type=PlayerType.PLAYER,
             name=name,
             available=True,
index 33e09cdd31ac367bb76d8bd5d196d4a7af83ffde..da24693c7fdc62010d488a193d41519dc46fee1b 100644 (file)
@@ -116,7 +116,7 @@ class FullyKioskProvider(PlayerProvider):
         if not player:
             player = Player(
                 player_id=player_id,
-                provider=self.lookup_key,
+                provider=self.instance_id,
                 type=PlayerType.PLAYER,
                 name=self._fully.deviceInfo["deviceName"],
                 available=True,
index 9a9f84fc6c3e3c2f6ac7ab6a851d2a76a761e2bb..f4494c5cbb2b9f3421349dc6708d9fbb7d485300 100644 (file)
@@ -378,7 +378,7 @@ class HomeAssistantProvider(PluginProvider):
                 name = entity_id
             control = PlayerControl(
                 id=entity_id,
-                provider=self.lookup_key,
+                provider=self.instance_id,
                 name=name,
             )
             if entity_id in power_controls: