diff options
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/ArtistsService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ArtistsService.cs | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ArtistsService.cs b/MediaBrowser.Api/UserLibrary/ArtistsService.cs index 7a027a052..f65de2e69 100644 --- a/MediaBrowser.Api/UserLibrary/ArtistsService.cs +++ b/MediaBrowser.Api/UserLibrary/ArtistsService.cs @@ -125,15 +125,35 @@ namespace MediaBrowser.Api.UserLibrary { var name = DeSlugArtistName(request.Name, LibraryManager); - var items = GetItems(request.UserId).OfType<Audio>().Where(i => i.HasArtist(name)).ToList(); + var items = GetItems(request.UserId).Where(i => + { + var song = i as Audio; + + if (song != null) + { + return song.HasArtist(name); + } + + var musicVideo = i as MusicVideo; + + if (musicVideo != null) + { + return musicVideo.HasArtist(name); + } + + return false; + + }).ToList(); var counts = new ItemByNameCounts { TotalCount = items.Count, - SongCount = items.Count(), + SongCount = items.OfType<Audio>().Count(), + + AlbumCount = items.Select(i => i.Parent).OfType<MusicAlbum>().Distinct().Count(), - AlbumCount = items.Select(i => i.Parent).OfType<MusicAlbum>().Distinct().Count() + MusicVideoCount = items.OfType<MusicVideo>().Count(i => i.HasArtist(name)) }; return ToOptimizedResult(counts); |
