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 - +