/// <summary> /// Set the new banner image /// </summary> /// <param name="_value"></param> private void SetBannerImage(TvdbBanner _value) { Thread imageLoader = new Thread(new ParameterizedThreadStart(DoBannerLoad)); m_latestLoadingThread = imageLoader; imageLoader.Priority = ThreadPriority.Lowest; imageLoader.Name = "Imageloader_" + _value.BannerPath; imageLoader.Start(_value); }
/// <summary> /// Update the series with the banner /// </summary> /// <param name="_series"></param> /// <param name="_banner"></param> private void UpdateBanner(TvdbSeries _series, TvdbBanner _banner) { if (!_series.BannersLoaded) {//banners for this series havn't been loaded -> don't update banners return; } bool found = false; foreach (TvdbBanner b in _series.Banners) { if (_banner.GetType() == b.GetType() && _banner.BannerPath.Equals(b.BannerPath)) { if (b.LastUpdated < _banner.LastUpdated) { b.LastUpdated = _banner.LastUpdated; if (_banner.GetType() == typeof(TvdbFanartBanner)) { TvdbFanartBanner fanart = (TvdbFanartBanner)b; fanart.Resolution = ((TvdbFanartBanner)_banner).Resolution; if (fanart.IsThumbLoaded) { fanart.LoadThumb(null); } if (fanart.IsVignetteLoaded) { fanart.LoadVignette(null); } } if (b.IsLoaded) { b.LoadBanner(null); } Log.Info("Replacing banner " + _banner.Id); } else { Log.Debug("Not replacing banner " + _banner.Id + " because it's not newer than current image"); } found = true; } } if (!found) {//banner not found -> add it to bannerlist Log.Info("Adding banner " + _banner.Id); _series.Banners.Add(_banner); } }