#nullable disable #pragma warning disable CA1721, CA1826, CS1591 using System; using System.Collections.Generic; using System.Linq; using System.Text.Json.Serialization; using System.Threading; using System.Threading.Tasks; using Jellyfin.Data.Entities; using Jellyfin.Data.Enums; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MetadataProvider = MediaBrowser.Model.Entities.MetadataProvider; namespace MediaBrowser.Controller.Entities.Audio { /// /// Class MusicAlbum. /// public class MusicAlbum : Folder, IHasAlbumArtist, IHasArtist, IHasMusicGenres, IHasLookupInfo, IMetadataContainer { public MusicAlbum() { Artists = Array.Empty(); AlbumArtists = Array.Empty(); } /// public IReadOnlyList AlbumArtists { get; set; } /// public IReadOnlyList Artists { get; set; } [JsonIgnore] public override bool SupportsAddingToPlaylist => true; [JsonIgnore] public override bool SupportsInheritedParentImages => true; [JsonIgnore] public MusicArtist MusicArtist => GetMusicArtist(new DtoOptions(true)); [JsonIgnore] public override bool SupportsPlayedStatus => false; [JsonIgnore] public override bool SupportsCumulativeRunTimeTicks => true; [JsonIgnore] public string AlbumArtist => AlbumArtists.FirstOrDefault(); [JsonIgnore] public override bool SupportsPeople => true; /// /// Gets the tracks. /// /// The tracks. [JsonIgnore] public IEnumerable