From 8b938e26962dec132ff43ad6741effc71c1d162d Mon Sep 17 00:00:00 2001 From: Shadowghost Date: Fri, 17 May 2024 13:51:50 -0400 Subject: [PATCH] Backport pull request #11673 from jellyfin/release-10.9.z Fix local playlist scanning Original-merge: 26714e2c62fb0fe1138bcb731ad7ad4d62bc7637 Merged-by: nielsvanvelzen Backported-by: Joshua M. Boniface --- .../Images/BaseFolderImageProvider.cs | 9 ++++----- .../Images/MusicAlbumImageProvider.cs | 11 +++++++++++ MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs | 3 +-- MediaBrowser.Providers/Manager/MetadataService.cs | 1 - .../Playlists/PlaylistItemsProvider.cs | 2 +- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Emby.Server.Implementations/Images/BaseFolderImageProvider.cs b/Emby.Server.Implementations/Images/BaseFolderImageProvider.cs index 04d90af3c..f9c10ba09 100644 --- a/Emby.Server.Implementations/Images/BaseFolderImageProvider.cs +++ b/Emby.Server.Implementations/Images/BaseFolderImageProvider.cs @@ -11,7 +11,6 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Querying; namespace Emby.Server.Implementations.Images { @@ -33,12 +32,12 @@ namespace Emby.Server.Implementations.Images Parent = item, Recursive = true, DtoOptions = new DtoOptions(true), - ImageTypes = new ImageType[] { ImageType.Primary }, - OrderBy = new (ItemSortBy, SortOrder)[] - { + ImageTypes = [ImageType.Primary], + OrderBy = + [ (ItemSortBy.IsFolder, SortOrder.Ascending), (ItemSortBy.SortName, SortOrder.Ascending) - }, + ], Limit = 1 }); } diff --git a/Emby.Server.Implementations/Images/MusicAlbumImageProvider.cs b/Emby.Server.Implementations/Images/MusicAlbumImageProvider.cs index ce8367363..98e26a322 100644 --- a/Emby.Server.Implementations/Images/MusicAlbumImageProvider.cs +++ b/Emby.Server.Implementations/Images/MusicAlbumImageProvider.cs @@ -1,7 +1,10 @@ #pragma warning disable CS1591 +using System.Collections.Generic; +using System.Linq; using MediaBrowser.Common.Configuration; using MediaBrowser.Controller.Drawing; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; @@ -15,5 +18,13 @@ namespace Emby.Server.Implementations.Images : base(fileSystem, providerManager, applicationPaths, imageProcessor, libraryManager) { } + + protected override IReadOnlyList GetItemsWithImages(BaseItem item) + { + var items = base.GetItemsWithImages(item); + + // Ignore any folders because they can have generated collages + return items.Where(i => i is not Folder).ToList(); + } } } diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs index 5b3349108..a0aae8769 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs @@ -169,8 +169,7 @@ namespace MediaBrowser.Controller.Entities.Audio var childUpdateType = ItemUpdateType.None; - // Refresh songs only and not m3u files in album folder - foreach (var item in items.OfType