Marcel van der Veldt [Thu, 23 Jan 2025 21:05:24 +0000 (22:05 +0100)]
Fix various issues in the Airplay provider
- Added some more locking
- Wait for cliraop to exit when sending stop
- Exit audiostream loop when all clients dissapeared
- Fix provider reload
dependabot[bot] [Wed, 22 Jan 2025 10:19:46 +0000 (11:19 +0100)]
Chore(deps): Bump plexapi from 4.15.16 to 4.16.1 (#1894)
* Chore(deps): Bump plexapi from 4.15.16 to 4.16.1
Bumps [plexapi](https://github.com/pkkid/python-plexapi) from 4.15.16 to 4.16.1.
- [Release notes](https://github.com/pkkid/python-plexapi/releases)
- [Commits](https://github.com/pkkid/python-plexapi/compare/4.15.16...4.16.1)
---
updated-dependencies:
- dependency-name: plexapi
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update manifest.json
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
music-assistant-machine [Wed, 22 Jan 2025 00:06:14 +0000 (01:06 +0100)]
frontend-2.10.8 (#1902)
* Update pyproject.toml for 2.10.8
* Update requirements_all.txt for 2.10.8
Marcel van der Veldt [Tue, 21 Jan 2025 23:48:31 +0000 (00:48 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Tue, 21 Jan 2025 23:46:35 +0000 (00:46 +0100)]
Fix: Optimize queue state and resuming
dependabot[bot] [Tue, 21 Jan 2025 22:53:40 +0000 (23:53 +0100)]
Chore(deps): Bump aiohttp from 3.11.6 to 3.11.11 (#1895)
---
updated-dependencies:
- dependency-name: aiohttp
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>
Fabian Munkes [Tue, 21 Jan 2025 21:20:14 +0000 (22:20 +0100)]
Chore: Audiobookshelf - adapt schema to reflect the naming scheme used in the API docs (#1898)
awhiemstra [Tue, 21 Jan 2025 19:04:38 +0000 (20:04 +0100)]
Fix: Provide a proper track number for Deezer tracks if available (#1900)
Use the track_position attribute if it's available as the track number.
This ensures we get the right track number for things like multi-disc
albums. Without this, tracks seem to follow the order in which they have
been added, which does not match the actual track numbering.
dependabot[bot] [Tue, 21 Jan 2025 19:04:21 +0000 (20:04 +0100)]
Chore(deps): Bump ruff from 0.9.1 to 0.9.2 (#1896)
Chore(deps): Bump ruff from 0.8.6 to 0.9.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.6 to 0.9.2.
- [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.8.6...0.9.2)
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:production
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>
awhiemstra [Tue, 21 Jan 2025 11:35:27 +0000 (12:35 +0100)]
Fix: Deezer tracks that have been replaced with a newer version fail to play (#1892)
Some tracks have been replaced by a newer version. When this happens,
the old track information stays available but it will fail to play
because the stream has become invalid. Fortunately, the playback API
provides the track replacement in a "FALLBACK" entry. So when we
encounter a track that has a "FALLBACK" entry, use the information from
that entry rather than the main track entry for the stream.
Fixes music-assistant/support#3466
Jc2k [Tue, 21 Jan 2025 08:12:40 +0000 (08:12 +0000)]
chore: update ci versions to match docker, pyproject.toml, etc (#1899)
Marcel van der Veldt [Mon, 20 Jan 2025 21:01:40 +0000 (22:01 +0100)]
Fix: small typo in dsp config for group child
Jc2k [Mon, 20 Jan 2025 20:50:50 +0000 (20:50 +0000)]
chore: ruff 0.9.1 (#1893)
Jc2k [Mon, 20 Jan 2025 20:49:22 +0000 (20:49 +0000)]
chore: add mypy for hass (#1891)
Jc2k [Mon, 20 Jan 2025 20:48:30 +0000 (20:48 +0000)]
fix: add missing AudioFormat metadata to Jellyfin provider (#1890)
* feat: populate more stream details in Jellyfin
* fix: defensive parsing of optional fields. tests.
* chore: refactor and unify how we get an AudioFormat from a jellyfin Track
* chore: more refactoring
* fix: breaking api change
dependabot[bot] [Mon, 20 Jan 2025 20:46:35 +0000 (21:46 +0100)]
Chore(deps): Bump release-drafter/release-drafter from 6.0.0 to 6.1.0 (#1897)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v6.0.0...v6.1.0)
---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
dependency-type: direct:production
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>
Marcel van der Veldt [Mon, 20 Jan 2025 19:57:48 +0000 (20:57 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Mon, 20 Jan 2025 19:57:38 +0000 (20:57 +0100)]
Chore: Bump to python 3.13
bump minimal python version to 3.12
prefer python 3.13
OzGav [Mon, 20 Jan 2025 07:49:15 +0000 (17:49 +1000)]
Fix small typo (#1889)
Marcel van der Veldt [Sun, 19 Jan 2025 20:37:32 +0000 (21:37 +0100)]
Chore: Set various optimizations to database connection
Prefer performance over integrity
Maxim Raznatovski [Sun, 19 Jan 2025 20:21:23 +0000 (21:21 +0100)]
Fix: Check for Chromecast groups in DSP compatiblity check (#1886)
Fix: Check for `PlayerType.GROUP` in `is_grouping_preventing_dsp`
Fabian Munkes [Sun, 19 Jan 2025 20:19:25 +0000 (21:19 +0100)]
Feat: Ability to use Audiobookshelf Sessions/ HLS Stream (#1887)
Icelk [Sun, 19 Jan 2025 12:52:02 +0000 (13:52 +0100)]
Feat: Allow for advanced networking in the Sonos provider. (#1885)
OzGav [Sun, 19 Jan 2025 11:24:23 +0000 (21:24 +1000)]
Add aac extension
Marcel van der Veldt [Sun, 19 Jan 2025 00:22:44 +0000 (01:22 +0100)]
Fix typo that causes flow stream issues
Marcel van der Veldt [Sat, 18 Jan 2025 00:47:41 +0000 (01:47 +0100)]
Small attempt to make spotify connect a bit better
Still not super good but at least it responds a few seconds faster
Marcel van der Veldt [Sat, 18 Jan 2025 00:30:17 +0000 (01:30 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Sat, 18 Jan 2025 00:30:12 +0000 (01:30 +0100)]
Some small fixes for plugin source handling
music-assistant-machine [Fri, 17 Jan 2025 23:30:40 +0000 (00:30 +0100)]
frontend-2.10.7 (#1884)
* Update pyproject.toml for 2.10.7
* Update requirements_all.txt for 2.10.7
Marcel van der Veldt [Fri, 17 Jan 2025 23:01:41 +0000 (00:01 +0100)]
Fix: Chromecast should use to_thread for non-async
Marcel van der Veldt [Fri, 17 Jan 2025 22:48:26 +0000 (23:48 +0100)]
Fix Sonos has wrong grouping info at startup
Marcel van der Veldt [Fri, 17 Jan 2025 22:36:14 +0000 (23:36 +0100)]
Fix: guard for streamdetails unknown
Marcel van der Veldt [Fri, 17 Jan 2025 22:35:52 +0000 (23:35 +0100)]
Fix: sonos active source selection
Marcel van der Veldt [Fri, 17 Jan 2025 22:35:26 +0000 (23:35 +0100)]
Chore: prevent lingering tasks
Always use mass helper to create tasks so they are tracked and logged
Fabian Munkes [Fri, 17 Jan 2025 16:11:13 +0000 (17:11 +0100)]
FIX: Audiobookshelf - use non admin user endpoint + wrong login credentials (#1883)
Marcel van der Veldt [Fri, 17 Jan 2025 15:57:31 +0000 (16:57 +0100)]
Fix resume position handling
Marcel van der Veldt [Fri, 17 Jan 2025 15:57:14 +0000 (16:57 +0100)]
Podcastfeed: Fix sort order
Marcel van der Veldt [Fri, 17 Jan 2025 15:56:46 +0000 (16:56 +0100)]
Subsonic: Fix get album double coro
Marcel van der Veldt [Fri, 17 Jan 2025 15:26:59 +0000 (16:26 +0100)]
Fix: Consequently use instance id vs domain
Use lookup key to automatically select instance id vs domain to define generic URI/provider
Marcel van der Veldt [Fri, 17 Jan 2025 14:14:30 +0000 (15:14 +0100)]
Chore: Small optimization to sync logic
Marcel van der Veldt [Fri, 17 Jan 2025 08:18:51 +0000 (09:18 +0100)]
Fix: Prevent Timeout on long running streams
Only use TimedAsyncGenerator in one location of the chain and with a high timeout, just to detect it, not to recover.
Marcel van der Veldt [Thu, 16 Jan 2025 23:02:37 +0000 (00:02 +0100)]
Add 192000 to supported sample rates for chromecast
According to a community member that should work
Marcel van der Veldt [Thu, 16 Jan 2025 22:57:38 +0000 (23:57 +0100)]
Fix: typo causes wallpaper generation to fail
Marcel van der Veldt [Thu, 16 Jan 2025 22:40:01 +0000 (23:40 +0100)]
Chore: move uv out of base image
Marcel van der Veldt [Thu, 16 Jan 2025 22:38:27 +0000 (23:38 +0100)]
Chore: use snapcast from regular alpine repo
Marcel van der Veldt [Thu, 16 Jan 2025 21:39:36 +0000 (22:39 +0100)]
Chore: Simplify internal pcm format
just always use 32 bits floating points
Marcel van der Veldt [Thu, 16 Jan 2025 20:45:59 +0000 (21:45 +0100)]
Chore: Simplify ffmpeg version check
Marcel van der Veldt [Thu, 16 Jan 2025 20:30:13 +0000 (21:30 +0100)]
Fix: skip soxr resampler if loudnorm is present
Due to a bug in ffmpeg
Marcel van der Veldt [Thu, 16 Jan 2025 19:19:36 +0000 (20:19 +0100)]
Bump base image in build script
Marcel van der Veldt [Thu, 16 Jan 2025 19:13:41 +0000 (20:13 +0100)]
Switch to ffmpeg 7.1 + other fixes for audio streaming (#1882)
Co-authored-by: Kostas Chatzikokolakis <kostas@chatzi.org>
music-assistant-machine [Thu, 16 Jan 2025 18:53:55 +0000 (19:53 +0100)]
frontend-2.10.6 (#1881)
* Update pyproject.toml for 2.10.6
* Update requirements_all.txt for 2.10.6
Maxim Raznatovski [Thu, 16 Jan 2025 18:15:47 +0000 (19:15 +0100)]
Fix: DSP edge cases around groups (#1879)
* fix: rework DSP reload triggers on group/ungroup
* fix: DSP edge cases with single group members
* fix: disabled DSPDetails of group members
* chore: allow `Too many statements` for now on `update`
Ztripez [Thu, 16 Jan 2025 17:36:38 +0000 (18:36 +0100)]
Audible: fixed popup flow, disabled internal cache. (#1880)
Maxim Raznatovski [Thu, 16 Jan 2025 17:18:24 +0000 (18:18 +0100)]
Feat: Add DSP pipeline details to stream information (#1875)
* refactor: add `is_grouping_preventing_dsp()`
* feat: attach DSPDetails to StreamDetails
* refactor: create `get_dsp_details()`
* feat: Attach DSPDetails of all grouped childs to StreamDetails
* fix: playergroups don't have a leader, so don't generate DSPDetails
* refactor: consolidate `dsp` and `dsp_grouped_childs` streamdetails
* refactor: add `get_stream_dsp_details`
* refactor: rename `get_dsp_details` to `get_player_dsp_details`
* feat: update `streamdetails.dsp` on group/ungroup
Marcel van der Veldt [Thu, 16 Jan 2025 15:27:19 +0000 (16:27 +0100)]
lint
Marcel van der Veldt [Thu, 16 Jan 2025 10:55:37 +0000 (11:55 +0100)]
Fix small typo in order
Marcel van der Veldt [Thu, 16 Jan 2025 10:42:48 +0000 (11:42 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Thu, 16 Jan 2025 10:42:41 +0000 (11:42 +0100)]
Don't force close ffmpeg if no need
Fabian Munkes [Thu, 16 Jan 2025 10:16:46 +0000 (11:16 +0100)]
Add Audiobookshelf audiobooks & podcast provider (#1857)
Marcel van der Veldt [Thu, 16 Jan 2025 07:00:36 +0000 (08:00 +0100)]
fix small typo
Marcel van der Veldt [Thu, 16 Jan 2025 00:00:17 +0000 (01:00 +0100)]
add more logging
Marcel van der Veldt [Wed, 15 Jan 2025 23:39:29 +0000 (00:39 +0100)]
Increase logging for streaming a bit
Marcel van der Veldt [Wed, 15 Jan 2025 23:30:04 +0000 (00:30 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Wed, 15 Jan 2025 23:29:59 +0000 (00:29 +0100)]
Fix analyze audio background job
Jc2k [Wed, 15 Jan 2025 23:07:48 +0000 (23:07 +0000)]
chore: mypy for template player provider (#1876)
Marcel van der Veldt [Wed, 15 Jan 2025 23:07:03 +0000 (00:07 +0100)]
Fix some small typos
Marcel van der Veldt [Wed, 15 Jan 2025 23:06:38 +0000 (00:06 +0100)]
bump models to 1.1.17
dependabot[bot] [Wed, 15 Jan 2025 21:03:57 +0000 (22:03 +0100)]
Chore(deps): Bump docker/build-push-action from 6.11.0 to 6.12.0 (#1878)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.11.0 to 6.12.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.11.0...v6.12.0)
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
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>
Marcel van der Veldt [Wed, 15 Jan 2025 13:35:34 +0000 (14:35 +0100)]
postpone metadata scan at startup
Marcel van der Veldt [Wed, 15 Jan 2025 13:23:26 +0000 (14:23 +0100)]
Fix: some very minor fixes
Marcel van der Veldt [Wed, 15 Jan 2025 13:23:04 +0000 (14:23 +0100)]
Fix airplay cliraop binaries
Marcel van der Veldt [Wed, 15 Jan 2025 09:01:45 +0000 (10:01 +0100)]
Fix: Allow 2 more db schema versions back migration
Marcel van der Veldt [Wed, 15 Jan 2025 01:35:04 +0000 (02:35 +0100)]
Fix: updated cliraop binaries for debian
Marcel van der Veldt [Wed, 15 Jan 2025 00:59:37 +0000 (01:59 +0100)]
bump base image to 1.2.2 for beta
Marcel van der Veldt [Wed, 15 Jan 2025 00:58:45 +0000 (01:58 +0100)]
small tweak to media item played
Marcel van der Veldt [Wed, 15 Jan 2025 00:16:09 +0000 (01:16 +0100)]
Fix: ensure playback continues even after a stream error
Marcel van der Veldt [Tue, 14 Jan 2025 23:22:44 +0000 (00:22 +0100)]
Refactor playlog and item progress reporting
Marcel van der Veldt [Tue, 14 Jan 2025 22:59:23 +0000 (23:59 +0100)]
Bump base image for beta releases to 1.2.1
Kostas Chatzikokolakis [Tue, 14 Jan 2025 22:57:45 +0000 (00:57 +0200)]
use the trixie-slim image (#1873)
music-assistant-machine [Tue, 14 Jan 2025 22:36:26 +0000 (23:36 +0100)]
frontend-2.10.5 (#1874)
Marcel van der Veldt [Tue, 14 Jan 2025 20:48:07 +0000 (21:48 +0100)]
Chore: Simplify volume normalization a bit
Marcel van der Veldt [Tue, 14 Jan 2025 19:00:15 +0000 (20:00 +0100)]
Fix: Audio streaming hangs suddenly at the end of a track (#1872)
Jc2k [Tue, 14 Jan 2025 16:19:59 +0000 (16:19 +0000)]
chore: mypy for template music provider (#1871)
Marcel van der Veldt [Tue, 14 Jan 2025 16:16:08 +0000 (17:16 +0100)]
Update librespot binaries
Jc2k [Tue, 14 Jan 2025 12:51:50 +0000 (12:51 +0000)]
chore: mypy for fanart.tv (#1862)
* chore: mypy for fanart.tv
* chore: bump models and use new helper
Jc2k [Mon, 13 Jan 2025 23:43:37 +0000 (23:43 +0000)]
chore: mypy for mass.py (#1863)
* chore: mypy for mass.py
* fix: avoid stashing task_id on the task object
* fix: force type
Jc2k [Mon, 13 Jan 2025 23:33:32 +0000 (23:33 +0000)]
chore: add album parsing tests for opensubsonic (#1865)
Marcel van der Veldt [Mon, 13 Jan 2025 22:22:11 +0000 (23:22 +0100)]
Make librespot binaries executable
Marcel van der Veldt [Mon, 13 Jan 2025 22:21:26 +0000 (23:21 +0100)]
Chore: Ignore another spammy log line for now in librespot
Maxim Raznatovski [Mon, 13 Jan 2025 20:06:08 +0000 (21:06 +0100)]
Fix: Only PlayerGroups of supported players should enable MULTI_DEVICE_DSP (#1864)
Fix: Only PlayerGroups of supported players enable MULTI_DEVICE_DSP
dependabot[bot] [Mon, 13 Jan 2025 20:05:15 +0000 (21:05 +0100)]
Chore(deps): Bump syrupy from 4.8.0 to 4.8.1 (#1869)
Bumps [syrupy](https://github.com/syrupy-project/syrupy) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/syrupy-project/syrupy/releases)
- [Changelog](https://github.com/syrupy-project/syrupy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/syrupy-project/syrupy/compare/v4.8.0...v4.8.1)
---
updated-dependencies:
- dependency-name: syrupy
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>
dependabot[bot] [Mon, 13 Jan 2025 20:04:56 +0000 (21:04 +0100)]
Chore(deps): Bump pillow from 11.0.0 to 11.1.0 (#1867)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.0.0 to 11.1.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.0.0...11.1.0)
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
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>
Jc2k [Mon, 13 Jan 2025 16:36:21 +0000 (16:36 +0000)]
fix: Jellyfin should use the correct MA version instead of hardcoding an old one (#1861)
Jc2k [Mon, 13 Jan 2025 15:50:38 +0000 (15:50 +0000)]
Opensubsonic tests for artist 'parsing' (#1859)
* chore: add parsing test for opensubsonic artist
* chore: make sure test json is covered by pre-commit
* chore: tidy json
Marcel van der Veldt [Mon, 13 Jan 2025 13:15:50 +0000 (14:15 +0100)]
Cleanup some leftover code
Jc2k [Mon, 13 Jan 2025 12:07:20 +0000 (12:07 +0000)]
fix: typo (#1860)
John Carr [Mon, 13 Jan 2025 11:29:37 +0000 (11:29 +0000)]
chore: mypy for musicbrainz
Marcel van der Veldt [Mon, 13 Jan 2025 07:54:11 +0000 (08:54 +0100)]
Add Spotify connect provider (#1858)
Rob Sonke [Mon, 13 Jan 2025 06:59:37 +0000 (07:59 +0100)]
Implemented Mypy for the ibroadcast provider (#1855)
fix: Implemented Mypy for the ibroadcast provider
Eric Munson [Mon, 13 Jan 2025 06:58:04 +0000 (01:58 -0500)]
chore: Subsonic: Enable mypy for subsonic provider (#1856)