diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-06-23 12:05:19 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-06-23 12:05:19 -0400 |
| commit | 0727475abfff42e32626d2def071a189168e7da1 (patch) | |
| tree | e2a486f33beb0bd49b293234f1b7b2c2c0223415 /MediaBrowser.Providers | |
| parent | eba1845f2a16dfbabdd009b0dc771183c9ffba76 (diff) | |
update translations
Diffstat (limited to 'MediaBrowser.Providers')
6 files changed, 26 insertions, 10 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderUtils.cs b/MediaBrowser.Providers/Manager/ProviderUtils.cs index d77a545d8e..9b9acdd096 100644 --- a/MediaBrowser.Providers/Manager/ProviderUtils.cs +++ b/MediaBrowser.Providers/Manager/ProviderUtils.cs @@ -223,9 +223,9 @@ namespace MediaBrowser.Providers.Manager if (sourceHasAlbumArtist != null && targetHasAlbumArtist != null) { - if (replaceData || string.IsNullOrEmpty(targetHasAlbumArtist.AlbumArtist)) + if (replaceData || targetHasAlbumArtist.AlbumArtists.Count > 0) { - targetHasAlbumArtist.AlbumArtist = sourceHasAlbumArtist.AlbumArtist; + targetHasAlbumArtist.AlbumArtists = sourceHasAlbumArtist.AlbumArtists; } } } diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfo.cs b/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfo.cs index 3a701f60ca..ac0724a9a0 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfo.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfo.cs @@ -194,8 +194,19 @@ namespace MediaBrowser.Providers.MediaInfo } - // Several different forms of albumartist - audio.AlbumArtist = FFProbeHelpers.GetDictionaryValue(tags, "albumartist") ?? FFProbeHelpers.GetDictionaryValue(tags, "album artist") ?? FFProbeHelpers.GetDictionaryValue(tags, "album_artist"); + var albumArtist = FFProbeHelpers.GetDictionaryValue(tags, "albumartist") ?? FFProbeHelpers.GetDictionaryValue(tags, "album artist") ?? FFProbeHelpers.GetDictionaryValue(tags, "album_artist"); + + if (string.IsNullOrWhiteSpace(albumArtist)) + { + audio.AlbumArtists = new List<string>(); + } + else + { + audio.AlbumArtists = SplitArtists(albumArtist) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(); + + } // Track number audio.IndexNumber = GetDictionaryDiscValue(tags, "track"); diff --git a/MediaBrowser.Providers/Music/AlbumMetadataService.cs b/MediaBrowser.Providers/Music/AlbumMetadataService.cs index 96020791e3..f049c79e14 100644 --- a/MediaBrowser.Providers/Music/AlbumMetadataService.cs +++ b/MediaBrowser.Providers/Music/AlbumMetadataService.cs @@ -105,7 +105,7 @@ namespace MediaBrowser.Providers.Music var updateType = ItemUpdateType.None; var albumArtist = songs - .Select(i => i.AlbumArtist) + .SelectMany(i => i.AlbumArtists) .FirstOrDefault(i => !string.IsNullOrEmpty(i)); if (!string.IsNullOrEmpty(albumArtist)) diff --git a/MediaBrowser.Providers/Music/Extensions.cs b/MediaBrowser.Providers/Music/Extensions.cs index a959eb08ca..b14a1ba095 100644 --- a/MediaBrowser.Providers/Music/Extensions.cs +++ b/MediaBrowser.Providers/Music/Extensions.cs @@ -8,11 +8,11 @@ namespace MediaBrowser.Providers.Music { public static string GetAlbumArtist(this AlbumInfo info) { - var id = info.AlbumArtist; + var id = info.AlbumArtists.FirstOrDefault(); if (string.IsNullOrEmpty(id)) { - return info.SongInfos.Select(i => i.AlbumArtist) + return info.SongInfos.SelectMany(i => i.AlbumArtists) .FirstOrDefault(i => !string.IsNullOrEmpty(i)); } diff --git a/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs b/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs index f7086d8e6b..8465397484 100644 --- a/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs +++ b/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs @@ -82,11 +82,11 @@ namespace MediaBrowser.Providers.Music var albumArtist = item.GetAlbumArtist(); // Get each song, distinct by the combination of AlbumArtist and Album - var songs = item.SongInfos.DistinctBy(i => (i.AlbumArtist ?? string.Empty) + (i.Album ?? string.Empty), StringComparer.OrdinalIgnoreCase).ToList(); + var songs = item.SongInfos.DistinctBy(i => (i.AlbumArtists.FirstOrDefault() ?? string.Empty) + (i.Album ?? string.Empty), StringComparer.OrdinalIgnoreCase).ToList(); - foreach (var song in songs.Where(song => !string.IsNullOrEmpty(song.Album) && !string.IsNullOrEmpty(song.AlbumArtist))) + foreach (var song in songs.Where(song => !string.IsNullOrEmpty(song.Album) && !string.IsNullOrEmpty(song.AlbumArtists.FirstOrDefault()))) { - var result = await GetAlbumResult(song.AlbumArtist, song.Album, cancellationToken).ConfigureAwait(false); + var result = await GetAlbumResult(song.AlbumArtists.FirstOrDefault(), song.Album, cancellationToken).ConfigureAwait(false); if (result != null && result.album != null) { diff --git a/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs b/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs index e36d8a3201..7a30c4a507 100644 --- a/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs +++ b/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs @@ -176,6 +176,11 @@ namespace MediaBrowser.Providers.Music return GetReleaseResult(albumName, artistMusicBrainId, cancellationToken); } + if (string.IsNullOrWhiteSpace(artistName)) + { + return Task.FromResult(new ReleaseResult()); + } + return GetReleaseResultByArtistName(albumName, artistName, cancellationToken); } |
