aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/ProviderUtils.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/ProviderUtils.cs')
-rw-r--r--MediaBrowser.Providers/ProviderUtils.cs17
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;
+ }
+ }
+ }
}
}