From: Marcel van der Veldt Date: Tue, 23 Apr 2024 17:00:09 +0000 (+0200) Subject: Fix: Order not respected when playing an entire album (#1248) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=af9f7bc8dee4e286d61cf3b9eff740262264dd6e;p=music-assistant-server.git Fix: Order not respected when playing an entire album (#1248) --- diff --git a/music_assistant/server/controllers/media/albums.py b/music_assistant/server/controllers/media/albums.py index b1eb67c8..2d722fba 100644 --- a/music_assistant/server/controllers/media/albums.py +++ b/music_assistant/server/controllers/media/albums.py @@ -302,7 +302,7 @@ class AlbumsController(MediaControllerBase[Album]): ) if full_album.provider == "library" and in_library_only: # return in-library items only - return db_items + return sorted(db_items, key=lambda x: (x.disc_number, x.track_number)) # return all (unique) items from all providers result: list[AlbumTrack] = [*db_items] unique_ids: set[str] = set() @@ -331,7 +331,9 @@ class AlbumsController(MediaControllerBase[Album]): ) elif not in_library_only and provider_track not in result: result.append(AlbumTrack.from_track(provider_track, full_album)) - return result + # NOTE: we need to return the results sorted on disc/track here + # to ensure the correct order at playback + return sorted(result, key=lambda x: (x.disc_number, x.track_number)) async def versions( self,