| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | #pragma warning disable CS1591using System;using System.Collections.Generic;using System.Text.Json.Serialization;using Jellyfin.Data.Enums;using MediaBrowser.Controller.Entities.Audio;using MediaBrowser.Controller.Providers;namespace MediaBrowser.Controller.Entities{    public class MusicVideo : Video, IHasArtist, IHasMusicGenres, IHasLookupInfo<MusicVideoInfo>    {        /// <inheritdoc />        [JsonIgnore]        public IReadOnlyList<string> Artists { get; set; }        public MusicVideo()        {            Artists = Array.Empty<string>();        }        public override UnratedItem GetBlockUnratedType()        {            return UnratedItem.Music;        }        public MusicVideoInfo GetLookupInfo()        {            var info = GetItemLookupInfo<MusicVideoInfo>();            info.Artists = Artists;            return info;        }        public override bool BeforeMetadataRefresh(bool replaceAllMetdata)        {            var hasChanges = base.BeforeMetadataRefresh(replaceAllMetdata);            if (!ProductionYear.HasValue)            {                var info = LibraryManager.ParseName(Name);                var yearInName = info.Year;                if (yearInName.HasValue)                {                    ProductionYear = yearInName;                    hasChanges = true;                }                else                {                    // Try to get the year from the folder name                    if (!IsInMixedFolder)                    {                        info = LibraryManager.ParseName(System.IO.Path.GetFileName(ContainingFolderPath));                        yearInName = info.Year;                        if (yearInName.HasValue)                        {                            ProductionYear = yearInName;                            hasChanges = true;                        }                    }                }            }            return hasChanges;        }    }}
 |