diff options
Diffstat (limited to 'MediaBrowser.Providers/ProviderUtils.cs')
| -rw-r--r-- | MediaBrowser.Providers/ProviderUtils.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/MediaBrowser.Providers/ProviderUtils.cs b/MediaBrowser.Providers/ProviderUtils.cs index a04df581c..543643474 100644 --- a/MediaBrowser.Providers/ProviderUtils.cs +++ b/MediaBrowser.Providers/ProviderUtils.cs @@ -1,4 +1,5 @@ using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Model.Entities; using System.Collections.Generic; @@ -156,6 +157,8 @@ namespace MediaBrowser.Providers target.ProviderIds[id.Key] = id.Value; } + MergeAlbumArtist(source, target, lockedFields, replaceData); + if (mergeMetadataSettings) { target.ForcedSortName = source.ForcedSortName; @@ -181,5 +184,19 @@ namespace MediaBrowser.Providers } } } + + private static void MergeAlbumArtist(BaseItem source, BaseItem target, List<MetadataFields> lockedFields, bool replaceData) + { + var sourceHasAlbumArtist = source as IHasAlbumArtist; + var targetHasAlbumArtist = target as IHasAlbumArtist; + + if (sourceHasAlbumArtist != null && targetHasAlbumArtist != null) + { + if (replaceData || string.IsNullOrEmpty(targetHasAlbumArtist.AlbumArtist)) + { + targetHasAlbumArtist.AlbumArtist = sourceHasAlbumArtist.AlbumArtist; + } + } + } } } |
