|
|
|
@ -107,17 +107,20 @@ namespace MediaBrowser.Providers.MediaInfo
|
|
|
|
|
audio.Name = title;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var composer = GetDictionaryValue(tags, "composer");
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(composer))
|
|
|
|
|
if (!audio.LockedFields.Contains(MetadataFields.Cast))
|
|
|
|
|
{
|
|
|
|
|
foreach (var person in Split(composer))
|
|
|
|
|
{
|
|
|
|
|
var name = person.Trim();
|
|
|
|
|
var composer = GetDictionaryValue(tags, "composer");
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(name))
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(composer))
|
|
|
|
|
{
|
|
|
|
|
foreach (var person in Split(composer))
|
|
|
|
|
{
|
|
|
|
|
audio.AddPerson(new PersonInfo { Name = name, Type = PersonType.Composer });
|
|
|
|
|
var name = person.Trim();
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(name))
|
|
|
|
|
{
|
|
|
|
|
audio.AddPerson(new PersonInfo { Name = name, Type = PersonType.Composer });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -148,12 +151,18 @@ namespace MediaBrowser.Providers.MediaInfo
|
|
|
|
|
audio.ProductionYear = audio.PremiereDate.Value.ToLocalTime().Year;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FetchGenres(audio, tags);
|
|
|
|
|
if (!audio.LockedFields.Contains(MetadataFields.Genres))
|
|
|
|
|
{
|
|
|
|
|
FetchGenres(audio, tags);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// There's several values in tags may or may not be present
|
|
|
|
|
FetchStudios(audio, tags, "organization");
|
|
|
|
|
FetchStudios(audio, tags, "ensemble");
|
|
|
|
|
FetchStudios(audio, tags, "publisher");
|
|
|
|
|
if (!audio.LockedFields.Contains(MetadataFields.Studios))
|
|
|
|
|
{
|
|
|
|
|
// There's several values in tags may or may not be present
|
|
|
|
|
FetchStudios(audio, tags, "organization");
|
|
|
|
|
FetchStudios(audio, tags, "ensemble");
|
|
|
|
|
FetchStudios(audio, tags, "publisher");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|