music-assistant-server.git
12 months agofrontend-2.13.3 (#2065)
music-assistant-machine [Thu, 27 Mar 2025 01:04:24 +0000 (02:04 +0100)]
frontend-2.13.3 (#2065)

* Update pyproject.toml for 2.13.3

* Update requirements_all.txt for 2.13.3

12 months agoFix: Sonos player does not resume track on pause
Marcel van der Veldt [Thu, 27 Mar 2025 00:59:04 +0000 (01:59 +0100)]
Fix: Sonos player does not resume track on pause

12 months agoFix snapcast metadata
Marcel van der Veldt [Thu, 27 Mar 2025 00:24:24 +0000 (01:24 +0100)]
Fix snapcast metadata

12 months agoFix: playback on Universal group
Marcel van der Veldt [Thu, 27 Mar 2025 00:07:29 +0000 (01:07 +0100)]
Fix: playback on Universal group

12 months agoFix: send volume at start of playback on airplay player
Marcel van der Veldt [Wed, 26 Mar 2025 23:55:55 +0000 (00:55 +0100)]
Fix: send volume at start of playback on airplay player

12 months agoFix: prevent race condition in raop streaming when already stopped
Marcel van der Veldt [Wed, 26 Mar 2025 23:50:02 +0000 (00:50 +0100)]
Fix: prevent race condition in raop streaming when already stopped

12 months agoFix: ensure a fresh playback session starts when configuring player settings
Marcel van der Veldt [Wed, 26 Mar 2025 23:43:05 +0000 (00:43 +0100)]
Fix: ensure a fresh playback session starts when configuring player settings

12 months agoFix: publish date has been removed from the model
Marcel van der Veldt [Wed, 26 Mar 2025 23:33:02 +0000 (00:33 +0100)]
Fix: publish date has been removed from the model

Instead we will use release date on the metadata

12 months agoFix several issues with scrobble plugins
Marcel van der Veldt [Wed, 26 Mar 2025 23:32:14 +0000 (00:32 +0100)]
Fix several issues with scrobble plugins

Fix thread safety, initialization and typing issues with the scrobble plugins

12 months agoFinalize cache implementation
Marcel van der Veldt [Wed, 26 Mar 2025 23:31:29 +0000 (00:31 +0100)]
Finalize cache implementation

latest tweaks to caching of audio:
- ensure local file and not tmpfs
- check disk percentage free
- prevent file deletion when still in use
- some more failsafes

12 months agoAbs + Feed Parsers: release_date as datetime (#2064)
Fabian Munkes [Wed, 26 Mar 2025 22:38:32 +0000 (23:38 +0100)]
Abs + Feed Parsers: release_date as datetime (#2064)

12 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Wed, 26 Mar 2025 19:39:07 +0000 (20:39 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

12 months agoBump models to 1.1.42
Marcel van der Veldt [Wed, 26 Mar 2025 19:37:15 +0000 (20:37 +0100)]
Bump models to 1.1.42

12 months agoFix: unsubscribe entity updates at unload in HA provider
Marcel van der Veldt [Wed, 26 Mar 2025 19:37:02 +0000 (20:37 +0100)]
Fix: unsubscribe entity updates at unload in HA provider

12 months agoChore(deps): Bump ytmusicapi from 1.10.1 to 1.10.2 (#2057)
dependabot[bot] [Tue, 25 Mar 2025 18:21:54 +0000 (19:21 +0100)]
Chore(deps): Bump ytmusicapi from 1.10.1 to 1.10.2 (#2057)

* Chore(deps): Bump ytmusicapi from 1.10.1 to 1.10.2

Bumps [ytmusicapi](https://github.com/sigma67/ytmusicapi) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/sigma67/ytmusicapi/releases)
- [Commits](https://github.com/sigma67/ytmusicapi/compare/1.10.1...1.10.2)

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

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>
12 months agoFIx: Subsonic: Don't pass container type to StreamDetails (#2061)
Eric Munson [Tue, 25 Mar 2025 18:21:36 +0000 (14:21 -0400)]
FIx: Subsonic: Don't pass container type to StreamDetails (#2061)

This may be causing confusion when transcoding is in use on the
Subsonic server. Better to let ffmpeg detect the container type than to
give it incorrect information.

Signed-off-by: Eric B Munson <eric@munsonfam.org>
12 months agoChore(deps): Bump actions/setup-python from 5.4.0 to 5.5.0 (#2062)
dependabot[bot] [Tue, 25 Mar 2025 18:20:20 +0000 (19:20 +0100)]
Chore(deps): Bump actions/setup-python from 5.4.0 to 5.5.0 (#2062)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.4.0...v5.5.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  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>
12 months agoAdd artist and release mbids to listenbrainz scobbles (#2048)
Ian Campbell [Tue, 25 Mar 2025 15:46:44 +0000 (15:46 +0000)]
Add artist and release mbids to listenbrainz scobbles (#2048)

* Chore: bump models to 1.1.41

Set various new fields to None

* Add artist and release mbids to listenbrainz scobbles

https://github.com/music-assistant/models/pull/63 adds the relevant fields to
`MediaItemPlaybackProgressReport`.

12 months agoChore(deps): Bump pylast from 5.3.0 to 5.5.0 (#2022)
dependabot[bot] [Tue, 25 Mar 2025 15:24:06 +0000 (16:24 +0100)]
Chore(deps): Bump pylast from 5.3.0 to 5.5.0 (#2022)

* Chore(deps): Bump pylast from 5.3.0 to 5.5.0

Bumps [pylast](https://github.com/pylast/pylast) from 5.3.0 to 5.5.0.
- [Release notes](https://github.com/pylast/pylast/releases)
- [Changelog](https://github.com/pylast/pylast/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pylast/pylast/compare/5.3.0...5.5.0)

---
updated-dependencies:
- dependency-name: pylast
  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>
12 months agoChore(deps): Bump aiohttp-fast-zlib from 0.2.2 to 0.2.3 (#2058)
dependabot[bot] [Tue, 25 Mar 2025 15:22:09 +0000 (16:22 +0100)]
Chore(deps): Bump aiohttp-fast-zlib from 0.2.2 to 0.2.3 (#2058)

Bumps [aiohttp-fast-zlib](https://github.com/bluetooth-devices/aiohttp-fast-zlib) from 0.2.2 to 0.2.3.
- [Release notes](https://github.com/bluetooth-devices/aiohttp-fast-zlib/releases)
- [Changelog](https://github.com/Bluetooth-Devices/aiohttp-fast-zlib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bluetooth-devices/aiohttp-fast-zlib/compare/v0.2.2...v0.2.3)

---
updated-dependencies:
- dependency-name: aiohttp-fast-zlib
  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>
12 months agoFix Audible provider crash during library sync (#2060)
Ztripez [Tue, 25 Mar 2025 15:21:49 +0000 (16:21 +0100)]
Fix Audible provider crash during library sync (#2060)

12 months agoMake airplay provider robust to empty dacp request (#2052)
Dvad [Tue, 25 Mar 2025 10:10:47 +0000 (03:10 -0700)]
Make airplay provider robust to empty dacp request (#2052)

12 months agoAdd support for Spotify Connect volume control (#2051)
Adam Kapos [Mon, 24 Mar 2025 14:28:18 +0000 (16:28 +0200)]
Add support for Spotify Connect volume control (#2051)

* Add support for Spotify Connect volume control

* Use fallback volume if volume_level is none

12 months agofix: gPodder not checking guid on playlog sync if it is present (#2053)
Fabian Munkes [Mon, 24 Mar 2025 14:23:33 +0000 (07:23 -0700)]
fix: gPodder not checking guid on playlog sync if it is present (#2053)

12 months agoTidal: lower cache ttl, add translation keys to folders (#2049)
Jozef Kruszynski [Mon, 24 Mar 2025 14:17:06 +0000 (15:17 +0100)]
Tidal: lower cache ttl, add translation keys to folders (#2049)

refactor: lower cache ttl, add translation keys to folders

12 months agoChore(deps): Bump pycryptodome from 3.21.0 to 3.22.0 (#2045)
dependabot[bot] [Mon, 24 Mar 2025 14:14:42 +0000 (15:14 +0100)]
Chore(deps): Bump pycryptodome from 3.21.0 to 3.22.0 (#2045)

* Chore(deps): Bump pycryptodome from 3.21.0 to 3.22.0

Bumps [pycryptodome](https://github.com/Legrandin/pycryptodome) from 3.21.0 to 3.22.0.
- [Release notes](https://github.com/Legrandin/pycryptodome/releases)
- [Changelog](https://github.com/Legrandin/pycryptodome/blob/master/Changelog.rst)
- [Commits](https://github.com/Legrandin/pycryptodome/compare/v3.21.0...v3.22.0)

---
updated-dependencies:
- dependency-name: pycryptodome
  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>
12 months agoChore(deps): Bump soco from 0.30.6 to 0.30.9 (#2047)
dependabot[bot] [Mon, 24 Mar 2025 14:14:32 +0000 (15:14 +0100)]
Chore(deps): Bump soco from 0.30.6 to 0.30.9 (#2047)

* Chore(deps): Bump soco from 0.30.6 to 0.30.9

Bumps [soco](https://github.com/SoCo/SoCo) from 0.30.6 to 0.30.9.
- [Release notes](https://github.com/SoCo/SoCo/releases)
- [Changelog](https://github.com/SoCo/SoCo/blob/master/doc/release_notes.rst)
- [Commits](https://github.com/SoCo/SoCo/compare/v0.30.6...v0.30.9)

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

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>
12 months agoChore(deps): Bump zeroconf from 0.145.1 to 0.146.1 (#2046)
dependabot[bot] [Sat, 22 Mar 2025 17:15:07 +0000 (18:15 +0100)]
Chore(deps): Bump zeroconf from 0.145.1 to 0.146.1 (#2046)

Bumps [zeroconf](https://github.com/python-zeroconf/python-zeroconf) from 0.145.1 to 0.146.1.
- [Release notes](https://github.com/python-zeroconf/python-zeroconf/releases)
- [Changelog](https://github.com/python-zeroconf/python-zeroconf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-zeroconf/python-zeroconf/compare/0.145.1...0.146.1)

---
updated-dependencies:
- dependency-name: zeroconf
  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>
12 months agoAudible: fixes pagination logic error is a users library have sub 50 items (#2055)
Ztripez [Sat, 22 Mar 2025 17:14:43 +0000 (18:14 +0100)]
Audible: fixes pagination logic error is a users library have sub 50 items (#2055)

12 months agoIgnore GVS token message for now. (#2050)
Marvin Schenkel [Wed, 19 Mar 2025 08:31:26 +0000 (09:31 +0100)]
Ignore GVS token message for now. (#2050)

12 months agofeat: Built-in Web Player Part 2 (#2043)
Maxim Raznatovski [Mon, 17 Mar 2025 17:05:15 +0000 (18:05 +0100)]
feat: Built-in Web Player Part 2 (#2043)

* refactor: make poll interval a constant

* feat: add native power controlls for the builtin player

* fix: incorrect state on power off

* feat: hide the web player by default

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
12 months agoFix snapcast using external snapserver (#2044)
Marcel van der Veldt [Mon, 17 Mar 2025 17:02:23 +0000 (18:02 +0100)]
Fix snapcast using external snapserver (#2044)

Don't use the controlscript for external snapservers

12 months agoChore: bump models to 1.1.40
Marcel van der Veldt [Mon, 17 Mar 2025 17:02:05 +0000 (12:02 -0500)]
Chore: bump models to 1.1.40

12 months agoRefactor common code from listenbrainz and lastfm scrobblers (#2042)
Ian Campbell [Sun, 16 Mar 2025 10:40:55 +0000 (10:40 +0000)]
Refactor common code from listenbrainz and lastfm scrobblers (#2042)

Pull the common code from `LastFMEventHandler` into a common base class and use
it for `ListenBrainzEventHandler` too.

This puts all the logic for deciding when to scrobble into a single place.

12 months agoSimplify cache logic even more
Marcel van der Veldt [Sun, 16 Mar 2025 10:38:26 +0000 (11:38 +0100)]
Simplify cache logic even more

12 months agoFix: guard error in selecting YTM stream
Marcel van der Veldt [Sun, 16 Mar 2025 08:40:57 +0000 (09:40 +0100)]
Fix: guard error in selecting YTM stream

Prevent error "StopIteration interacts badly with generators"

12 months agoChore: Require first start to be successful for spotify connect
Marcel van der Veldt [Sun, 16 Mar 2025 08:34:43 +0000 (09:34 +0100)]
Chore: Require first start to be successful for spotify connect

12 months agoFix: always check if cache path (still) exists
Marcel van der Veldt [Sun, 16 Mar 2025 08:33:21 +0000 (09:33 +0100)]
Fix: always check if cache path (still) exists

12 months agoFix: don't use single stream mode on flowmode players
Marcel van der Veldt [Sat, 15 Mar 2025 17:59:50 +0000 (18:59 +0100)]
Fix: don't use single stream mode on flowmode players

It causes side effects and more headache than needed

12 months agoBump models to 1.1.39
Marcel van der Veldt [Sat, 15 Mar 2025 17:44:04 +0000 (18:44 +0100)]
Bump models to 1.1.39

has patch for HA

12 months agoAdd Recommendations to Tidal provider (#2040)
Jozef Kruszynski [Sat, 15 Mar 2025 16:56:52 +0000 (17:56 +0100)]
Add Recommendations to Tidal provider (#2040)

* feat: add tidal mixes

* feat: Added cache category for recommendations

* fix: Allow different length lists in recommendation row

* feat: Add Tidal Recommendations

* refactor: Change to latest model structure

* refactor: Minor change to because you listened to separator

* refactor: Remove TidalMix class in favour of mix_ id prefix

12 months agoFix: Ignore keyerror when setting default stream
Marcel van der Veldt [Sat, 15 Mar 2025 16:50:22 +0000 (17:50 +0100)]
Fix: Ignore keyerror when setting default stream

12 months agoFix: Always prefer tmpfs (if possible) for cache data
Marcel van der Veldt [Sat, 15 Mar 2025 16:23:10 +0000 (17:23 +0100)]
Fix: Always prefer tmpfs (if possible) for cache data

12 months agoChore(deps): Bump docker/login-action from 3.3.0 to 3.4.0 (#2039)
dependabot[bot] [Sat, 15 Mar 2025 14:43:34 +0000 (15:43 +0100)]
Chore(deps): Bump docker/login-action from 3.3.0 to 3.4.0 (#2039)

Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: docker/login-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>
12 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Sat, 15 Mar 2025 14:14:32 +0000 (15:14 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

12 months agoFix player controls get messed up between provider reloads
Marcel van der Veldt [Sat, 15 Mar 2025 14:14:17 +0000 (15:14 +0100)]
Fix player controls get messed up between provider reloads

12 months agoabs - fix: do not sync audiobooks without tracks (#2041)
Fabian Munkes [Sat, 15 Mar 2025 14:01:05 +0000 (07:01 -0700)]
abs - fix: do not sync audiobooks without tracks (#2041)

fix: do not sync audiobooks without tracks

12 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Sat, 15 Mar 2025 08:31:40 +0000 (09:31 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

12 months agoFixes for Snapcast
Marcel van der Veldt [Sat, 15 Mar 2025 08:18:27 +0000 (09:18 +0100)]
Fixes for Snapcast

12 months agoChore(deps): Bump yt-dlp from 2024.12.23 to 2025.2.19 (#2020)
dependabot[bot] [Sat, 15 Mar 2025 07:08:48 +0000 (08:08 +0100)]
Chore(deps): Bump yt-dlp from 2024.12.23 to 2025.2.19 (#2020)

* Chore(deps): Bump yt-dlp from 2024.12.23 to 2025.2.19

Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2024.12.23 to 2025.2.19.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases)
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md)
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2024.12.23...2025.02.19)

---
updated-dependencies:
- dependency-name: yt-dlp
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
* Buml yt-dlp.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
12 months agoFix: snapcast default stream already exists
Marcel van der Veldt [Sat, 15 Mar 2025 06:48:56 +0000 (07:48 +0100)]
Fix: snapcast default stream already exists

12 months agoFix: plugin source stream to http endpoint
Marcel van der Veldt [Sat, 15 Mar 2025 05:28:58 +0000 (06:28 +0100)]
Fix: plugin source stream to http endpoint

12 months agoFix: Config entries
Marcel van der Veldt [Sat, 15 Mar 2025 01:31:03 +0000 (02:31 +0100)]
Fix: Config entries

12 months agobump models to 1.1.38
Marcel van der Veldt [Fri, 14 Mar 2025 22:35:42 +0000 (23:35 +0100)]
bump models to 1.1.38

12 months agoAdd gPodder podcast provider (#2036)
Fabian Munkes [Fri, 14 Mar 2025 10:44:31 +0000 (03:44 -0700)]
Add gPodder podcast provider (#2036)

12 months agoDelete siriusxm/icon_dark.svg
OzGav [Thu, 13 Mar 2025 23:17:01 +0000 (10:17 +1100)]
Delete siriusxm/icon_dark.svg

Having this file upsets the selection of the coloured or monochrome versions

12 months agofrontend-2.14.0 (#2038)
music-assistant-machine [Thu, 13 Mar 2025 21:59:51 +0000 (22:59 +0100)]
frontend-2.14.0 (#2038)

* Update pyproject.toml for 2.14.0

* Update requirements_all.txt for 2.14.0

12 months agoFix queue item duration with fixed content length
Marcel van der Veldt [Thu, 13 Mar 2025 21:49:22 +0000 (22:49 +0100)]
Fix queue item duration with fixed content length

12 months agochore: cleanup
Marcel van der Veldt [Thu, 13 Mar 2025 21:45:33 +0000 (22:45 +0100)]
chore: cleanup

12 months agoPodcastfeed: Use helper functions (#2035)
Fabian Munkes [Thu, 13 Mar 2025 21:36:26 +0000 (14:36 -0700)]
Podcastfeed: Use helper functions (#2035)

12 months agoSeveral optimizations to the Snapcast provider (#2037)
Marcel van der Veldt [Thu, 13 Mar 2025 21:36:10 +0000 (22:36 +0100)]
Several optimizations to the Snapcast provider (#2037)

12 months agoFeat: Mutichannel Parametric Equalizer (#2031)
Maxim Raznatovski [Thu, 13 Mar 2025 17:35:56 +0000 (18:35 +0100)]
Feat: Mutichannel Parametric Equalizer (#2031)

* refactor: simply settings preamp for PEQs

* fix: check for null

* feat: add support for using a PEQ bands channel

* refactor: add ALL channel

* feat: add multichannel preamp support

* fix: muted channels when per channel preamp not set

12 months ago[Chore] Move podcastparser parse functions from itunes search provider to helpers...
Fabian Munkes [Thu, 13 Mar 2025 17:34:26 +0000 (10:34 -0700)]
[Chore] Move podcastparser parse functions from itunes search provider to helpers (#2034)

12 months agoAdd base logic for recommendations (#2033)
Marcel van der Veldt [Wed, 12 Mar 2025 23:32:15 +0000 (00:32 +0100)]
Add base logic for recommendations (#2033)

12 months agoSome small improvements to the Airplay provider (#2032)
Marcel van der Veldt [Wed, 12 Mar 2025 21:37:41 +0000 (22:37 +0100)]
Some small improvements to the Airplay provider (#2032)

13 months ago[LastFM Scrobbler] Add some basic unit tests and fix a bug (#2028)
Willem-Jan Zijderveld [Tue, 11 Mar 2025 23:49:51 +0000 (00:49 +0100)]
[LastFM Scrobbler] Add some basic unit tests and fix a bug (#2028)

* Extract logic to a handler and added a couple unit tests

* Bugfix: now_playing was triggered when pausing the player early in the song

13 months agoFinalize stream caching + fix several bugs (#2029)
Marcel van der Veldt [Tue, 11 Mar 2025 23:41:52 +0000 (00:41 +0100)]
Finalize stream caching + fix several bugs (#2029)

13 months agolistenbrainz: Cross-port fixes from last.fm scrobbler (#2027)
Ian Campbell [Tue, 11 Mar 2025 23:38:35 +0000 (23:38 +0000)]
listenbrainz: Cross-port fixes from last.fm scrobbler (#2027)

Parts of #2018 apply here too.

I have not personally witnessed these duplications in my scrobbles, but I see
no reason why the two should differ in this regard.

13 months agoIncrease clarity of note (#2026)
OzGav [Tue, 11 Mar 2025 09:14:40 +0000 (19:14 +1000)]
Increase clarity of note (#2026)

Increase clarity

13 months agofrontend-2.13.1 (#2025)
music-assistant-machine [Mon, 10 Mar 2025 22:46:47 +0000 (23:46 +0100)]
frontend-2.13.1 (#2025)

* Update pyproject.toml for 2.13.1

* Update requirements_all.txt for 2.13.1

13 months agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Mon, 10 Mar 2025 22:21:06 +0000 (23:21 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

13 months agoFix loudness assignment race condition
Marcel van der Veldt [Mon, 10 Mar 2025 22:21:01 +0000 (23:21 +0100)]
Fix loudness assignment race condition

13 months agoVarious bugfixes for the LastFM provider (#2018)
Willem-Jan Zijderveld [Mon, 10 Mar 2025 22:15:34 +0000 (23:15 +0100)]
Various bugfixes for the LastFM provider (#2018)

13 months agoChore(deps): Bump cryptography from 44.0.1 to 44.0.2 (#2021)
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>
13 months agoChore(deps): Bump orjson from 3.10.12 to 3.10.15 (#2023)
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>
13 months agoFix: Subsonic: Bump py-opensonic to fix stupid typo (#2024)
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>
13 months agoFix: output bit depth should be as high as possibe
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

13 months agoFix: enqueue next logic and some endless loop issues in queue controller
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

13 months agoFix sonos play modes
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

13 months agoFix: Ensure we pad some silence before any live/radio stream to prevent jitter
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

13 months agoChore: limit cache filling a bit more
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

13 months agoChore: further silence ffmpeg logging
Marcel van der Veldt [Mon, 10 Mar 2025 14:35:52 +0000 (15:35 +0100)]
Chore: further silence ffmpeg logging

13 months agoadjust pre-commit config
Marcel van der Veldt [Mon, 10 Mar 2025 14:47:41 +0000 (15:47 +0100)]
adjust pre-commit config

13 months agoFix playlist parsing with parent folder references (#2019)
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

13 months agoIgnore playlists which are stored with album tracks (#2017)
Marcel van der Veldt [Mon, 10 Mar 2025 13:19:37 +0000 (14:19 +0100)]
Ignore playlists which are stored with album tracks (#2017)

13 months agoReplace listenbrainz image
OzGav [Sun, 9 Mar 2025 23:35:20 +0000 (09:35 +1000)]
Replace listenbrainz image

13 months agofrontend-2.13.0 (#2016)
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

13 months agoFix: Subsonic: Catch DataNotFoundError for artwork (#2012)
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>
13 months agoFeat: Built-in Web Player Provider (#2009)
Maxim Raznatovski [Sun, 9 Mar 2025 22:49:24 +0000 (23:49 +0100)]
Feat: Built-in Web Player Provider (#2009)

13 months agoFix small race condition in snapcast teardown
Marcel van der Veldt [Sun, 9 Mar 2025 21:50:18 +0000 (22:50 +0100)]
Fix small race condition in snapcast teardown

13 months agoChore: small (textual) change to announcements logic
Marcel van der Veldt [Sun, 9 Mar 2025 19:10:45 +0000 (20:10 +0100)]
Chore: small (textual) change to announcements logic

13 months agoFix: check for none value in mutagen tags
Marcel van der Veldt [Sun, 9 Mar 2025 18:43:38 +0000 (19:43 +0100)]
Fix: check for none value in mutagen tags

13 months agoFix: don't crash on malformed loudness value
Marcel van der Veldt [Sun, 9 Mar 2025 17:08:25 +0000 (18:08 +0100)]
Fix: don't crash on malformed loudness value

13 months agoRename the slimproto provider to squeezelite (#2015)
Marcel van der Veldt [Sun, 9 Mar 2025 14:18:39 +0000 (15:18 +0100)]
Rename the slimproto provider to squeezelite (#2015)

13 months agoAdd ListenBrainz scrobbler provider (#2008)
Ian Campbell [Sun, 9 Mar 2025 14:15:43 +0000 (14:15 +0000)]
Add ListenBrainz scrobbler provider (#2008)

Add listenbrainz scrobbler

13 months agoAdd pkce to Tidal provider's manifest requirements (#2013)
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

13 months agoFix: ensure the source attribute gets restored after playback of announcement
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

13 months agoFix Subsonic: Use transcode metadata when present (#2011)
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>
13 months agoTidal provider maintenance: add tidaluser class (#2010)
Jozef Kruszynski [Sat, 8 Mar 2025 23:50:39 +0000 (00:50 +0100)]
Tidal provider maintenance: add tidaluser class (#2010)

13 months agoFix: always use fallback default supported samplerate for esphome player
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