From 44b12c0f9fc81dd10d6f655f341d7df28c5f3e20 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 5 Sep 2013 15:00:50 -0400 Subject: fixes #520 - Support multiple artists per audio track --- MediaBrowser.Server.Implementations/Dto/DtoService.cs | 5 ++--- .../Library/LibraryManager.cs | 5 +---- .../Library/LuceneSearchEngine.cs | 14 ++++++++++++-- .../Sorting/ArtistComparer.cs | 2 +- 4 files changed, 16 insertions(+), 10 deletions(-) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index 66e3613f55..4ad2479e61 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -893,7 +893,7 @@ namespace MediaBrowser.Server.Implementations.Dto { dto.Album = audio.Album; dto.AlbumArtist = audio.AlbumArtist; - dto.Artists = new[] { audio.Artist }; + dto.Artists = audio.Artists.ToArray(); var albumParent = audio.FindParent(); @@ -919,8 +919,7 @@ namespace MediaBrowser.Server.Implementations.Dto dto.AlbumArtist = songs.Select(i => i.AlbumArtist).FirstOrDefault(i => !string.IsNullOrEmpty(i)); dto.Artists = - songs.Select(i => i.Artist ?? string.Empty) - .Where(i => !string.IsNullOrEmpty(i)) + songs.SelectMany(i => i.Artists) .Distinct(StringComparer.OrdinalIgnoreCase) .ToArray(); } diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 29a495247c..d9ab75397c 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -900,10 +900,7 @@ namespace MediaBrowser.Server.Implementations.Library { list.Add(c.AlbumArtist); } - if (!string.IsNullOrEmpty(c.Artist)) - { - list.Add(c.Artist); - } + list.AddRange(c.Artists); return list; }) diff --git a/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs b/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs index 0fd39a25d3..d8b8a18e92 100644 --- a/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs +++ b/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs @@ -120,8 +120,18 @@ namespace MediaBrowser.Server.Implementations.Library // Find artists var artists = items.OfType