diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Audio/Audio.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs index 5ee1e8152..7c226864b 100644 --- a/MediaBrowser.Controller/Entities/Audio/Audio.cs +++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs @@ -1,6 +1,7 @@ using MediaBrowser.Model.Entities; using System; using System.Collections.Generic; +using System.Linq; using System.Runtime.Serialization; namespace MediaBrowser.Controller.Entities.Audio @@ -13,6 +14,7 @@ namespace MediaBrowser.Controller.Entities.Audio public Audio() { MediaStreams = new List<MediaStream>(); + Artists = new List<string>(); } /// <summary> @@ -57,7 +59,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// Gets or sets the artist. /// </summary> /// <value>The artist.</value> - public string Artist { get; set; } + public List<string> Artists { get; set; } /// <summary> /// Gets or sets the album. @@ -99,7 +101,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// <returns><c>true</c> if the specified name has artist; otherwise, <c>false</c>.</returns> public bool HasArtist(string name) { - return string.Equals(Artist, name, StringComparison.OrdinalIgnoreCase) || string.Equals(AlbumArtist, name, StringComparison.OrdinalIgnoreCase); + return Artists.Contains(name, StringComparer.OrdinalIgnoreCase) || string.Equals(AlbumArtist, name, StringComparison.OrdinalIgnoreCase); } } } diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 91f4504c2..8945a3307 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -257,7 +257,7 @@ namespace MediaBrowser.Controller.Entities { var songs = recursiveChildren.OfType<Audio.Audio>().ToList(); - indexFolders = songs.Select(i => i.Artist ?? string.Empty) + indexFolders = songs.SelectMany(i => i.Artists) .Distinct(StringComparer.OrdinalIgnoreCase) .Select(i => { @@ -278,7 +278,7 @@ namespace MediaBrowser.Controller.Entities }) .Where(i => i != null) .Select(a => new IndexFolder(us, a, - songs.Where(i => string.Equals(i.Artist, a.Name, StringComparison.OrdinalIgnoreCase) + songs.Where(i => i.Artists.Contains(a.Name, StringComparer.OrdinalIgnoreCase) ), currentIndexName)).Concat(indexFolders); } |
