mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-02 22:08:27 +01:00
fixes #520 - Support multiple artists per audio track
This commit is contained in:
@@ -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<MusicAlbum>();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
})
|
||||
|
||||
@@ -120,8 +120,18 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||
|
||||
// Find artists
|
||||
var artists = items.OfType<Audio>()
|
||||
.SelectMany(i => new[] { i.Artist, i.AlbumArtist })
|
||||
.Where(i => !string.IsNullOrEmpty(i))
|
||||
.SelectMany(i =>
|
||||
{
|
||||
var list = new List<string>();
|
||||
|
||||
if (!string.IsNullOrEmpty(i.AlbumArtist))
|
||||
{
|
||||
list.Add(i.AlbumArtist);
|
||||
}
|
||||
list.AddRange(i.Artists);
|
||||
|
||||
return list;
|
||||
})
|
||||
.Distinct(StringComparer.OrdinalIgnoreCase)
|
||||
.ToList();
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace MediaBrowser.Server.Implementations.Sorting
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return audio.Artist ?? string.Empty;
|
||||
return audio.Artists.FirstOrDefault() ?? string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user