using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; using System.Collections.Generic; using System.Threading; namespace MediaBrowser.Providers { /// /// Class FanartBaseProvider /// public abstract class FanartBaseProvider : BaseMetadataProvider { internal static readonly SemaphoreSlim FanArtResourcePool = new SemaphoreSlim(3, 3); /// /// The LOG o_ FILE /// protected const string LogoFile = "logo.png"; /// /// The AR t_ FILE /// protected const string ArtFile = "clearart.png"; /// /// The THUM b_ FILE /// protected const string ThumbFile = "thumb.jpg"; /// /// The DIS c_ FILE /// protected const string DiscFile = "disc.png"; /// /// The BANNE r_ FILE /// protected const string BannerFile = "banner.png"; /// /// The Backdrop /// protected const string BackdropFile = "backdrop.jpg"; /// /// The Primary image /// protected const string PrimaryFile = "folder.jpg"; /// /// The API key /// internal const string ApiKey = "5c6b04c68e904cfed1e6cbc9a9e683d4"; protected FanartBaseProvider(ILogManager logManager, IServerConfigurationManager configurationManager) : base(logManager, configurationManager) { } /// /// Gets a value indicating whether [requires internet]. /// /// true if [requires internet]; otherwise, false. public override bool RequiresInternet { get { return true; } } #region Result Objects protected class FanArtImageInfo { public string id { get; set; } public string url { get; set; } public string likes { get; set; } } protected class FanArtMusicInfo { public string mbid_id { get; set; } public List musiclogo { get; set; } public List artistbackground { get; set; } public List artistthumb { get; set; } public List hdmusiclogo { get; set; } public List musicbanner { get; set; } } protected class FanArtMusicResult { public FanArtMusicInfo result { get; set; } } #endregion } }