music-assistant-server.git
10 months agoFix Chromecast volume rounding bug (#2656)
OzGav [Fri, 21 Nov 2025 15:26:29 +0000 (01:26 +1000)]
Fix Chromecast volume rounding bug (#2656)

* Fix Chromecast volume rounding bug for values 8% and below

Changed volume level conversion from int() to round() to fix floating-point
precision issues. Chromecast reports volume as float (0.0-1.0) which can have
slight imprecision (e.g., 4% = 0.03999999910593033). Using int() truncated
these values, causing displayed volume to be 1% less than actual for values
8% and below.

Fixes the issue where setting volume to 5% would display as 4%, etc.

* Fix Chromecast volume rounding bug for values 8% and below

Changed volume level conversion to use round() instead of int() in both
directions to fix floating-point precision issues:

1. When setting volume: round to 2 decimal places before sending to device
2. When reading volume: round to nearest integer when converting to percentage

This fixes the issue where Chromecast reports volume as float (0.0-1.0) with
slight imprecision (e.g., 4% = 0.03999999910593033). Using int() truncated
these values, causing displayed volume to be 1% less than actual for values
8% and below.

Fixes the issue where setting volume to 5% would display as 4%, etc.

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
10 months agoChore(deps): Bump aiohttp from 3.13.1 to 3.13.2 (#2620)
dependabot[bot] [Fri, 21 Nov 2025 14:40:08 +0000 (15:40 +0100)]
Chore(deps): Bump aiohttp from 3.13.1 to 3.13.2 (#2620)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months agoTyping fixes for the audiobooks controller (#2626)
OzGav [Fri, 21 Nov 2025 14:22:41 +0000 (00:22 +1000)]
Typing fixes for the audiobooks controller (#2626)

* Typing fixes for the audiobooks controller

* Remove duplicate code

* Remove db asserts

10 months agofix(tidal): auth refresh time diff (#2653)
Jozef Kruszynski [Fri, 21 Nov 2025 14:12:30 +0000 (15:12 +0100)]
fix(tidal): auth refresh time diff (#2653)

* fix(tidal): auth refresh time diff

Auth expiration check was using only 60 seconds rather than the intended
60 minutes. Using timedelta to show full intention

Closes #4425

* fix(tidal): invert current logic, and use constant for buffer

10 months agoDisable Zone Handling if needed for MusicCast players (#2650)
Fabian Munkes [Fri, 21 Nov 2025 14:10:51 +0000 (15:10 +0100)]
Disable Zone Handling if needed for MusicCast players (#2650)

* disable zone handling if desired

* bump lib

* wording

---------

Co-authored-by: OzGav <gavnosp@hotmail.com>
10 months agoTyping fixes for artists controller (#2625)
OzGav [Fri, 21 Nov 2025 14:05:56 +0000 (00:05 +1000)]
Typing fixes for artists controller (#2625)

* Typing fixes for artists controller

* Fix circular import

* Minor type change

* Switch tracks method return type to list

* Remove db asserts

* fix albums() return type

10 months agoAdd TLS options with fingerprint support to Fully Kiosk provider (#2649)
Miguel Angel Nubla [Fri, 21 Nov 2025 12:52:52 +0000 (13:52 +0100)]
Add TLS options with fingerprint support to Fully Kiosk provider (#2649)

* feat(fully-kiosk): add TLS options with fingerprint support

* fix(fully_kiosk): satisfy linters

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
10 months agoSome typing fixes for the music controller (#2629)
OzGav [Fri, 21 Nov 2025 10:38:20 +0000 (20:38 +1000)]
Some typing fixes for the music controller (#2629)

* Some typing fixes for the music controller

* Make self.database a property

* Restore comment

10 months agoUpdate alexapy requirement to version 1.29.9 (#2647)
Michael Ansel [Thu, 20 Nov 2025 18:24:05 +0000 (13:24 -0500)]
Update alexapy requirement to version 1.29.9 (#2647)

* Update alexapy requirement to version 1.29.9

Fix for login issues with Alexa Player Provider.

Changelog: https://gitlab.com/keatontaylor/alexapy/-/blob/dev/CHANGELOG.md#v1299-2025-11-08

Motivating discussion: https://github.com/orgs/music-assistant/discussions/431#discussioncomment-14954976

* Update requirements_all.txt for alexapy 1.29.9

Generated using scripts/gen_requirements_all.py

---------

Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
10 months agoAdd VBAN Receiver plugin provider (#2498)
sprocket-9 [Thu, 20 Nov 2025 13:06:19 +0000 (13:06 +0000)]
Add VBAN Receiver plugin provider (#2498)

10 months agoEnable disabled lint rules (#2658)
OzGav [Thu, 20 Nov 2025 13:04:47 +0000 (23:04 +1000)]
Enable disabled lint rules (#2658)

10 months agoUndo yield to event loop
Marvin Schenkel [Wed, 19 Nov 2025 08:27:01 +0000 (09:27 +0100)]
Undo yield to event loop

10 months ago⬆️ Update music-assistant-frontend to 2.17.8 (#2655)
music-assistant-machine [Wed, 19 Nov 2025 02:46:23 +0000 (03:46 +0100)]
⬆️ Update music-assistant-frontend to 2.17.8 (#2655)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
10 months agoChore(deps-dev): Bump ruff from 0.14.3 to 0.14.4 (#2621)
dependabot[bot] [Tue, 18 Nov 2025 13:48:01 +0000 (14:48 +0100)]
Chore(deps-dev): Bump ruff from 0.14.3 to 0.14.4 (#2621)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.3 to 0.14.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.3...0.14.4)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months agoYTM: Yield control to event loop during stream url resolution to prevent blocking...
Marvin Schenkel [Tue, 18 Nov 2025 13:43:31 +0000 (14:43 +0100)]
YTM: Yield control to event loop during stream url resolution to prevent blocking the main thread.

10 months agoRefactor streams controller + smart fades (#2613)
Marvin Schenkel [Tue, 18 Nov 2025 13:42:01 +0000 (14:42 +0100)]
Refactor streams controller + smart fades  (#2613)

* Refactor streamscontroller + smartfades

* Adjust log levels and add mixer property

* Define separate smart fades logger in the streamcontroller

* Define separate smart fades logger in the streamcontroller

* Remove leftover

* Rewrite loggers as instance attributes

10 months agoFix DLNA player showing external source instead of MA queue (#2648)
OzGav [Tue, 18 Nov 2025 11:54:47 +0000 (21:54 +1000)]
Fix DLNA player showing external source instead of MA queue (#2648)

10 months agoFix Spotify audiobook instance routing (#2502)
OzGav [Tue, 18 Nov 2025 11:27:42 +0000 (21:27 +1000)]
Fix Spotify audiobook instance routing (#2502)

10 months agoTyping fixes for snapcast (#2624)
OzGav [Tue, 18 Nov 2025 11:08:34 +0000 (21:08 +1000)]
Typing fixes for snapcast (#2624)

* Typing fix for SiriusXM

* Typing fixes for snapcast

* fix return types

* Remove erroneous commit

* Revert erroneous commit

* Fix minor errors

10 months agoTyping fixes for the stream controller (#2540)
OzGav [Tue, 18 Nov 2025 09:53:26 +0000 (19:53 +1000)]
Typing fixes for the stream controller (#2540)

* work in progress

* mypy fixes for streams.py

* Fix typos

* Another typo

* PR review changes

* Fixes after merge conflicts

* Revert unnecessary change

* Remove unnecessary comments

* More changes post conflict resolve

* Remove exclude

* organise imports

* Updates post other commits

* Catch possible no stream details

* Updates for new commits

* Fix type error post conflict merge

* Simplify

* Simplify with type hints to config controller

* Typing adjustments

* Fix missing return type

* improve code clarity

* switch to assert for none check

* Fix return type mypy error

* Revert unnecessary bracket

* Use default parameter

10 months agoImprove lyrics lookup failure visibility (#2651)
OzGav [Tue, 18 Nov 2025 08:58:48 +0000 (18:58 +1000)]
Improve lyrics lookup failure visibility (#2651)

10 months agoTyping fix for SiriusXM (#2623)
OzGav [Tue, 18 Nov 2025 08:52:28 +0000 (18:52 +1000)]
Typing fix for SiriusXM (#2623)

10 months agoTyping fixes for the Cache controller (#2569)
OzGav [Tue, 18 Nov 2025 07:37:55 +0000 (17:37 +1000)]
Typing fixes for the Cache controller (#2569)

* mypy fixes for cache.py

* Fix  __init__ signature to match CoreController

* Adjust checksum typing

* Guarantee checksum is a str

* Apply suggestion from @marcelveldt

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
10 months agoAdd default value argument to get_*_config_value
Marcel van der Veldt [Mon, 17 Nov 2025 22:25:55 +0000 (23:25 +0100)]
Add default value argument to get_*_config_value

10 months agoMinor AirPlay tweaks (#2646)
OzGav [Mon, 17 Nov 2025 14:05:38 +0000 (00:05 +1000)]
Minor AirPlay tweaks (#2646)

10 months agoAdd type hints to config controller functions (#2639)
Marcel van der Veldt [Mon, 17 Nov 2025 11:20:30 +0000 (12:20 +0100)]
Add type hints to config controller functions (#2639)

10 months agoAdd (initial) support for AirPlay 2 (#2571)
Brad Keifer [Sun, 16 Nov 2025 19:26:09 +0000 (06:26 +1100)]
Add (initial) support for AirPlay 2 (#2571)

10 months agoHandle non-UTF8 .lrc files gracefully to prevent playback blocking (#2640)
OzGav [Sun, 16 Nov 2025 19:15:09 +0000 (05:15 +1000)]
Handle non-UTF8 .lrc files gracefully to prevent playback blocking (#2640)

10 months agoFix squeezelite sync group source selection (#2642)
OzGav [Sun, 16 Nov 2025 19:13:40 +0000 (05:13 +1000)]
Fix squeezelite sync group source selection (#2642)

Fix squeezelite group playback

10 months agofix: tracks tab not being populated (#2637)
anatosun [Sun, 16 Nov 2025 09:16:15 +0000 (10:16 +0100)]
fix: tracks tab not being populated (#2637)

10 months agofix: abs progress (again!) (#2641)
Fabian Munkes [Sun, 16 Nov 2025 08:46:28 +0000 (09:46 +0100)]
fix: abs progress (again!) (#2641)

* fix: another progress fix

* fix: forgot a not

10 months agoUpdate Resonate provider with `MULTI_DEVICE_DSP` support and other improvements ...
Maxim Raznatovski [Fri, 14 Nov 2025 15:02:16 +0000 (16:02 +0100)]
Update Resonate provider with `MULTI_DEVICE_DSP` support and other improvements (#2616)

* Update `MediaStream` usage

* Support `MULTI_DEVICE_DSP` for resonate

* Rename `stream` to `channel` in `MediaStream`

* Initial working implementation for per player DSP support

* Refactors, fixes, and comments

* Rename `shared_buffer` to `chunk_buffer`

* Use `UUID` instead of `str`

* Use seconds in `multi_client_stream`

* Move attribute definitions to class level

* Remove dead code

* Refactor `_cleanup_old_chunks`

* Rename `MultiClientStream` to `TimedClientStream`

* Refactor `_read_chunk_from`

* Convert main channel to 16-bit PCM for aioresonate compatibility

* Use separate host and advertise_host

Pass bind_ip for socket binding and publish_ip for mDNS advertising to
correctly handle scenarios where the server binds to all interfaces
(0.0.0.0) but advertises a specific IP address to clients.

* Bump `aioresonate`

* Add safety check to `TimedClientStream` to avoid memory leaks

* Update `MIN_BUFFER_DURATION` comment with findings

* Update music_assistant/providers/resonate/timed_client_stream.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Clean up `timed_client_stream` reference after playback

* Bump `aioresonate`

* Update call to the now async friendly `set_media_art`

* Update `playback_state` when joining a new group

* Update `group_members` based on `aioresonate` events

Instead of optimistically setting them.

* Move `MusicAssistantMediaStream` outside a method

* Run audio cleanup immediately

* Remove redundant type annotation

* Use `anext()`

* Remove unused async from `_cleanup_old_chunks`

* Simplify method name and clarify lock requirement

* Move `_generate` to class-level method

* Refactor `MusicAssistantMediaStream` parameters

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
10 months agoDelete and ignore uv.lock file
Marvin Schenkel [Fri, 14 Nov 2025 14:04:30 +0000 (15:04 +0100)]
Delete and ignore uv.lock file

10 months agoFix CI by installing all provider's dependencies when linting (#2619)
Maxim Raznatovski [Fri, 14 Nov 2025 13:32:45 +0000 (14:32 +0100)]
Fix CI by installing all provider's dependencies when linting (#2619)

Fix CI lint job by installing all provider dependencies

10 months agoAdded deno for YTMusic Provider (#2636)
Dnny44 [Thu, 13 Nov 2025 17:35:14 +0000 (11:35 -0600)]
Added deno for YTMusic Provider (#2636)

* Added deno for YTMusic Provider

* Commiting uv lock

11 months agoFix UGP member detection in `get_stream` (#2617)
Maxim Raznatovski [Mon, 10 Nov 2025 13:39:59 +0000 (14:39 +0100)]
Fix UGP member detection in `get_stream` (#2617)

11 months agoUse `get_stream` helper in builtin player (#2618)
Maxim Raznatovski [Mon, 10 Nov 2025 13:38:57 +0000 (14:38 +0100)]
Use `get_stream` helper in builtin player (#2618)

11 months agoTyping fixes for the Qobuz provider (#2610)
OzGav [Mon, 10 Nov 2025 09:43:22 +0000 (19:43 +1000)]
Typing fixes for the Qobuz provider (#2610)

11 months agoUse secure connection to MusicBrainz API (#2615)
mtdcr [Sun, 9 Nov 2025 23:01:10 +0000 (00:01 +0100)]
Use secure connection to MusicBrainz API (#2615)

11 months agoUpdate base image versions to 1.4.8
Marcel van der Veldt [Sun, 9 Nov 2025 08:34:19 +0000 (09:34 +0100)]
Update base image versions to 1.4.8

11 months agoRemove explicit lvvmlite and numpy dependencies now that we are using debian.
Marvin Schenkel [Sat, 8 Nov 2025 15:59:59 +0000 (16:59 +0100)]
Remove explicit lvvmlite and numpy dependencies now that we are using debian.

11 months agoApple Music: Add remaining favourite parsing + custom music token config (#2609)
Marvin Schenkel [Sat, 8 Nov 2025 11:49:19 +0000 (12:49 +0100)]
Apple Music: Add remaining favourite parsing + custom music token config (#2609)

11 months agoAdd logging filter
Marcel van der Veldt [Sat, 8 Nov 2025 11:39:37 +0000 (12:39 +0100)]
Add logging filter

11 months agoFix bugs in webserver
Marcel van der Veldt [Fri, 7 Nov 2025 17:43:11 +0000 (18:43 +0100)]
Fix bugs in webserver

11 months agoTyping fixes for the config controller (#2570)
OzGav [Fri, 7 Nov 2025 16:18:39 +0000 (02:18 +1000)]
Typing fixes for the config controller (#2570)

11 months agoRefactor Smart fades (#2582)
Marvin Schenkel [Fri, 7 Nov 2025 16:16:53 +0000 (17:16 +0100)]
Refactor Smart fades (#2582)

11 months agoTyping fixes for the squeezelite provider (#2589)
OzGav [Fri, 7 Nov 2025 16:16:21 +0000 (02:16 +1000)]
Typing fixes for the squeezelite provider (#2589)

11 months agofix macos librespot binary
Marcel van der Veldt [Fri, 7 Nov 2025 16:12:35 +0000 (17:12 +0100)]
fix macos librespot binary

11 months agoApple music improvements (#2607)
Marvin Schenkel [Fri, 7 Nov 2025 15:51:42 +0000 (16:51 +0100)]
Apple music improvements (#2607)

11 months agoRemove sonos workaround
Marcel van der Veldt [Fri, 7 Nov 2025 14:47:30 +0000 (15:47 +0100)]
Remove sonos workaround

11 months agoMore crossfade tweaks
Marcel van der Veldt [Fri, 7 Nov 2025 14:47:18 +0000 (15:47 +0100)]
More crossfade tweaks

11 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Fri, 7 Nov 2025 11:48:43 +0000 (12:48 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

11 months agoAdd more debugging of stopped streams
Marcel van der Veldt [Fri, 7 Nov 2025 11:48:38 +0000 (12:48 +0100)]
Add more debugging of stopped streams

11 months agofix: abs: another in progress fix (#2605)
Fabian Munkes [Fri, 7 Nov 2025 10:47:01 +0000 (11:47 +0100)]
fix: abs: another in progress fix (#2605)

11 months agofix: MusicCast - non-existing player in zone handling (#2606)
Fabian Munkes [Fri, 7 Nov 2025 10:46:01 +0000 (11:46 +0100)]
fix: MusicCast - non-existing player in zone handling (#2606)

11 months agoyield to loop tweaks
Marcel van der Veldt [Fri, 7 Nov 2025 10:38:49 +0000 (11:38 +0100)]
yield to loop tweaks

11 months agoTyping fixes for the Webserver controller (#2586)
OzGav [Fri, 7 Nov 2025 08:06:25 +0000 (18:06 +1000)]
Typing fixes for the Webserver controller (#2586)

* Fix merge conflicts

* more mypy fixes

* Drafting post upstream changes

* fix run_handler

* PR review comment

* Merge conflict fixes

* Fix WebserverController __init__ signature to match CoreController

11 months agoEnsure Spotify Connect is passive
Marcel van der Veldt [Fri, 7 Nov 2025 00:54:55 +0000 (01:54 +0100)]
Ensure Spotify Connect is passive

11 months agoAdd some temporary debug info to stream controller
Marcel van der Veldt [Fri, 7 Nov 2025 00:49:11 +0000 (01:49 +0100)]
Add some temporary debug info to stream controller

11 months agoAdd Airport Receiver Plugin provider (#2604)
Marcel van der Veldt [Fri, 7 Nov 2025 00:04:14 +0000 (01:04 +0100)]
Add Airport Receiver Plugin provider (#2604)

11 months agoAdd logging to Spotify streaming
Marcel van der Veldt [Thu, 6 Nov 2025 21:19:58 +0000 (22:19 +0100)]
Add logging to Spotify streaming

11 months agoFix Spotify streaming (#2603)
Marcel van der Veldt [Thu, 6 Nov 2025 20:33:51 +0000 (21:33 +0100)]
Fix Spotify streaming (#2603)

11 months agoFix deadlock when trying to join a paused Airplay player to a group (#2602)
Marvin Schenkel [Thu, 6 Nov 2025 20:25:56 +0000 (21:25 +0100)]
Fix deadlock when trying to join a paused Airplay player to a group (#2602)

11 months agoAdd more error handling and logging to (different sample rate) crossfade actions
Marcel van der Veldt [Thu, 6 Nov 2025 13:06:40 +0000 (14:06 +0100)]
Add more error handling and logging to (different sample rate) crossfade actions

11 months agoFix: start stream as fast as possible
Marcel van der Veldt [Thu, 6 Nov 2025 11:44:27 +0000 (12:44 +0100)]
Fix: start stream as fast as possible

Dont wait until the buffer has the crossfade duration if we just started playback

11 months agotry other values for readrate
Marcel van der Veldt [Thu, 6 Nov 2025 03:06:21 +0000 (04:06 +0100)]
try other values for readrate

11 months agoSmall fix for source switching
Marcel van der Veldt [Thu, 6 Nov 2025 00:22:17 +0000 (01:22 +0100)]
Small fix for source switching

11 months agodebug log check_binary returncode and output
Brad Keifer [Wed, 5 Nov 2025 04:57:49 +0000 (15:57 +1100)]
debug log check_binary returncode and output

11 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Wed, 5 Nov 2025 20:37:38 +0000 (21:37 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

11 months agoFix AirPlay late join sync
Marcel van der Veldt [Wed, 5 Nov 2025 20:37:34 +0000 (21:37 +0100)]
Fix AirPlay late join sync

11 months agoFix typo in active source property
Marcel van der Veldt [Wed, 5 Nov 2025 20:36:56 +0000 (21:36 +0100)]
Fix typo in active source property

11 months agoAllow buffered named pipe writing
Marcel van der Veldt [Wed, 5 Nov 2025 20:36:35 +0000 (21:36 +0100)]
Allow buffered named pipe writing

11 months agoChore(deps-dev): Bump ruff from 0.13.2 to 0.14.3 (#2591)
dependabot[bot] [Wed, 5 Nov 2025 15:27:44 +0000 (16:27 +0100)]
Chore(deps-dev): Bump ruff from 0.13.2 to 0.14.3 (#2591)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.13.2 to 0.14.3.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.13.2...0.14.3)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
11 months agoFix CoreController init signature to match model (#2594)
OzGav [Wed, 5 Nov 2025 15:27:17 +0000 (01:27 +1000)]
Fix CoreController init signature to match model (#2594)

11 months agoSpotify: Refactor search method to reduce complexity (#2601)
OzGav [Wed, 5 Nov 2025 15:26:20 +0000 (01:26 +1000)]
Spotify: Refactor search method to reduce complexity (#2601)

Refactor search method to reduce complexity by extracting helper methods

11 months agoDon't stop the music improvements (#2597)
Marvin Schenkel [Wed, 5 Nov 2025 15:23:33 +0000 (16:23 +0100)]
Don't stop the music improvements (#2597)

11 months agoFixed various issues with (plugin)sources (#2600)
Marcel van der Veldt [Wed, 5 Nov 2025 01:52:45 +0000 (02:52 +0100)]
Fixed various issues with (plugin)sources (#2600)

11 months agoEnforce flow mode when player does not support enqueueing (#2595)
Marvin Schenkel [Tue, 4 Nov 2025 22:21:18 +0000 (23:21 +0100)]
Enforce flow mode when player does not support enqueueing (#2595)

11 months agoPhish.in Remove erroneous provider feature (#2596)
OzGav [Tue, 4 Nov 2025 22:18:47 +0000 (08:18 +1000)]
Phish.in Remove erroneous provider feature (#2596)

11 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Tue, 4 Nov 2025 22:14:08 +0000 (23:14 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

11 months agoAirPlay: Issue the extra volume command on RAOP only
Marcel van der Veldt [Tue, 4 Nov 2025 22:14:04 +0000 (23:14 +0100)]
AirPlay: Issue the extra volume command on RAOP only

11 months agofix: abs - discarded progress (#2598)
Fabian Munkes [Tue, 4 Nov 2025 22:07:39 +0000 (23:07 +0100)]
fix: abs - discarded progress (#2598)

11 months agoFix japanese language code (#2599)
Marvin Schenkel [Tue, 4 Nov 2025 22:03:47 +0000 (23:03 +0100)]
Fix japanese language code (#2599)

Fix japanese language code.

11 months agoPrevent old streamdetails being reused when buffer still present
Marcel van der Veldt [Tue, 4 Nov 2025 18:48:59 +0000 (19:48 +0100)]
Prevent old streamdetails being reused when buffer still present

11 months agoFix AirPlay discovery info
Marcel van der Veldt [Tue, 4 Nov 2025 18:37:54 +0000 (19:37 +0100)]
Fix AirPlay discovery info

11 months agoFix Sonos enqueue issues
Marcel van der Veldt [Tue, 4 Nov 2025 00:12:57 +0000 (01:12 +0100)]
Fix Sonos enqueue issues

11 months agoModify sonos queue items debug log
Marcel van der Veldt [Mon, 3 Nov 2025 23:50:12 +0000 (00:50 +0100)]
Modify sonos queue items debug log

11 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Mon, 3 Nov 2025 23:26:28 +0000 (00:26 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

11 months agoFixed format conversion in crossfade discard calculation
Marcel van der Veldt [Mon, 3 Nov 2025 23:26:25 +0000 (00:26 +0100)]
Fixed format conversion in crossfade discard calculation

11 months agoSubsonic: Use loudness tags when present (#2580)
Eric Munson [Mon, 3 Nov 2025 23:21:50 +0000 (18:21 -0500)]
Subsonic: Use loudness tags when present (#2580)

The Open Subsonic API supports tagging items with loudness values and
will report them, when present. If they are given to us, pass them onto
MA.

Signed-off-by: Eric B Munson <eric@munsonfam.org>
11 months agoBetter handling of errors during streaming
Marcel van der Veldt [Mon, 3 Nov 2025 22:35:53 +0000 (23:35 +0100)]
Better handling of errors during streaming

Try to recover from a failed stream while streaming queue tracks

11 months agoSmall tweaks
Marcel van der Veldt [Mon, 3 Nov 2025 19:24:36 +0000 (20:24 +0100)]
Small tweaks

11 months agoCorrect Resonate flow pcm format
Marcel van der Veldt [Mon, 3 Nov 2025 18:36:19 +0000 (19:36 +0100)]
Correct Resonate flow pcm format

11 months agoUse correct pcm format for airplay flow stream
Marcel van der Veldt [Mon, 3 Nov 2025 18:31:43 +0000 (19:31 +0100)]
Use correct pcm format for airplay flow stream

11 months agouse select source helper in squeezelite
Marcel van der Veldt [Mon, 3 Nov 2025 18:31:09 +0000 (19:31 +0100)]
use select source helper in squeezelite

11 months agoSwap initialization order of AirPlay
Marcel van der Veldt [Mon, 3 Nov 2025 17:32:13 +0000 (18:32 +0100)]
Swap initialization order of AirPlay

only start streaming to airplay if we have received the first audio chunk

11 months agoFix race conditions in closing a (ffmpeg) process
Marcel van der Veldt [Mon, 3 Nov 2025 17:29:39 +0000 (18:29 +0100)]
Fix race conditions in closing a (ffmpeg) process

11 months agoremove radio workaround
Marcel van der Veldt [Mon, 3 Nov 2025 17:28:08 +0000 (18:28 +0100)]
remove radio workaround

11 months agoFix type hints on play_media function
Marcel van der Veldt [Mon, 3 Nov 2025 15:11:12 +0000 (16:11 +0100)]
Fix type hints on play_media function

11 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Mon, 3 Nov 2025 15:10:41 +0000 (16:10 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev