diff options
Diffstat (limited to 'MediaBrowser.Api/BaseApiService.cs')
| -rw-r--r-- | MediaBrowser.Api/BaseApiService.cs | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/MediaBrowser.Api/BaseApiService.cs b/MediaBrowser.Api/BaseApiService.cs index c3b031448..4f3e3fb28 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<IHasArtist>() + var items = libraryManager.GetItemList(new InternalItemsQuery + { + IncludeItemTypes = new[] { typeof(Audio).Name, typeof(MusicVideo).Name, typeof(MusicAlbum).Name } + }); + + return items + .OfType<IHasArtist>() .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 => |
