diff --git a/MediaBrowser.Api/Images/ImageRequest.cs b/MediaBrowser.Api/Images/ImageRequest.cs
index 3ea86e01cc..0b6f09c5a2 100644
--- a/MediaBrowser.Api/Images/ImageRequest.cs
+++ b/MediaBrowser.Api/Images/ImageRequest.cs
@@ -46,8 +46,16 @@ namespace MediaBrowser.Api.Images
[ApiMember(Name = "Tag", Description = "Optional. Supply the cache tag from the item object to receive strong caching headers.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public string Tag { get; set; }
- [ApiMember(Name = "CropWhitespace", Description = "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+ [ApiMember(Name = "CropWhitespace", Description = "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
public bool? CropWhitespace { get; set; }
+
+ [ApiMember(Name = "EnableImageEnhancers", Description = "Enable or disable image enhancers such as cover art.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
+ public bool EnableImageEnhancers { get; set; }
+
+ public ImageRequest()
+ {
+ EnableImageEnhancers = true;
+ }
}
///
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index 24fda11fc4..8656d75c0a 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -1,6 +1,4 @@
-using System.Drawing;
-using System.Text;
-using MediaBrowser.Common.Configuration;
+using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.IO;
using MediaBrowser.Common.Net;
@@ -17,6 +15,7 @@ using ServiceStack.ServiceHost;
using ServiceStack.Text.Controller;
using System;
using System.Collections.Generic;
+using System.Drawing;
using System.IO;
using System.Linq;
using System.Threading;
@@ -658,7 +657,7 @@ namespace MediaBrowser.Api.Images
// See if we can avoid a file system lookup by looking for the file in ResolveArgs
var originalFileImageDateModified = kernel.ImageManager.GetImageDateModified(item, request.Type, index);
- var supportedImageEnhancers = kernel.ImageManager.ImageEnhancers.Where(i =>
+ var supportedImageEnhancers = request.EnableImageEnhancers ? kernel.ImageManager.ImageEnhancers.Where(i =>
{
try
{
@@ -671,7 +670,7 @@ namespace MediaBrowser.Api.Images
return false;
}
- }).ToList();
+ }).ToList() : new List();
// If the file does not exist GetLastWriteTimeUtc will return jan 1, 1601 as opposed to throwing an exception
// http://msdn.microsoft.com/en-us/library/system.io.file.getlastwritetimeutc.aspx
diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs
index 412b911f4f..6d5ae0326a 100644
--- a/MediaBrowser.Controller/Dto/DtoBuilder.cs
+++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs
@@ -182,6 +182,8 @@ namespace MediaBrowser.Controller.Dto
return;
}
+ dto.OriginalPrimaryImageAspectRatio = size.Width / size.Height;
+
var supportedEnhancers = Kernel.Instance.ImageManager.ImageEnhancers.Where(i =>
{
try
diff --git a/MediaBrowser.Model/DTO/BaseItemDto.cs b/MediaBrowser.Model/DTO/BaseItemDto.cs
index 05f958f257..9bb91db7f8 100644
--- a/MediaBrowser.Model/DTO/BaseItemDto.cs
+++ b/MediaBrowser.Model/DTO/BaseItemDto.cs
@@ -295,11 +295,17 @@ namespace MediaBrowser.Model.Dto
public List Tags { get; set; }
///
- /// Gets or sets the primary image aspect ratio.
+ /// Gets or sets the primary image aspect ratio, after image enhancements.
///
/// The primary image aspect ratio.
public double? PrimaryImageAspectRatio { get; set; }
+ ///
+ /// Gets or sets the primary image aspect ratio, before image enhancements.
+ ///
+ /// The original primary image aspect ratio.
+ public double? OriginalPrimaryImageAspectRatio { get; set; }
+
///
/// Gets or sets the artists.
///
diff --git a/MediaBrowser.Model/DTO/ImageOptions.cs b/MediaBrowser.Model/DTO/ImageOptions.cs
index 68ca91ed00..45c4695ef2 100644
--- a/MediaBrowser.Model/DTO/ImageOptions.cs
+++ b/MediaBrowser.Model/DTO/ImageOptions.cs
@@ -20,7 +20,7 @@ namespace MediaBrowser.Model.Dto
///
/// The index of the image.
public int? ImageIndex { get; set; }
-
+
///
/// Gets or sets the width.
///
@@ -63,5 +63,16 @@ namespace MediaBrowser.Model.Dto
///
/// null if [crop whitespace] contains no value, true if [crop whitespace]; otherwise, false.
public bool? CropWhitespace { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether [enable image enhancers].
+ ///
+ /// true if [enable image enhancers]; otherwise, false.
+ public bool EnableImageEnhancers { get; set; }
+
+ public ImageOptions()
+ {
+ EnableImageEnhancers = true;
+ }
}
}
diff --git a/MediaBrowser.Model/DTO/UserDto.cs b/MediaBrowser.Model/DTO/UserDto.cs
index bfd8d67cb1..a79ffc08c7 100644
--- a/MediaBrowser.Model/DTO/UserDto.cs
+++ b/MediaBrowser.Model/DTO/UserDto.cs
@@ -58,6 +58,12 @@ namespace MediaBrowser.Model.Dto
/// The primary image aspect ratio.
public double? PrimaryImageAspectRatio { get; set; }
+ ///
+ /// Gets or sets the original primary image aspect ratio.
+ ///
+ /// The original primary image aspect ratio.
+ public double? OriginalPrimaryImageAspectRatio { get; set; }
+
///
/// Gets a value indicating whether this instance has primary image.
///
diff --git a/MediaBrowser.Model/Dto/IItemDto.cs b/MediaBrowser.Model/Dto/IItemDto.cs
index 3e7d1c6085..af46d29b9f 100644
--- a/MediaBrowser.Model/Dto/IItemDto.cs
+++ b/MediaBrowser.Model/Dto/IItemDto.cs
@@ -11,5 +11,11 @@ namespace MediaBrowser.Model.Dto
///
/// The primary image aspect ratio.
double? PrimaryImageAspectRatio { get; set; }
+
+ ///
+ /// Gets or sets the original primary image aspect ratio.
+ ///
+ /// The original primary image aspect ratio.
+ double? OriginalPrimaryImageAspectRatio { get; set; }
}
}
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index b26510d8e9..2beaccd858 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Common.Internal
- 3.0.115
+ 3.0.117
MediaBrowser.Common.Internal
Luke
ebr,Luke,scottisafool
@@ -12,7 +12,7 @@
Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.
Copyright © Media Browser 2013
-
+
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index df46643222..cbf5cb9b66 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Common
- 3.0.115
+ 3.0.117
MediaBrowser.Common
Media Browser Team
ebr,Luke,scottisafool
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index 73376cd25c..090d527825 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
MediaBrowser.Server.Core
- 3.0.115
+ 3.0.117
Media Browser.Server.Core
Media Browser Team
ebr,Luke,scottisafool
@@ -12,7 +12,7 @@
Contains core components required to build plugins for Media Browser Server.
Copyright © Media Browser 2013
-
+