diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
index c89dcf4a5b..36e6660216 100644
--- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
+++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
@@ -77,6 +77,9 @@
Configuration\BaseApplicationConfiguration.cs
+
+ Configuration\ImageDownloadOptions.cs
+
Configuration\ManualLoginCategory.cs
@@ -146,9 +149,6 @@
Entities\IHasProviderIds.cs
-
- Entities\ImageDownloadOptions.cs
-
Entities\ImageType.cs
diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
index 78f970969b..7937bc403b 100644
--- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
+++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
@@ -64,6 +64,9 @@
Configuration\BaseApplicationConfiguration.cs
+
+ Configuration\ImageDownloadOptions.cs
+
Configuration\ManualLoginCategory.cs
@@ -133,9 +136,6 @@
Entities\IHasProviderIds.cs
-
- Entities\ImageDownloadOptions.cs
-
Entities\ImageType.cs
diff --git a/MediaBrowser.Model/Entities/ImageDownloadOptions.cs b/MediaBrowser.Model/Configuration/ImageDownloadOptions.cs
similarity index 83%
rename from MediaBrowser.Model/Entities/ImageDownloadOptions.cs
rename to MediaBrowser.Model/Configuration/ImageDownloadOptions.cs
index 92e989a348..6031121100 100644
--- a/MediaBrowser.Model/Entities/ImageDownloadOptions.cs
+++ b/MediaBrowser.Model/Configuration/ImageDownloadOptions.cs
@@ -1,5 +1,5 @@
-namespace MediaBrowser.Model.Entities
+namespace MediaBrowser.Model.Configuration
{
///
/// Class ImageDownloadOptions
@@ -62,4 +62,20 @@ namespace MediaBrowser.Model.Entities
Banner = true;
}
}
+
+ ///
+ /// Class MetadataOptions.
+ ///
+ public class MetadataOptions
+ {
+ public int MaxBackdrops { get; set; }
+
+ public int MinBackdropWidth { get; set; }
+
+ public MetadataOptions()
+ {
+ MaxBackdrops = 3;
+ MinBackdropWidth = 1280;
+ }
+ }
}
diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
index 9527fcbf3a..c8c2054040 100644
--- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Weather;
+using MediaBrowser.Model.Weather;
using System;
namespace MediaBrowser.Model.Configuration
@@ -87,12 +86,6 @@ namespace MediaBrowser.Model.Configuration
/// The metadata country code.
public string MetadataCountryCode { get; set; }
- ///
- /// Gets or sets the max backdrops.
- ///
- /// The max backdrops.
- public int MaxBackdrops { get; set; }
-
///
/// Options for specific art to download for movies.
///
@@ -204,18 +197,6 @@ namespace MediaBrowser.Model.Configuration
/// The image saving convention.
public ImageSavingConvention ImageSavingConvention { get; set; }
- ///
- /// Gets or sets the width of the min movie backdrop.
- ///
- /// The width of the min movie backdrop.
- public int MinMovieBackdropDownloadWidth { get; set; }
-
- ///
- /// Gets or sets the width of the min series backdrop.
- ///
- /// The width of the min series backdrop.
- public int MinSeriesBackdropDownloadWidth { get; set; }
-
///
/// Gets or sets a value indicating whether [enable people prefix sub folders].
///
@@ -232,6 +213,12 @@ namespace MediaBrowser.Model.Configuration
public bool EnableEpisodeChapterImageExtraction { get; set; }
public bool EnableOtherVideoChapterImageExtraction { get; set; }
+ public MetadataOptions MovieOptions { get; set; }
+ public MetadataOptions TvOptions { get; set; }
+ public MetadataOptions MusicOptions { get; set; }
+ public MetadataOptions GameOptions { get; set; }
+ public MetadataOptions BookOptions { get; set; }
+
///
/// Initializes a new instance of the class.
///
@@ -272,7 +259,6 @@ namespace MediaBrowser.Model.Configuration
};
DownloadMusicArtistImages = new ImageDownloadOptions();
DownloadMusicAlbumImages = new ImageDownloadOptions();
- MaxBackdrops = 3;
SortReplaceCharacters = new[] { ".", "+", "%" };
SortRemoveCharacters = new[] { ",", "&", "-", "{", "}", "'" };
@@ -280,8 +266,20 @@ namespace MediaBrowser.Model.Configuration
SeasonZeroDisplayName = "Specials";
- MinMovieBackdropDownloadWidth = 1280;
- MinSeriesBackdropDownloadWidth = 1280;
+ MovieOptions = new MetadataOptions();
+ TvOptions = new MetadataOptions();
+
+ MusicOptions = new MetadataOptions()
+ {
+ MaxBackdrops = 1
+ };
+
+ GameOptions = new MetadataOptions();
+
+ BookOptions = new MetadataOptions
+ {
+ MaxBackdrops = 1
+ };
}
}
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index 2bebe7ee56..05bc0a40d7 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -118,7 +118,7 @@
-
+
diff --git a/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
index 3ee273145a..2682cf3c0d 100644
--- a/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
+++ b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
@@ -300,7 +300,7 @@ namespace MediaBrowser.Providers.Movies
cancellationToken.ThrowIfCancellationRequested();
- var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops;
+ var backdropLimit = ConfigurationManager.Configuration.MovieOptions.MaxBackdrops;
if (ConfigurationManager.Configuration.DownloadMovieImages.Backdrops &&
item.BackdropImagePaths.Count < backdropLimit)
{
diff --git a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
index 6ea8e699ac..4416671fa5 100644
--- a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
@@ -132,8 +132,8 @@ namespace MediaBrowser.Providers.Movies
}
// Don't refresh if we already have both poster and backdrop and we're not refreshing images
- if (item.HasImage(ImageType.Primary) &&
- item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MaxBackdrops &&
+ if (item.HasImage(ImageType.Primary) &&
+ item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MovieOptions.MaxBackdrops &&
!item.LockedFields.Contains(MetadataFields.Images))
{
return false;
@@ -211,10 +211,10 @@ namespace MediaBrowser.Providers.Movies
cancellationToken.ThrowIfCancellationRequested();
var eligibleBackdrops = images
- .Where(i => i.Type == ImageType.Backdrop && i.Width.HasValue && i.Width.Value >= ConfigurationManager.Configuration.MinMovieBackdropDownloadWidth)
+ .Where(i => i.Type == ImageType.Backdrop && i.Width.HasValue && i.Width.Value >= ConfigurationManager.Configuration.MovieOptions.MinBackdropWidth)
.ToList();
- var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops;
+ var backdropLimit = ConfigurationManager.Configuration.MovieOptions.MaxBackdrops;
// backdrops - only download if earlier providers didn't find any (fanart)
if (eligibleBackdrops.Count > 0 &&
diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
index 454d56daf4..b248fcb40b 100644
--- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
+++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
@@ -302,7 +302,7 @@ namespace MediaBrowser.Providers.Music
{
cancellationToken.ThrowIfCancellationRequested();
- var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops;
+ var backdropLimit = ConfigurationManager.Configuration.MusicOptions.MaxBackdrops;
if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops &&
item.BackdropImagePaths.Count < backdropLimit)
{
diff --git a/MediaBrowser.Providers/TV/FanArtTVProvider.cs b/MediaBrowser.Providers/TV/FanArtTVProvider.cs
index d939951fb8..286702b8c6 100644
--- a/MediaBrowser.Providers/TV/FanArtTVProvider.cs
+++ b/MediaBrowser.Providers/TV/FanArtTVProvider.cs
@@ -238,7 +238,7 @@ namespace MediaBrowser.Providers.TV
{
cancellationToken.ThrowIfCancellationRequested();
- var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops;
+ var backdropLimit = ConfigurationManager.Configuration.TvOptions.MaxBackdrops;
if (ConfigurationManager.Configuration.DownloadSeriesImages.Backdrops &&
item.BackdropImagePaths.Count < backdropLimit)
{
diff --git a/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
index 9220b8fa06..21a72dd578 100644
--- a/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
@@ -137,7 +137,7 @@ namespace MediaBrowser.Providers.TV
protected override bool NeedsRefreshInternal(BaseItem item, BaseProviderInfo providerInfo)
{
- if (item.HasImage(ImageType.Primary) && item.HasImage(ImageType.Banner) && item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MaxBackdrops)
+ if (item.HasImage(ImageType.Primary) && item.HasImage(ImageType.Banner) && item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.TvOptions.MaxBackdrops)
{
return false;
}
@@ -196,7 +196,7 @@ namespace MediaBrowser.Providers.TV
{
foreach (var backdrop in images.Where(i => i.Type == ImageType.Backdrop &&
(!i.Width.HasValue ||
- i.Width.Value >= ConfigurationManager.Configuration.MinSeriesBackdropDownloadWidth)))
+ i.Width.Value >= ConfigurationManager.Configuration.TvOptions.MinBackdropWidth)))
{
var url = backdrop.Url;
diff --git a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
index 7ce0cad739..7ddf63cf8c 100644
--- a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
@@ -228,17 +228,12 @@ namespace MediaBrowser.Server.Implementations.Drawing
// Graphics.FromImage will throw an exception if the PixelFormat is Indexed, so we need to handle that here
using (var thumbnail = new Bitmap(newWidth, newHeight, PixelFormat.Format32bppPArgb))
{
- #if __MonoCS__
// Mono throw an exeception if assign 0 to SetResolution
- if (originalImage.HorizontalResolution != 0 && originalImage.VerticalResolution != 0)
+ if (originalImage.HorizontalResolution >= 0 && originalImage.VerticalResolution >= 0)
{
// Preserve the original resolution
thumbnail.SetResolution(originalImage.HorizontalResolution, originalImage.VerticalResolution);
}
- #else
- // Preserve the original resolution
- thumbnail.SetResolution(originalImage.HorizontalResolution, originalImage.VerticalResolution);
- #endif
using (var thumbnailGraph = Graphics.FromImage(thumbnail))
{
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index e68abd23e0..8c775fc151 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -472,7 +472,7 @@ namespace MediaBrowser.WebDashboard.Api
"alphapicker.js",
"addpluginpage.js",
"advancedconfigurationpage.js",
- "advancedmetadataconfigurationpage.js",
+ "metadataadvanced.js",
"boxsets.js",
"appsplayback.js",
"appsweather.js",
@@ -510,7 +510,6 @@ namespace MediaBrowser.WebDashboard.Api
"mediaplayer.js",
"metadataconfigurationpage.js",
"metadataimagespage.js",
- "metadataimageextraction.js",
"moviegenres.js",
"movies.js",
"moviepeople.js",
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index d441abfeb9..3ae7e7f1d9 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -154,9 +154,6 @@
PreserveNewest
-
- PreserveNewest
-
PreserveNewest
@@ -436,9 +433,6 @@
PreserveNewest
-
- PreserveNewest
-
PreserveNewest
@@ -1531,12 +1525,12 @@
-
+
PreserveNewest
-
+
PreserveNewest