瀏覽代碼

show genres on artist page

Luke Pulverenti 12 年之前
父節點
當前提交
c61ebf2b53
共有 1 個文件被更改,包括 12 次插入0 次删除
  1. 12 0
      MediaBrowser.Providers/Music/ArtistsPostScanTask.cs

+ 12 - 0
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++;