From: Marcel van der Veldt Date: Wed, 26 Feb 2025 09:36:12 +0000 (+0100) Subject: Enhancement: Don't use lookup_key for player providers X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=4999079bbe9ddf3bcf3f4fefbdaf20ea55fa4ce2;p=music-assistant-server.git Enhancement: Don't use lookup_key for player providers A player's provider is always instance id and never domain so avoid the use of lookup_key --- diff --git a/music_assistant/controllers/players.py b/music_assistant/controllers/players.py index d03016ab..9fb74880 100644 --- a/music_assistant/controllers/players.py +++ b/music_assistant/controllers/players.py @@ -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 diff --git a/music_assistant/providers/_template_player_provider/__init__.py b/music_assistant/providers/_template_player_provider/__init__.py index 33ff6dea..33ddfd60 100644 --- a/music_assistant/providers/_template_player_provider/__init__.py +++ b/music_assistant/providers/_template_player_provider/__init__.py @@ -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, diff --git a/music_assistant/providers/fully_kiosk/__init__.py b/music_assistant/providers/fully_kiosk/__init__.py index 33e09cdd..da24693c 100644 --- a/music_assistant/providers/fully_kiosk/__init__.py +++ b/music_assistant/providers/fully_kiosk/__init__.py @@ -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, diff --git a/music_assistant/providers/hass/__init__.py b/music_assistant/providers/hass/__init__.py index 9a9f84fc..f4494c5c 100644 --- a/music_assistant/providers/hass/__init__.py +++ b/music_assistant/providers/hass/__init__.py @@ -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: