From: marcelveldt Date: Thu, 31 Oct 2019 21:54:42 +0000 (+0100) Subject: ignore disabled players X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=66ba6cc45596d8c5b7f1467563dc1d22c61a99b8;p=music-assistant-server.git ignore disabled players --- diff --git a/music_assistant/models/player.py b/music_assistant/models/player.py index dae9e0d1..f61c269f 100755 --- a/music_assistant/models/player.py +++ b/music_assistant/models/player.py @@ -134,6 +134,14 @@ class Player(): ''' [PROTECTED] provider id of this player ''' return self._prov_id + @property + def enabled(self): + ''' [PROTECTED] enabled state of this player ''' + if self.settings.get('enabled'): + return True + else: + return False + @property def name(self): ''' [PROTECTED] name of this player ''' @@ -201,7 +209,7 @@ class Player(): @property def state(self): ''' [PROTECTED] state property of this player ''' - if not self.powered: + if not self.powered or not self.enabled: return PlayerState.Off # prefer group player state for group_parent_id in self.group_parents: @@ -220,6 +228,8 @@ class Player(): @property def powered(self): ''' [PROTECTED] return power state for this player ''' + if not self.enabled: + return False # homeassistant integration if (self.mass.hass.enabled and self.settings.get('hass_power_entity') and self.settings.get('hass_power_entity_source')): @@ -551,7 +561,7 @@ class Player(): async def update(self, update_queue=False): ''' [PROTECTED] signal player updated ''' - if not self._initialized: + if not self._initialized or not self.enabled: return # update queue state if player state changes if update_queue: diff --git a/music_assistant/music_manager.py b/music_assistant/music_manager.py index 53058666..5b08263b 100755 --- a/music_assistant/music_manager.py +++ b/music_assistant/music_manager.py @@ -163,7 +163,7 @@ class MusicManager(): # collect the tracks from the first provider for prov in album.provider_ids: prov_obj = self.providers[prov['provider']] - items = await prov_obj.album_tracks(album_id) + items = await prov_obj.album_tracks(prov['item_id']) if items: break items = sorted(items, key=operator.attrgetter('track_number'), reverse=False) diff --git a/music_assistant/player_manager.py b/music_assistant/player_manager.py index 38f5a73d..7e66a80d 100755 --- a/music_assistant/player_manager.py +++ b/music_assistant/player_manager.py @@ -54,9 +54,10 @@ class PlayerManager(): ''' register a new player ''' player._initialized = True self._players[player.player_id] = player - await self.mass.signal_event(EVENT_PLAYER_ADDED, player.to_dict()) - # TODO: turn on player if it was previously turned on ? - LOGGER.info(f"New player added: {player.player_provider}/{player.player_id}") + if player.enabled: + await self.mass.signal_event(EVENT_PLAYER_ADDED, player.to_dict()) + # TODO: turn on player if it was previously turned on ? + LOGGER.info(f"New player added: {player.player_provider}/{player.player_id}") return player async def remove_player(self, player_id):