From 23521cc792a369b7b870f5d05b577714dd2b00b2 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Fri, 14 Jun 2024 23:04:34 +0200 Subject: [PATCH] Fixed volume fixes (#1365) * Do not set volume_set feature when Sonos player had fixed volume * Fix group volume when child player has fixed volume --- music_assistant/server/controllers/players.py | 4 ++++ music_assistant/server/providers/sonos/__init__.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/music_assistant/server/controllers/players.py b/music_assistant/server/controllers/players.py index ff02d1c5..50ebb939 100644 --- a/music_assistant/server/controllers/players.py +++ b/music_assistant/server/controllers/players.py @@ -367,6 +367,8 @@ class PlayerController(CoreController): volume_dif = new_volume - cur_volume coros = [] for child_player in self.iter_group_members(group_player, True): + if PlayerFeature.VOLUME_SET not in child_player.supported_features: + continue cur_child_volume = child_player.volume_level new_child_volume = int(cur_child_volume + volume_dif) new_child_volume = max(0, new_child_volume) @@ -975,6 +977,8 @@ class PlayerController(CoreController): group_volume = 0 active_players = 0 for child_player in self.iter_group_members(player, True): + if PlayerFeature.VOLUME_SET not in child_player.supported_features: + continue group_volume += child_player.volume_level or 0 active_players += 1 if active_players: diff --git a/music_assistant/server/providers/sonos/__init__.py b/music_assistant/server/providers/sonos/__init__.py index bdc60f98..41628b56 100644 --- a/music_assistant/server/providers/sonos/__init__.py +++ b/music_assistant/server/providers/sonos/__init__.py @@ -526,6 +526,10 @@ class SonosPlayerProvider(PlayerProvider): soco=soco, mass_player=mass_player, ) + if soco.fixed_volume: + mass_player.supported_features = tuple( + x for x in mass_player.supported_features if x != PlayerFeature.VOLUME_SET + ) sonos_player.setup() self.mass.loop.call_soon_threadsafe( self.mass.players.register_or_update, sonos_player.mass_player -- 2.34.1