From f2c5f12872faeba5baa801ae40f2077a18a4b328 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Fri, 5 Mar 2021 09:03:05 +0100 Subject: [PATCH] fix chromecast power state --- music_assistant/constants.py | 2 +- music_assistant/mass.py | 3 --- music_assistant/models/player.py | 2 ++ music_assistant/providers/chromecast/player.py | 9 +++------ 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/music_assistant/constants.py b/music_assistant/constants.py index d1d93798..f218ece1 100755 --- a/music_assistant/constants.py +++ b/music_assistant/constants.py @@ -1,6 +1,6 @@ """All constants for Music Assistant.""" -__version__ = "0.1.6" +__version__ = "0.1.7" REQUIRED_PYTHON_VER = "3.8" # configuration keys/attributes diff --git a/music_assistant/mass.py b/music_assistant/mass.py index 253324e0..d554d348 100644 --- a/music_assistant/mass.py +++ b/music_assistant/mass.py @@ -286,9 +286,6 @@ class MusicAssistant: while isinstance(check_target, functools.partial): check_target = check_target.func - if self._exit: - LOGGER.debug("scheduling job %s while exiting!", check_target.__name__) - if threading.current_thread() is not threading.main_thread(): # called from other thread if asyncio.iscoroutine(check_target): diff --git a/music_assistant/models/player.py b/music_assistant/models/player.py index d48c8ae2..8968e086 100755 --- a/music_assistant/models/player.py +++ b/music_assistant/models/player.py @@ -393,6 +393,8 @@ class Player: @callback def update_state(self) -> None: """Call to update current player state in the player manager.""" + if self.mass.exit: + return if not self.added_to_mass: if self.enabled: # player is now enabled and can be added diff --git a/music_assistant/providers/chromecast/player.py b/music_assistant/providers/chromecast/player.py index 442ebf46..7e36c71c 100644 --- a/music_assistant/providers/chromecast/player.py +++ b/music_assistant/providers/chromecast/player.py @@ -69,9 +69,7 @@ class ChromecastPlayer(Player): @property def name(self) -> str: """Return name of this player.""" - return ( - self._chromecast.name if self._chromecast else self._cast_info.friendly_name - ) + return self._cast_info.friendly_name @property def powered(self) -> bool: @@ -84,7 +82,8 @@ class ChromecastPlayer(Player): or self.media_status.player_is_paused or self.media_status.player_is_idle ) - return not self.cast_status.volume_muted and not self.cast_status.is_stand_by + # Chromecast does not support power so we (ab)use mute instead + return not self.cast_status.volume_muted @property def should_poll(self) -> bool: @@ -94,8 +93,6 @@ class ChromecastPlayer(Player): @property def state(self) -> PlaybackState: """Return the state of the player.""" - if self.cast_status and self.cast_status.is_stand_by: - return PlaybackState.Off if self.media_status is None: return PlaybackState.Stopped if self.media_status.player_is_playing: -- 2.34.1