From 2ac714e761cabb1a1b8385e2fbe82649037fbcee Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 19 Jun 2013 09:54:45 -0400 Subject: [PATCH] use global image settings --- MediaBrowser.Api/LibraryService.cs | 2 -- MediaBrowser.Controller/Dto/DtoBuilder.cs | 1 - MediaBrowser.Controller/Entities/BaseItem.cs | 7 ------- MediaBrowser.Model/Dto/BaseItemDto.cs | 6 ------ .../Movies/FanArtMovieProvider.cs | 10 +++++----- .../Movies/MovieDbImagesProvider.cs | 4 ++-- .../Movies/TmdbPersonProvider.cs | 2 +- .../Music/FanArtAlbumProvider.cs | 4 ++-- .../Music/FanArtArtistProvider.cs | 14 +++++++------- MediaBrowser.Providers/TV/FanArtSeasonProvider.cs | 2 +- MediaBrowser.Providers/TV/FanArtTVProvider.cs | 10 +++++----- MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs | 2 +- MediaBrowser.Providers/TV/RemoteSeasonProvider.cs | 6 +++--- .../TV/TvdbSeriesImageProvider.cs | 6 +++--- 14 files changed, 30 insertions(+), 46 deletions(-) diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs index ef4602b8f6..341ca2f42f 100644 --- a/MediaBrowser.Api/LibraryService.cs +++ b/MediaBrowser.Api/LibraryService.cs @@ -269,12 +269,10 @@ namespace MediaBrowser.Api if (request.EnableInternetProviders ?? true) { item.LockedFields = request.LockedFields; - item.LockedImages = request.LockedImages; } else { item.LockedFields.Clear(); - item.LockedImages.Clear(); } foreach (var pair in request.ProviderIds.ToList()) diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs index 11cf5b1529..05092ca2d7 100644 --- a/MediaBrowser.Controller/Dto/DtoBuilder.cs +++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs @@ -238,7 +238,6 @@ namespace MediaBrowser.Controller.Dto if (fields.Contains(ItemFields.MetadataSettings)) { dto.LockedFields = item.LockedFields; - dto.LockedImages = item.LockedImages; dto.EnableInternetProviders = !item.DontFetchMeta; } diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index bd2f5ef712..cfabbbadb9 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -41,7 +41,6 @@ namespace MediaBrowser.Controller.Entities ThemeVideoIds = new List(); LocalTrailerIds = new List(); LockedFields = new List(); - LockedImages = new List(); } /// @@ -166,12 +165,6 @@ namespace MediaBrowser.Controller.Entities /// The locked fields. public List LockedFields { get; set; } - /// - /// Gets or sets the locked images. - /// - /// The locked images. - public List LockedImages { get; set; } - /// /// Determines whether the item has a saved local image of the specified name (jpg or png). /// diff --git a/MediaBrowser.Model/Dto/BaseItemDto.cs b/MediaBrowser.Model/Dto/BaseItemDto.cs index 85b286f9cd..e6a11e968e 100644 --- a/MediaBrowser.Model/Dto/BaseItemDto.cs +++ b/MediaBrowser.Model/Dto/BaseItemDto.cs @@ -470,12 +470,6 @@ namespace MediaBrowser.Model.Dto /// The locked fields. public List LockedFields { get; set; } - /// - /// Gets or sets the locked images. - /// - /// The locked images. - public List LockedImages { get; set; } - /// /// Gets or sets a value indicating whether [enable internet providers]. /// diff --git a/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs index 5245dca5f2..b34a692d3e 100644 --- a/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs +++ b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs @@ -310,7 +310,7 @@ namespace MediaBrowser.Providers.Movies string path; var hd = ConfigurationManager.Configuration.DownloadHDFanArt ? "hd" : ""; - if (ConfigurationManager.Configuration.DownloadMovieImages.Logo && !item.HasImage(ImageType.Logo) && !item.LockedImages.Contains(ImageType.Logo)) + if (ConfigurationManager.Configuration.DownloadMovieImages.Logo && !item.HasImage(ImageType.Logo)) { var node = doc.SelectSingleNode("//fanart/movie/movielogos/" + hd + "movielogo[@lang = \"" + language + "\"]/@url") ?? @@ -328,7 +328,7 @@ namespace MediaBrowser.Providers.Movies } cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadMovieImages.Art && !item.HasImage(ImageType.Art) && !item.LockedImages.Contains(ImageType.Art)) + if (ConfigurationManager.Configuration.DownloadMovieImages.Art && !item.HasImage(ImageType.Art)) { var node = doc.SelectSingleNode("//fanart/movie/moviearts/" + hd + "movieart[@lang = \"" + language + "\"]/@url") ?? @@ -343,7 +343,7 @@ namespace MediaBrowser.Providers.Movies } cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadMovieImages.Disc && !item.HasImage(ImageType.Disc) && !item.LockedImages.Contains(ImageType.Disc)) + if (ConfigurationManager.Configuration.DownloadMovieImages.Disc && !item.HasImage(ImageType.Disc)) { var node = doc.SelectSingleNode("//fanart/movie/moviediscs/moviedisc[@lang = \"" + language + "\"]/@url") ?? doc.SelectSingleNode("//fanart/movie/moviediscs/moviedisc/@url"); @@ -356,7 +356,7 @@ namespace MediaBrowser.Providers.Movies cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadMovieImages.Banner && !item.HasImage(ImageType.Banner) && !item.LockedImages.Contains(ImageType.Banner)) + if (ConfigurationManager.Configuration.DownloadMovieImages.Banner && !item.HasImage(ImageType.Banner)) { var node = doc.SelectSingleNode("//fanart/movie/moviebanners/moviebanner[@lang = \"" + language + "\"]/@url") ?? doc.SelectSingleNode("//fanart/movie/moviebanners/moviebanner/@url"); @@ -369,7 +369,7 @@ namespace MediaBrowser.Providers.Movies cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadMovieImages.Thumb && !item.HasImage(ImageType.Thumb) && !item.LockedImages.Contains(ImageType.Thumb)) + if (ConfigurationManager.Configuration.DownloadMovieImages.Thumb && !item.HasImage(ImageType.Thumb)) { var node = doc.SelectSingleNode("//fanart/movie/moviethumbs/moviethumb[@lang = \"" + language + "\"]/@url") ?? doc.SelectSingleNode("//fanart/movie/moviethumbs/moviethumb/@url"); diff --git a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs index 6b2d5b48ba..ea806c27ff 100644 --- a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs +++ b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs @@ -220,7 +220,7 @@ namespace MediaBrowser.Providers.Movies var status = ProviderRefreshStatus.Success; // poster - if (images.posters != null && images.posters.Count > 0 && !item.HasImage(ImageType.Primary) && !item.LockedImages.Contains(ImageType.Primary)) + if (images.posters != null && images.posters.Count > 0 && !item.HasImage(ImageType.Primary)) { var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); @@ -261,7 +261,7 @@ namespace MediaBrowser.Providers.Movies cancellationToken.ThrowIfCancellationRequested(); // backdrops - only download if earlier providers didn't find any (fanart) - if (images.backdrops != null && images.backdrops.Count > 0 && ConfigurationManager.Configuration.DownloadMovieImages.Backdrops && item.BackdropImagePaths.Count == 0 && !item.LockedImages.Contains(ImageType.Backdrop)) + if (images.backdrops != null && images.backdrops.Count > 0 && ConfigurationManager.Configuration.DownloadMovieImages.Backdrops && item.BackdropImagePaths.Count == 0) { var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); diff --git a/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs b/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs index 6fe4d3c7c0..1b02aec3d2 100644 --- a/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs +++ b/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs @@ -265,7 +265,7 @@ namespace MediaBrowser.Providers.Movies //still nothing - just get first one profile = searchResult.profiles[0]; } - if (profile != null && !person.HasImage(ImageType.Primary) && !person.LockedImages.Contains(ImageType.Primary)) + if (profile != null && !person.HasImage(ImageType.Primary)) { var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); diff --git a/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs index 4c7251d040..c424c13e59 100644 --- a/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs @@ -187,7 +187,7 @@ namespace MediaBrowser.Providers.Music cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadMusicAlbumImages.Disc && !item.HasImage(ImageType.Disc) && !item.LockedImages.Contains(ImageType.Disc)) + if (ConfigurationManager.Configuration.DownloadMusicAlbumImages.Disc && !item.HasImage(ImageType.Disc)) { // Try try with the release entry Id, if that doesn't produce anything try the release group id var node = doc.SelectSingleNode("//fanart/music/albums/album[@id=\"" + releaseEntryId + "\"]/cdart/@url"); @@ -205,7 +205,7 @@ namespace MediaBrowser.Providers.Music } } - if (ConfigurationManager.Configuration.DownloadMusicAlbumImages.Primary && !item.HasImage(ImageType.Primary) && !item.LockedImages.Contains(ImageType.Primary)) + if (ConfigurationManager.Configuration.DownloadMusicAlbumImages.Primary && !item.HasImage(ImageType.Primary)) { // Try try with the release entry Id, if that doesn't produce anything try the release group id var node = doc.SelectSingleNode("//fanart/music/albums/album[@id=\"" + releaseEntryId + "\"]/albumcover/@url"); diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs index 89bcd6164c..b92d4ad0ed 100644 --- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs @@ -250,7 +250,7 @@ namespace MediaBrowser.Providers.Music } data.Data = GetComparisonData(item); - + SetLastRefreshed(item, DateTime.UtcNow); return true; } @@ -284,7 +284,7 @@ namespace MediaBrowser.Providers.Music } } } - + /// /// Fetches from XML. /// @@ -301,7 +301,7 @@ namespace MediaBrowser.Providers.Music string path; var hd = ConfigurationManager.Configuration.DownloadHDFanArt ? "hd" : ""; - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Logo && !item.HasImage(ImageType.Logo) && !item.LockedImages.Contains(ImageType.Logo)) + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Logo && !item.HasImage(ImageType.Logo)) { var node = doc.SelectSingleNode("//fanart/music/musiclogos/" + hd + "musiclogo/@url") ?? @@ -314,7 +314,7 @@ namespace MediaBrowser.Providers.Music } cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops && item.BackdropImagePaths.Count == 0 && !item.LockedImages.Contains(ImageType.Backdrop)) + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops && item.BackdropImagePaths.Count == 0) { var nodes = doc.SelectNodes("//fanart/music/artistbackgrounds//@url"); if (nodes != null) @@ -338,7 +338,7 @@ namespace MediaBrowser.Providers.Music cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Art && !item.HasImage(ImageType.Art) && !item.LockedImages.Contains(ImageType.Art)) + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Art && !item.HasImage(ImageType.Art)) { var node = doc.SelectSingleNode("//fanart/music/musicarts/" + hd + "musicart/@url") ?? @@ -351,7 +351,7 @@ namespace MediaBrowser.Providers.Music } cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Banner && !item.HasImage(ImageType.Banner) && !item.LockedImages.Contains(ImageType.Banner)) + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Banner && !item.HasImage(ImageType.Banner)) { var node = doc.SelectSingleNode("//fanart/music/musicbanners/" + hd + "musicbanner/@url") ?? doc.SelectSingleNode("//fanart/music/musicbanners/musicbanner/@url"); @@ -365,7 +365,7 @@ namespace MediaBrowser.Providers.Music cancellationToken.ThrowIfCancellationRequested(); // Artist thumbs are actually primary images (they are square/portrait) - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Primary && !item.HasImage(ImageType.Primary) && !item.LockedImages.Contains(ImageType.Primary)) + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Primary && !item.HasImage(ImageType.Primary)) { var node = doc.SelectSingleNode("//fanart/music/artistthumbs/artistthumb/@url"); path = node != null ? node.Value : null; diff --git a/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs index ee9066773a..e2ac534149 100644 --- a/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs +++ b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs @@ -165,7 +165,7 @@ namespace MediaBrowser.Providers.TV var language = ConfigurationManager.Configuration.PreferredMetadataLanguage.ToLower(); - if (ConfigurationManager.Configuration.DownloadSeasonImages.Thumb && !season.HasImage(ImageType.Thumb) && !season.LockedImages.Contains(ImageType.Thumb)) + if (ConfigurationManager.Configuration.DownloadSeasonImages.Thumb && !season.HasImage(ImageType.Thumb)) { var node = doc.SelectSingleNode("//fanart/series/seasonthumbs/seasonthumb[@lang = \"" + language + "\"][@season = \"" + seasonNumber + "\"]/@url") ?? doc.SelectSingleNode("//fanart/series/seasonthumbs/seasonthumb[@season = \"" + seasonNumber + "\"]/@url"); diff --git a/MediaBrowser.Providers/TV/FanArtTVProvider.cs b/MediaBrowser.Providers/TV/FanArtTVProvider.cs index bc36d50eeb..ea0a1c1289 100644 --- a/MediaBrowser.Providers/TV/FanArtTVProvider.cs +++ b/MediaBrowser.Providers/TV/FanArtTVProvider.cs @@ -225,7 +225,7 @@ namespace MediaBrowser.Providers.TV var language = ConfigurationManager.Configuration.PreferredMetadataLanguage.ToLower(); var hd = ConfigurationManager.Configuration.DownloadHDFanArt ? "hdtv" : "clear"; - if (ConfigurationManager.Configuration.DownloadSeriesImages.Logo && !item.HasImage(ImageType.Logo) && !item.LockedImages.Contains(ImageType.Logo)) + if (ConfigurationManager.Configuration.DownloadSeriesImages.Logo && !item.HasImage(ImageType.Logo)) { var node = doc.SelectSingleNode("//fanart/series/" + hd + "logos/" + hd + "logo[@lang = \"" + language + "\"]/@url") ?? doc.SelectSingleNode("//fanart/series/clearlogos/clearlogo[@lang = \"" + language + "\"]/@url") ?? @@ -241,7 +241,7 @@ namespace MediaBrowser.Providers.TV cancellationToken.ThrowIfCancellationRequested(); hd = ConfigurationManager.Configuration.DownloadHDFanArt ? "hd" : ""; - if (ConfigurationManager.Configuration.DownloadSeriesImages.Art && !item.HasImage(ImageType.Art) && !item.LockedImages.Contains(ImageType.Art)) + if (ConfigurationManager.Configuration.DownloadSeriesImages.Art && !item.HasImage(ImageType.Art)) { var node = doc.SelectSingleNode("//fanart/series/" + hd + "cleararts/" + hd + "clearart[@lang = \"" + language + "\"]/@url") ?? doc.SelectSingleNode("//fanart/series/cleararts/clearart[@lang = \"" + language + "\"]/@url") ?? @@ -256,7 +256,7 @@ namespace MediaBrowser.Providers.TV cancellationToken.ThrowIfCancellationRequested(); - if (ConfigurationManager.Configuration.DownloadSeriesImages.Thumb && !item.HasImage(ImageType.Thumb) && !item.LockedImages.Contains(ImageType.Thumb)) + if (ConfigurationManager.Configuration.DownloadSeriesImages.Thumb && !item.HasImage(ImageType.Thumb)) { var node = doc.SelectSingleNode("//fanart/series/tvthumbs/tvthumb[@lang = \"" + language + "\"]/@url") ?? doc.SelectSingleNode("//fanart/series/tvthumbs/tvthumb/@url"); @@ -267,7 +267,7 @@ namespace MediaBrowser.Providers.TV } } - if (ConfigurationManager.Configuration.DownloadSeriesImages.Banner && !item.HasImage(ImageType.Banner) && !item.LockedImages.Contains(ImageType.Banner)) + if (ConfigurationManager.Configuration.DownloadSeriesImages.Banner && !item.HasImage(ImageType.Banner)) { var node = doc.SelectSingleNode("//fanart/series/tbbanners/tvbanner[@lang = \"" + language + "\"]/@url") ?? doc.SelectSingleNode("//fanart/series/tbbanners/tvbanner/@url"); @@ -278,7 +278,7 @@ namespace MediaBrowser.Providers.TV } } - if (ConfigurationManager.Configuration.DownloadMovieImages.Backdrops && item.BackdropImagePaths.Count == 0 && !item.LockedImages.Contains(ImageType.Backdrop)) + if (ConfigurationManager.Configuration.DownloadMovieImages.Backdrops && item.BackdropImagePaths.Count == 0) { var nodes = doc.SelectNodes("//fanart/series/showbackgrounds//@url"); diff --git a/MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs b/MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs index e67dd254b5..66da6d101e 100644 --- a/MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs @@ -287,7 +287,7 @@ namespace MediaBrowser.Providers.TV var doc = new XmlDocument(); doc.LoadXml(episodeNode.OuterXml); - if (!episode.HasImage(ImageType.Primary) && !episode.LockedImages.Contains(ImageType.Primary)) + if (!episode.HasImage(ImageType.Primary)) { var p = doc.SafeGetString("//filename"); if (p != null) diff --git a/MediaBrowser.Providers/TV/RemoteSeasonProvider.cs b/MediaBrowser.Providers/TV/RemoteSeasonProvider.cs index 3e36d92894..513349db74 100644 --- a/MediaBrowser.Providers/TV/RemoteSeasonProvider.cs +++ b/MediaBrowser.Providers/TV/RemoteSeasonProvider.cs @@ -213,7 +213,7 @@ namespace MediaBrowser.Providers.TV return; } - if (!season.HasImage(ImageType.Primary) && !season.LockedImages.Contains(ImageType.Primary)) + if (!season.HasImage(ImageType.Primary)) { var n = images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='season'][Season='" + seasonNumber + "'][Language='" + ConfigurationManager.Configuration.PreferredMetadataLanguage + "']") ?? images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='season'][Season='" + seasonNumber + "'][Language='en']"); @@ -226,7 +226,7 @@ namespace MediaBrowser.Providers.TV } } - if (ConfigurationManager.Configuration.DownloadSeasonImages.Banner && !season.HasImage(ImageType.Banner) && !season.LockedImages.Contains(ImageType.Banner)) + if (ConfigurationManager.Configuration.DownloadSeasonImages.Banner && !season.HasImage(ImageType.Banner)) { var n = images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='seasonwide'][Season='" + seasonNumber + "'][Language='" + ConfigurationManager.Configuration.PreferredMetadataLanguage + "']") ?? images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='seasonwide'][Season='" + seasonNumber + "'][Language='en']"); @@ -261,7 +261,7 @@ namespace MediaBrowser.Providers.TV } } - if (ConfigurationManager.Configuration.DownloadSeasonImages.Backdrops && season.BackdropImagePaths.Count == 0 && !season.LockedImages.Contains(ImageType.Backdrop)) + if (ConfigurationManager.Configuration.DownloadSeasonImages.Backdrops && season.BackdropImagePaths.Count == 0) { var n = images.SelectSingleNode("//Banner[BannerType='fanart'][Season='" + seasonNumber + "']"); if (n != null) diff --git a/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs index 3a54c784e7..98cc28721e 100644 --- a/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs +++ b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs @@ -215,7 +215,7 @@ namespace MediaBrowser.Providers.TV /// Task. private async Task FetchImages(Series series, XmlDocument images, CancellationToken cancellationToken) { - if (!series.HasImage(ImageType.Primary) && !series.LockedImages.Contains(ImageType.Primary)) + if (!series.HasImage(ImageType.Primary)) { var n = images.SelectSingleNode("//Banner[BannerType='poster']"); if (n != null) @@ -230,7 +230,7 @@ namespace MediaBrowser.Providers.TV } } - if (ConfigurationManager.Configuration.DownloadSeriesImages.Banner && !series.HasImage(ImageType.Banner) && !series.LockedImages.Contains(ImageType.Banner)) + if (ConfigurationManager.Configuration.DownloadSeriesImages.Banner && !series.HasImage(ImageType.Banner)) { var n = images.SelectSingleNode("//Banner[BannerType='series']"); if (n != null) @@ -245,7 +245,7 @@ namespace MediaBrowser.Providers.TV } } - if (series.BackdropImagePaths.Count == 0 && !series.LockedImages.Contains(ImageType.Backdrop)) + if (series.BackdropImagePaths.Count == 0) { var bdNo = series.BackdropImagePaths.Count;