From: Marcel van der Veldt Date: Tue, 1 Jun 2021 11:12:38 +0000 (+0200) Subject: small fixes for radio and chromecast status X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=0a95803c22dbdaba125710ead5822794058c18e0;p=music-assistant-server.git small fixes for radio and chromecast status --- diff --git a/music_assistant/constants.py b/music_assistant/constants.py index c6b19ee2..6574f9d9 100755 --- a/music_assistant/constants.py +++ b/music_assistant/constants.py @@ -1,6 +1,6 @@ """All constants for Music Assistant.""" -__version__ = "0.1.8" +__version__ = "0.1.9" REQUIRED_PYTHON_VER = "3.8" # configuration keys/attributes diff --git a/music_assistant/helpers/process.py b/music_assistant/helpers/process.py index 853be329..27309da9 100644 --- a/music_assistant/helpers/process.py +++ b/music_assistant/helpers/process.py @@ -14,7 +14,7 @@ from async_timeout import timeout LOGGER = logging.getLogger("AsyncProcess") DEFAULT_CHUNKSIZE = 512000 -DEFAULT_TIMEOUT = 5 +DEFAULT_TIMEOUT = 60 class AsyncProcess: @@ -67,6 +67,8 @@ class AsyncProcess: return await self._proc.stdout.readexactly(chunk_size) except asyncio.IncompleteReadError as err: return err.partial + except AttributeError: + raise asyncio.CancelledError() async def write(self, data: bytes) -> None: """Write data to process stdin.""" @@ -75,6 +77,8 @@ class AsyncProcess: await self._proc.stdin.drain() except BrokenPipeError: pass + except AttributeError: + raise asyncio.CancelledError() async def write_eof(self) -> None: """Write eof to process.""" diff --git a/music_assistant/managers/config.py b/music_assistant/managers/config.py index 53f2a921..e3a52a14 100755 --- a/music_assistant/managers/config.py +++ b/music_assistant/managers/config.py @@ -73,7 +73,7 @@ DEFAULT_PLAYER_CONFIG_ENTRIES = [ ConfigEntry( entry_key=CONF_TARGET_VOLUME, entry_type=ConfigEntryType.INT, - range=(-30, 0), + range=(-40, 0), default_value=-23, label=CONF_TARGET_VOLUME, description="desc_target_volume", diff --git a/music_assistant/providers/chromecast/player.py b/music_assistant/providers/chromecast/player.py index 7e36c71c..4d0db6d1 100644 --- a/music_assistant/providers/chromecast/player.py +++ b/music_assistant/providers/chromecast/player.py @@ -83,7 +83,10 @@ class ChromecastPlayer(Player): or self.media_status.player_is_idle ) # Chromecast does not support power so we (ab)use mute instead - return not self.cast_status.volume_muted + return ( + not self.cast_status.display_name + or self.cast_status.display_name == "Default Media Receiver" + ) and not self.cast_status.volume_muted @property def should_poll(self) -> bool: @@ -93,6 +96,8 @@ class ChromecastPlayer(Player): @property def state(self) -> PlaybackState: """Return the state of the player.""" + if not self.powered: + return PlaybackState.Off if self.media_status is None: return PlaybackState.Stopped if self.media_status.player_is_playing: