diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-06-10 21:28:41 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-06-10 21:28:41 -0400 |
| commit | c61ebf2b530d39956d545bf048ef81b7607afc50 (patch) | |
| tree | d8893977fb5b4444ff7ea44c7643151b624ddd4a | |
| parent | d2933cab7355b9a77ec802e4bc1efae9a3bf9743 (diff) | |
show genres on artist page
| -rw-r--r-- | MediaBrowser.Providers/Music/ArtistsPostScanTask.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/MediaBrowser.Providers/Music/ArtistsPostScanTask.cs b/MediaBrowser.Providers/Music/ArtistsPostScanTask.cs index d20fe29cf..239f70df7 100644 --- a/MediaBrowser.Providers/Music/ArtistsPostScanTask.cs +++ b/MediaBrowser.Providers/Music/ArtistsPostScanTask.cs @@ -46,6 +46,7 @@ namespace MediaBrowser.Providers.Music progress.Report(10); var allMusicArtists = allItems.OfType<MusicArtist>().ToList(); + var allSongs = allItems.OfType<Audio>().ToList(); var numComplete = 0; @@ -60,6 +61,17 @@ namespace MediaBrowser.Providers.Music artist.BackdropImagePaths = musicArtist.BackdropImagePaths.ToList(); artist.ScreenshotImagePaths = musicArtist.ScreenshotImagePaths.ToList(); artist.SetProviderId(MetadataProviders.Musicbrainz, musicArtist.GetProviderId(MetadataProviders.Musicbrainz)); + artist.Genres = musicArtist.Genres.ToList(); + } + else + { + // Avoid implicitly captured closure + var artist1 = artist; + + artist.Genres = allSongs.Where(i => i.HasArtist(artist1.Name)) + .SelectMany(i => i.Genres) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(); } numComplete++; |
