/
/
/
# What does this implement/fix? #5474 made announcements override a deliberate mute, but only for speakers that Music Assistant renders the announcement for itself. Speakers that play announcements natively (Sonos, Snapcast, Samsung WAM, Bose SoundTouch, Home Assistant players, ESPHome via Sendspin) were left out, so whether a muted speaker actually said anything was up to the speaker. In practice that meant a muted Snapcast client stayed completely silent, a Samsung speaker played the announcement but was left unmuted afterwards, and any speaker using volume-based (fake) mute announced at the muted zero instead of at its real volume. An announcement is meant to be heard, so it now always overrides the mute — on every speaker, and the mute is restored once the announcement is done. ## Types of changes - [x] Bugfix (non-breaking change which fixes an issue) — `bugfix` ## Checklist - [x] The code change is tested and works locally. - [x] `pre-commit run --all-files` passes. - [x] `pytest` passes, and tests have been added/updated under `tests/` where applicable. - [ ] For changes to shared models, the companion PR in `music-assistant/models` is linked. - [ ] For changes affecting the UI, the companion PR in `music-assistant/frontend` is linked. - [x] I have read and complied with the project's [AI Policy](https://github.com/music-assistant/.github/blob/main/AI_POLICY.md) for any AI-assisted contributions. - [ ] I have [raised a PR against the documentation repository](https://github.com/music-assistant/music-assistant.io/blob/main/CONTRIBUTING.md) targeting the main or beta branch as appropriate. ## Changes - Speakers with native announcement support are unmuted for the announcement and muted again afterwards, the same way the other speakers already were. - All members of a muted group hear the announcement, and each keeps its own mute setting. - The announcement volume is now worked out after the unmute, so speakers using volume-based mute announce at their real volume. - Bose SoundTouch now waits for the announcement to finish before handing the speaker back, like every other speaker does. - Added test coverage for announcements on muted speakers that announce natively.