diff --git a/MediaBrowser.Api/BaseApiService.cs b/MediaBrowser.Api/BaseApiService.cs index c3b0314480..4f3e3fb283 100644 --- a/MediaBrowser.Api/BaseApiService.cs +++ b/MediaBrowser.Api/BaseApiService.cs @@ -196,9 +196,13 @@ namespace MediaBrowser.Api return name; } - return libraryManager.RootFolder - .GetRecursiveChildren(i => i is IHasArtist) - .Cast() + var items = libraryManager.GetItemList(new InternalItemsQuery + { + IncludeItemTypes = new[] { typeof(Audio).Name, typeof(MusicVideo).Name, typeof(MusicAlbum).Name } + }); + + return items + .OfType() .SelectMany(i => i.AllArtists) .DistinctNames() .FirstOrDefault(i => @@ -239,8 +243,12 @@ namespace MediaBrowser.Api return name; } - return libraryManager.RootFolder - .GetRecursiveChildren(i => i is Game) + var items = libraryManager.GetItemList(new InternalItemsQuery + { + IncludeItemTypes = new[] { typeof(Game).Name } + }); + + return items .SelectMany(i => i.Genres) .DistinctNames() .FirstOrDefault(i =>