diff options
| author | Gary Wilber <Spacetech326@gmail.com> | 2020-09-26 19:33:59 -0700 |
|---|---|---|
| committer | Gary Wilber <Spacetech326@gmail.com> | 2020-09-26 19:33:59 -0700 |
| commit | 05fa95f149582b3de1881c42aaa0ac00408a9947 (patch) | |
| tree | c5a76f47e8f98f535eb01f7a55128a2125fd00e9 /Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs | |
| parent | 800c03961281d4f2ee6d3d7c9d9c0db6f45f506a (diff) | |
Increase scan speed for music libraries
Diffstat (limited to 'Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs')
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs index 5f5cd0e928..e9e688fa67 100644 --- a/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using System.Threading.Tasks; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; @@ -94,7 +95,18 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio var albumResolver = new MusicAlbumResolver(_logger, _fileSystem, _libraryManager); // If we contain an album assume we are an artist folder - return args.FileSystemChildren.Where(i => i.IsDirectory).Any(i => albumResolver.IsMusicAlbum(i.FullName, directoryService)) ? new MusicArtist() : null; + var directories = args.FileSystemChildren.Where(i => i.IsDirectory); + + var result = Parallel.ForEach(directories, (fileSystemInfo, state) => + { + if (albumResolver.IsMusicAlbum(fileSystemInfo.FullName, directoryService)) + { + // stop once we see a music album + state.Stop(); + } + }); + + return !result.IsCompleted ? new MusicArtist() : null; } } } |
