Willem-Jan Zijderveld [Mon, 10 Mar 2025 22:15:34 +0000 (23:15 +0100)]
Various bugfixes for the LastFM provider (#2018)
dependabot[bot] [Mon, 10 Mar 2025 22:14:08 +0000 (23:14 +0100)]
Chore(deps): Bump cryptography from 44.0.1 to 44.0.2 (#2021)
Bumps [cryptography](https://github.com/pyca/cryptography) from 44.0.1 to 44.0.2.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/44.0.1...44.0.2)
---
updated-dependencies:
- dependency-name: cryptography
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, 10 Mar 2025 22:13:56 +0000 (23:13 +0100)]
Chore(deps): Bump orjson from 3.10.12 to 3.10.15 (#2023)
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.12 to 3.10.15.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.10.12...3.10.15)
---
updated-dependencies:
- dependency-name: orjson
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>
Eric Munson [Mon, 10 Mar 2025 22:13:46 +0000 (18:13 -0400)]
Fix: Subsonic: Bump py-opensonic to fix stupid typo (#2024)
Fixes: https://github.com/music-assistant/support/issues/3710
Signed-off-by: Eric B Munson <eric@munsonfam.org>
Marcel van der Veldt [Mon, 10 Mar 2025 22:12:17 +0000 (23:12 +0100)]
Fix: output bit depth should be as high as possibe
If a player supports >16 bits we should use that as output format as well because internally we use 32bits to leave headroom for processing
Marcel van der Veldt [Mon, 10 Mar 2025 22:10:47 +0000 (23:10 +0100)]
Fix: enqueue next logic and some endless loop issues in queue controller
Marcel van der Veldt [Mon, 10 Mar 2025 22:09:37 +0000 (23:09 +0100)]
Fix sonos play modes
Fix some weird issues with Sonos repeat mode spontanuous reverting to single repeat
Marcel van der Veldt [Mon, 10 Mar 2025 16:04:06 +0000 (17:04 +0100)]
Fix: Ensure we pad some silence before any live/radio stream to prevent jitter
Marcel van der Veldt [Mon, 10 Mar 2025 15:11:06 +0000 (16:11 +0100)]
Chore: limit cache filling a bit more
to keep cpu to a minimum on super fast connections, rate limit the cache fill a bit more
Marcel van der Veldt [Mon, 10 Mar 2025 14:35:52 +0000 (15:35 +0100)]
Chore: further silence ffmpeg logging
Marcel van der Veldt [Mon, 10 Mar 2025 14:47:41 +0000 (15:47 +0100)]
adjust pre-commit config
Marcel van der Veldt [Mon, 10 Mar 2025 13:50:00 +0000 (14:50 +0100)]
Fix playlist parsing with parent folder references (#2019)
If a playlist contains ../ parent references, auto resolve these
Marcel van der Veldt [Mon, 10 Mar 2025 13:19:37 +0000 (14:19 +0100)]
Ignore playlists which are stored with album tracks (#2017)
OzGav [Sun, 9 Mar 2025 23:35:20 +0000 (09:35 +1000)]
Replace listenbrainz image
music-assistant-machine [Sun, 9 Mar 2025 23:18:19 +0000 (00:18 +0100)]
frontend-2.13.0 (#2016)
* Update pyproject.toml for 2.13.0
* Update requirements_all.txt for 2.13.0
Eric Munson [Sun, 9 Mar 2025 23:04:25 +0000 (19:04 -0400)]
Fix: Subsonic: Catch DataNotFoundError for artwork (#2012)
This exception simply means that there is no artwork to return (and
probably shouldn't be an exception, but there we are). We will catch
this exception and return None.
Fixes: https://github.com/music-assistant/support/issues/3610
Signed-off-by: Eric B Munson <eric@munsonfam.org>
Maxim Raznatovski [Sun, 9 Mar 2025 22:49:24 +0000 (23:49 +0100)]
Feat: Built-in Web Player Provider (#2009)
Marcel van der Veldt [Sun, 9 Mar 2025 21:50:18 +0000 (22:50 +0100)]
Fix small race condition in snapcast teardown
Marcel van der Veldt [Sun, 9 Mar 2025 19:10:45 +0000 (20:10 +0100)]
Chore: small (textual) change to announcements logic
Marcel van der Veldt [Sun, 9 Mar 2025 18:43:38 +0000 (19:43 +0100)]
Fix: check for none value in mutagen tags
Marcel van der Veldt [Sun, 9 Mar 2025 17:08:25 +0000 (18:08 +0100)]
Fix: don't crash on malformed loudness value
Marcel van der Veldt [Sun, 9 Mar 2025 14:18:39 +0000 (15:18 +0100)]
Rename the slimproto provider to squeezelite (#2015)
Ian Campbell [Sun, 9 Mar 2025 14:15:43 +0000 (14:15 +0000)]
Add ListenBrainz scrobbler provider (#2008)
Add listenbrainz scrobbler
Jozef Kruszynski [Sun, 9 Mar 2025 14:14:59 +0000 (15:14 +0100)]
Add pkce to Tidal provider's manifest requirements (#2013)
fix: add pkce to tidal manifest requirements
Marcel van der Veldt [Sun, 9 Mar 2025 00:40:12 +0000 (01:40 +0100)]
Fix: ensure the source attribute gets restored after playback of announcement
Eric Munson [Sat, 8 Mar 2025 23:51:18 +0000 (18:51 -0500)]
Fix Subsonic: Use transcode metadata when present (#2011)
Use transcode metadata when present
When transcoding, a server should fill out the transcode_content_type
field when metadata for a track is requested. If this field is present
we need to use it instead of the on disk format.
Fixes: https://github.com/music-assistant/support/issues/3586
Signed-off-by: Eric B Munson <eric@munsonfam.org>
Jozef Kruszynski [Sat, 8 Mar 2025 23:50:39 +0000 (00:50 +0100)]
Tidal provider maintenance: add tidaluser class (#2010)
Marcel van der Veldt [Sat, 8 Mar 2025 00:31:38 +0000 (01:31 +0100)]
Fix: always use fallback default supported samplerate for esphome player
Marcel van der Veldt [Fri, 7 Mar 2025 23:55:24 +0000 (00:55 +0100)]
Fix: prevent high cpu when filling cache
yield to eventloop to allow headroom for other tasks to be executed
OzGav [Fri, 7 Mar 2025 11:20:41 +0000 (21:20 +1000)]
Add coloured lastfm icon
OzGav [Fri, 7 Mar 2025 11:20:19 +0000 (22:20 +1100)]
Rename icon.svg to icon_monochrome.svg
Matt Blum [Fri, 7 Mar 2025 09:02:00 +0000 (03:02 -0600)]
Add advanced networking (list of IPs) to Sonos S1 provider (#1988)
Maxim Raznatovski [Fri, 7 Mar 2025 08:56:31 +0000 (09:56 +0100)]
Fix: Missing `MULTI_DEVICE_DSP` in player groups (#2007)
Fix: Missing `MULTI_DEVICE_DSP` on player groups
Marcel van der Veldt [Fri, 7 Mar 2025 08:42:02 +0000 (09:42 +0100)]
Fix: make ffmpeg log less verbose
jdelaney72 [Fri, 7 Mar 2025 07:58:50 +0000 (23:58 -0800)]
Fix broken links in DEVELOPMENT.md (#2006)
OzGav [Fri, 7 Mar 2025 04:36:58 +0000 (15:36 +1100)]
Update manifest.json
Willem-Jan Zijderveld [Fri, 7 Mar 2025 00:20:41 +0000 (01:20 +0100)]
Add LastFM Audio Scrobbler plugin provider (#1850)
Marcel van der Veldt [Fri, 7 Mar 2025 00:14:19 +0000 (01:14 +0100)]
Fix: prevent snapcast restarting when mass is shutting down
Marcel van der Veldt [Thu, 6 Mar 2025 22:34:54 +0000 (23:34 +0100)]
Fix: ignore volume adjustments in announcement if strategy is none
Marcel van der Veldt [Thu, 6 Mar 2025 21:53:04 +0000 (22:53 +0100)]
Fix: hide disabled and removed providers from inprogress widgets
Marcel van der Veldt [Thu, 6 Mar 2025 18:16:20 +0000 (19:16 +0100)]
Fix: extremely short audio clips are not working
Marcel van der Veldt [Thu, 6 Mar 2025 18:15:57 +0000 (19:15 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Thu, 6 Mar 2025 18:15:51 +0000 (19:15 +0100)]
Enhancement: Migrate manual discovery IP's to dedicated config entry
Jozef Kruszynski [Thu, 6 Mar 2025 18:08:32 +0000 (19:08 +0100)]
Tidal: replace generic exceptions with specifics (#2005)
refactor(exception-handlng): replace generic exceptions with specifics
Jozef Kruszynski [Thu, 6 Mar 2025 17:48:49 +0000 (18:48 +0100)]
Tidal: remove unnecessary error handling decorator (#2004)
fix: remove unnecessary error handling decorator
Marcel van der Veldt [Thu, 6 Mar 2025 14:40:55 +0000 (15:40 +0100)]
Chore: Also mark unavailable queue item in sonos queue
Marcel van der Veldt [Thu, 6 Mar 2025 14:23:31 +0000 (15:23 +0100)]
Chore: some textual changes
Marcel van der Veldt [Thu, 6 Mar 2025 14:16:56 +0000 (15:16 +0100)]
Fix: determine content type from file extension
Marcel van der Veldt [Thu, 6 Mar 2025 14:00:22 +0000 (15:00 +0100)]
Fix: auto try next track if stream fails
When we try to start media and we couldnt get the streamdetails for whatever reason, automatically try the next track
Marcel van der Veldt [Thu, 6 Mar 2025 13:59:13 +0000 (14:59 +0100)]
Enhancement: Use pure memory cache for audio caching
- Only cache in memory and not with intermediate file to prevent weird issues
- Add config toggle to enable/disable audio caching
- Use intermediate NUT container when needed to enable seeking in e.g. ogg streams
Marcel van der Veldt [Thu, 6 Mar 2025 09:07:23 +0000 (10:07 +0100)]
Fix: resume last track not always working correctly
Marcel van der Veldt [Thu, 6 Mar 2025 08:22:48 +0000 (09:22 +0100)]
Chore: small textual changes
Jozef Kruszynski [Thu, 6 Mar 2025 07:20:18 +0000 (08:20 +0100)]
Various bugfixes for the Tidal provider after the refactor (#2003)
* fix(auth): add client_id fallback
* fix: Ensure search returns results properly
OzGav [Thu, 6 Mar 2025 05:54:42 +0000 (16:54 +1100)]
Update manifest.json
OzGav [Thu, 6 Mar 2025 03:35:07 +0000 (13:35 +1000)]
Add monochrome icon
OzGav [Thu, 6 Mar 2025 03:29:11 +0000 (13:29 +1000)]
Add iTunes Podcast colour icon
Marcel van der Veldt [Wed, 5 Mar 2025 23:12:15 +0000 (00:12 +0100)]
Fix Tidal streamdetails
Jozef Kruszynski [Wed, 5 Mar 2025 22:44:23 +0000 (23:44 +0100)]
Adjust Tidal provider to a fully async implementation (#1995)
Rob Sonke [Wed, 5 Mar 2025 22:43:06 +0000 (23:43 +0100)]
iBroadcast: Correct disc numbers in case the album has a disc number provided (#2000)
fix: Correct disc numbers in case the album has a disc number provided
Marcel van der Veldt [Wed, 5 Mar 2025 21:12:04 +0000 (22:12 +0100)]
Fix announcement feature
- Fix duration calculation for announcements
- Fix typo in announcements handling
Marcel van der Veldt [Tue, 4 Mar 2025 20:56:01 +0000 (21:56 +0100)]
More fixes to audio caching
Fix: finalize audio stream caching
- Automatically use cache when tmpfs available
- Dont use cache for very large files
- Force cache for encrypted audio
- Force cache for Apple Music streams
- Stream from intermediate file if cache is still being created
- bump models to 1.1.33
music-assistant-machine [Wed, 5 Mar 2025 13:55:49 +0000 (14:55 +0100)]
frontend-2.12.2 (#2002)
* Update pyproject.toml for 2.12.2
* Update requirements_all.txt for 2.12.2
music-assistant-machine [Tue, 4 Mar 2025 22:09:49 +0000 (23:09 +0100)]
frontend-2.12.1 (#2001)
* Update pyproject.toml for 2.12.1
* Update requirements_all.txt for 2.12.1
Ztripez [Tue, 4 Mar 2025 21:47:45 +0000 (22:47 +0100)]
Audible provider: Fixes pagination and small cleanups (#1982)
dependabot[bot] [Tue, 4 Mar 2025 21:44:38 +0000 (22:44 +0100)]
Chore(deps): Bump syrupy from 4.8.1 to 4.8.2 (#1996)
Bumps [syrupy](https://github.com/syrupy-project/syrupy) from 4.8.1 to 4.8.2.
- [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.1...v4.8.2)
---
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>
Fabian Munkes [Tue, 4 Mar 2025 21:32:12 +0000 (22:32 +0100)]
Add iTunes Podcast Search Provider (#1977)
Fabian Munkes [Tue, 4 Mar 2025 21:24:00 +0000 (22:24 +0100)]
ABS: fix for another unexpected API response (#1994)
dependabot[bot] [Tue, 4 Mar 2025 21:09:56 +0000 (22:09 +0100)]
Chore(deps): Bump codespell from 2.3.0 to 2.4.1 (#1998)
Bumps [codespell](https://github.com/codespell-project/codespell) from 2.3.0 to 2.4.1.
- [Release notes](https://github.com/codespell-project/codespell/releases)
- [Commits](https://github.com/codespell-project/codespell/compare/v2.3.0...v2.4.1)
---
updated-dependencies:
- dependency-name: codespell
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>
dependabot[bot] [Tue, 4 Mar 2025 21:09:29 +0000 (22:09 +0100)]
Chore(deps): Bump pytest from 8.3.4 to 8.3.5 (#1999)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.4 to 8.3.5.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.4...8.3.5)
---
updated-dependencies:
- dependency-name: pytest
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>
Maxim Raznatovski [Tue, 4 Mar 2025 21:03:29 +0000 (22:03 +0100)]
Feat: Move the output limiter option from DSP to Player Settings (#1981)
* feat: add output limiter option to the player settings
* feat: use the `OUTPUT_LIMITER` option to determine if the limiter should be enabled
* feat: add migration logic
* fix: use default value from config key
* fix: move migration logic to _migrate
* refactor: delete migrated `output_limiter` key
Marcel van der Veldt [Sat, 1 Mar 2025 13:27:34 +0000 (14:27 +0100)]
Fix: Do not enforce cache for every stream
ffmpeg is reading faster than the cache file gets written, causing streams to fail.
Waiting until the file is available, delays all streaming.
Revisit this later. For now only use caching when enforced by provider (apple music) or when we are preloading the next track so when you start a new track, speed is always preferred
Marcel van der Veldt [Fri, 28 Feb 2025 23:55:52 +0000 (00:55 +0100)]
Chore: require minimum amount of buffer before stream starts
Marcel van der Veldt [Fri, 28 Feb 2025 23:51:10 +0000 (00:51 +0100)]
Bump models to 1.1.32
Marcel van der Veldt [Fri, 28 Feb 2025 23:25:28 +0000 (00:25 +0100)]
Chore: More aggressive pre-buffering of next track
Fabian Munkes [Fri, 28 Feb 2025 17:44:19 +0000 (18:44 +0100)]
ABS: Login via API key (#1990)
Marcel van der Veldt [Fri, 28 Feb 2025 17:43:32 +0000 (18:43 +0100)]
Various (very) small bugfixes and enhancements (#1992)
* Fix: update player attributes before sending a player config updated event
* Support WAV codec for ESPHome players
Fixes https://github.com/music-assistant/support/issues/3634
* Fix for ESPHome players without a media pipeline
* Fix pluginsource use correct codec
* Fix playlist create feature missing on filesystem
music-assistant-machine [Fri, 28 Feb 2025 17:43:21 +0000 (18:43 +0100)]
frontend-2.12.0 (#1993)
* Update pyproject.toml for 2.12.0
* Update requirements_all.txt for 2.12.0
Marcel van der Veldt [Fri, 28 Feb 2025 16:05:14 +0000 (17:05 +0100)]
Fix Large PodcastEpisode listings not working (#1991)
Convert Fix Large PodcastEpisode listings not working
It turns out that some podcasts can contain many episodes, which could potentially result in a too large json message (especially with HA ingress). Adjust podcast episode listings to use asyncgenerator so it will be chunked sent over the api.
Marcel van der Veldt [Fri, 28 Feb 2025 14:21:12 +0000 (15:21 +0100)]
Add caching of audio data to fix streams not starting fast enough (#1989)
Add caching of audio data which fixes issues with providers which are slow with sending audio data or have a file format which requires the data to be stored in a file first before further processing
Marcel van der Veldt [Thu, 27 Feb 2025 06:22:44 +0000 (07:22 +0100)]
Fix crash at startup
Marcel van der Veldt [Wed, 26 Feb 2025 22:39:46 +0000 (23:39 +0100)]
Fix: ignore volume in announcements when player does not support volume
Marcel van der Veldt [Wed, 26 Feb 2025 22:27:32 +0000 (23:27 +0100)]
Fix: remember fake power state between restarts
Marcel van der Veldt [Wed, 26 Feb 2025 22:15:52 +0000 (23:15 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Wed, 26 Feb 2025 22:15:13 +0000 (23:15 +0100)]
Enhancement: Use cache categories from constants
music-assistant-machine [Wed, 26 Feb 2025 20:32:05 +0000 (21:32 +0100)]
frontend-2.11.11 (#1987)
* Update pyproject.toml for 2.11.11
* Update requirements_all.txt for 2.11.11
dependabot[bot] [Wed, 26 Feb 2025 20:23:55 +0000 (21:23 +0100)]
Chore(deps): Bump docker/build-push-action from 6.14.0 to 6.15.0 (#1985)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.14.0...v6.15.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>
dependabot[bot] [Wed, 26 Feb 2025 20:23:46 +0000 (21:23 +0100)]
Chore(deps): Bump docker/setup-buildx-action from 3.9.0 to 3.10.0 (#1986)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.9.0...v3.10.0)
---
updated-dependencies:
- dependency-name: docker/setup-buildx-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>
Jozef Kruszynski [Wed, 26 Feb 2025 20:20:43 +0000 (21:20 +0100)]
fix(tidal): refresh access token correctly (#1984)
Marcel van der Veldt [Wed, 26 Feb 2025 20:17:39 +0000 (21:17 +0100)]
Fix: playergroups not correctly migrated
Marcel van der Veldt [Wed, 26 Feb 2025 19:33:40 +0000 (20:33 +0100)]
Chore: lower log level for streams
Marcel van der Veldt [Wed, 26 Feb 2025 09:56:47 +0000 (10:56 +0100)]
Fix onboard done logic
Marcel van der Veldt [Wed, 26 Feb 2025 09:36:12 +0000 (10:36 +0100)]
Enhancement: Don't use lookup_key for player providers
A player's provider is always instance id and never domain so avoid the use of lookup_key
Marcel van der Veldt [Wed, 26 Feb 2025 09:35:11 +0000 (10:35 +0100)]
Fix assertion error when trying to save a provider config (#1980)
A password with only numeric characters was wrongly being coerced into an integer.
music-assistant-machine [Tue, 25 Feb 2025 22:40:29 +0000 (23:40 +0100)]
frontend-2.11.10 (#1979)
* Update pyproject.toml for 2.11.10
* Update requirements_all.txt for 2.11.10
Marcel van der Veldt [Tue, 25 Feb 2025 22:40:07 +0000 (23:40 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Tue, 25 Feb 2025 22:36:20 +0000 (23:36 +0100)]
Fix: ignore thumbnail stream for tags parsing
Marcel van der Veldt [Tue, 25 Feb 2025 22:36:00 +0000 (23:36 +0100)]
Fix: preview stream
Fabian Munkes [Tue, 25 Feb 2025 22:31:40 +0000 (23:31 +0100)]
Enhancement: Implement resume state syncing for ABS provider (#1971)
Marcel van der Veldt [Tue, 25 Feb 2025 19:28:15 +0000 (20:28 +0100)]
Change loglevel to verbose for progress logging
Marcel van der Veldt [Tue, 25 Feb 2025 18:26:38 +0000 (19:26 +0100)]
Chore: unwrap uri's in add to playlist