diff options
| -rw-r--r-- | MediaBrowser.Controller/Dto/DtoBuilder.cs | 17 | ||||
| -rw-r--r-- | MediaBrowser.Model/DTO/BaseItemDto.cs | 6 |
2 files changed, 14 insertions, 9 deletions
diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs index 63d19a662..76a5f8517 100644 --- a/MediaBrowser.Controller/Dto/DtoBuilder.cs +++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs @@ -65,7 +65,7 @@ namespace MediaBrowser.Controller.Dto { dto.Studios = item.Studios; } - + if (fields.Contains(ItemFields.People)) { tasks.Add(AttachPeople(dto, item)); @@ -176,7 +176,7 @@ namespace MediaBrowser.Controller.Dto if (item.IsFolder && fields.Contains(ItemFields.DisplayPreferencesId)) { - dto.DisplayPreferencesId = ((Folder) item).GetDisplayPreferencesId(user.Id).ToString(); + dto.DisplayPreferencesId = ((Folder)item).GetDisplayPreferencesId(user.Id).ToString(); } if (item.IsFolder) @@ -283,7 +283,7 @@ namespace MediaBrowser.Controller.Dto { dto.ProductionLocations = item.ProductionLocations; } - + dto.AspectRatio = item.AspectRatio; dto.BackdropImageTags = GetBackdropImageTags(item); @@ -340,7 +340,7 @@ namespace MediaBrowser.Controller.Dto dto.OverviewHtml = item.Overview; } } - + // If there are no backdrops, indicate what parent has them in case the Ui wants to allow inheritance if (dto.BackdropImageTags.Count == 0) { @@ -424,7 +424,7 @@ namespace MediaBrowser.Controller.Dto { dto.Album = audio.Album; dto.AlbumArtist = audio.AlbumArtist; - dto.Artist = audio.Artist; + dto.Artists = new[] { audio.Artist }; } var album = item as MusicAlbum; @@ -434,7 +434,12 @@ namespace MediaBrowser.Controller.Dto var songs = album.Children.OfType<Audio>().ToList(); dto.AlbumArtist = songs.Select(i => i.AlbumArtist).FirstOrDefault(i => !string.IsNullOrEmpty(i)); - dto.Artist = songs.Select(i => i.Artist).FirstOrDefault(i => !string.IsNullOrEmpty(i)); + + dto.Artists = + songs.Select(i => i.Artist ?? string.Empty) + .Where(i => !string.IsNullOrEmpty(i)) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToArray(); } } diff --git a/MediaBrowser.Model/DTO/BaseItemDto.cs b/MediaBrowser.Model/DTO/BaseItemDto.cs index ad454b4c2..4170e7250 100644 --- a/MediaBrowser.Model/DTO/BaseItemDto.cs +++ b/MediaBrowser.Model/DTO/BaseItemDto.cs @@ -271,10 +271,10 @@ namespace MediaBrowser.Model.Dto public double? PrimaryImageAspectRatio { get; set; } /// <summary> - /// Gets or sets the artist. + /// Gets or sets the artists. /// </summary> - /// <value>The artist.</value> - public string Artist { get; set; } + /// <value>The artists.</value> + public string[] Artists { get; set; } /// <summary> /// Gets or sets the album. |
