diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-08-08 00:36:51 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-08-08 00:36:51 -0400 |
| commit | 0f508dab47ebcc27d973840d03025f28f52a14b6 (patch) | |
| tree | 15d5b63f2c8cddb71be3ed713a8151d5105b442d | |
| parent | 515f21cc4f844c8f5b4701be84c6d5f290b044f5 (diff) | |
add additional playlist buttons
| -rw-r--r-- | MediaBrowser.Api/Images/ImageService.cs | 37 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 10 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/ItemImageInfo.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Dlna/Didl/DidlBuilder.cs | 35 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs | 27 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json | 3 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Localization/Server/server.json | 3 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Common.Internal.nuspec | 4 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Common.nuspec | 2 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Model.Signed.nuspec | 2 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Server.Core.nuspec | 4 |
11 files changed, 72 insertions, 57 deletions
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index ffbb5229b..ea7eaa947 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -14,7 +14,6 @@ using ServiceStack.Text.Controller; using ServiceStack.Web; using System; using System.Collections.Generic; -using System.Globalization; using System.IO; using System.Linq; using System.Threading; @@ -341,7 +340,7 @@ namespace MediaBrowser.Api.Images ImageIndex = imageIndex, ImageType = info.Type, ImageTag = _imageProcessor.GetImageCacheTag(item, info), - Size = info.Length ?? fileInfo.Length, + Size = fileInfo.Length, Width = Convert.ToInt32(size.Width), Height = Convert.ToInt32(size.Height) }; @@ -365,7 +364,21 @@ namespace MediaBrowser.Api.Images _libraryManager.RootFolder : _libraryManager.GetItemById(request.Id); - return GetImage(request, item); + return GetImage(request, item, false); + } + + /// <summary> + /// Gets the specified request. + /// </summary> + /// <param name="request">The request.</param> + /// <returns>System.Object.</returns> + public object Head(GetItemImage request) + { + var item = string.IsNullOrEmpty(request.Id) ? + _libraryManager.RootFolder : + _libraryManager.GetItemById(request.Id); + + return GetImage(request, item, true); } /// <summary> @@ -377,7 +390,7 @@ namespace MediaBrowser.Api.Images { var item = _userManager.Users.First(i => i.Id == request.Id); - return GetImage(request, item); + return GetImage(request, item, false); } public object Get(GetItemByNameImage request) @@ -387,7 +400,7 @@ namespace MediaBrowser.Api.Images var item = GetItemByName(request.Name, type, _libraryManager); - return GetImage(request, item); + return GetImage(request, item, false); } /// <summary> @@ -484,10 +497,10 @@ namespace MediaBrowser.Api.Images /// </summary> /// <param name="request">The request.</param> /// <param name="item">The item.</param> + /// <param name="isHeadRequest">if set to <c>true</c> [is head request].</param> /// <returns>System.Object.</returns> - /// <exception cref="ResourceNotFoundException"> - /// </exception> - public object GetImage(ImageRequest request, IHasImages item) + /// <exception cref="ResourceNotFoundException"></exception> + public object GetImage(ImageRequest request, IHasImages item, bool isHeadRequest) { var imageInfo = GetImageInfo(request, item); @@ -534,7 +547,8 @@ namespace MediaBrowser.Api.Images supportedImageEnhancers, contentType, cacheDuration, - responseHeaders) + responseHeaders, + isHeadRequest) .Result; } @@ -544,7 +558,8 @@ namespace MediaBrowser.Api.Images List<IImageEnhancer> enhancers, string contentType, TimeSpan? cacheDuration, - IDictionary<string,string> headers) + IDictionary<string,string> headers, + bool isHeadRequest) { var cropwhitespace = request.Type == ImageType.Logo || request.Type == ImageType.Art; @@ -574,7 +589,7 @@ namespace MediaBrowser.Api.Images var file = await _imageProcessor.ProcessImage(options).ConfigureAwait(false); - return ResultFactory.GetStaticFileResult(Request, file, contentType, cacheDuration, FileShare.Read, headers); + return ResultFactory.GetStaticFileResult(Request, file, contentType, cacheDuration, FileShare.Read, headers, isHeadRequest); } private string GetMimeType(ImageOutputFormat format, string path) diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 34056c240..fdffa60d0 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1309,8 +1309,7 @@ namespace MediaBrowser.Controller.Entities { Path = file.FullName, Type = type, - DateModified = FileSystem.GetLastWriteTimeUtc(file), - Length = ((FileInfo)file).Length + DateModified = FileSystem.GetLastWriteTimeUtc(file) }); } else @@ -1421,14 +1420,11 @@ namespace MediaBrowser.Controller.Entities return null; } - var info = new FileInfo(path); - return new ItemImageInfo { Path = path, - DateModified = FileSystem.GetLastWriteTimeUtc(info), - Type = imageType, - Length = info.Length + DateModified = FileSystem.GetLastWriteTimeUtc(path), + Type = imageType }; } diff --git a/MediaBrowser.Controller/Entities/ItemImageInfo.cs b/MediaBrowser.Controller/Entities/ItemImageInfo.cs index fe8193c5f..80aec6482 100644 --- a/MediaBrowser.Controller/Entities/ItemImageInfo.cs +++ b/MediaBrowser.Controller/Entities/ItemImageInfo.cs @@ -10,7 +10,5 @@ namespace MediaBrowser.Controller.Entities public ImageType Type { get; set; } public DateTime DateModified { get; set; } - - public long? Length { get; set; } } } diff --git a/MediaBrowser.Dlna/Didl/DidlBuilder.cs b/MediaBrowser.Dlna/Didl/DidlBuilder.cs index 595e0e00d..279a40a73 100644 --- a/MediaBrowser.Dlna/Didl/DidlBuilder.cs +++ b/MediaBrowser.Dlna/Didl/DidlBuilder.cs @@ -636,18 +636,26 @@ namespace MediaBrowser.Dlna.Didl if (!_profile.EnableAlbumArtInDidl) { - return; + if (!(item is Photo) && !(item is Video)) + { + return; + } } - AddImageResElement(item, element, 4096, 4096, "jpg"); - AddImageResElement(item, element, 4096, 4096, "png"); - AddImageResElement(item, element, 1024, 768, "jpg"); - AddImageResElement(item, element, 640, 480, "jpg"); - AddImageResElement(item, element, 160, 160, "jpg"); - AddImageResElement(item, element, 160, 160, "png"); + AddImageResElement(item, element, 4096, 4096, "jpg", "JPEG_LRG"); + AddImageResElement(item, element, 4096, 4096, "png", "PNG_LRG"); + AddImageResElement(item, element, 1024, 768, "jpg", "JPEG_MED"); + AddImageResElement(item, element, 640, 480, "jpg", "JPEG_SM"); + AddImageResElement(item, element, 160, 160, "jpg", "JPEG_TN"); + AddImageResElement(item, element, 160, 160, "png", "PNG_TN"); } - private void AddImageResElement(BaseItem item, XmlElement element, int maxWidth, int maxHeight, string format) + private void AddImageResElement(BaseItem item, + XmlElement element, + int maxWidth, + int maxHeight, + string format, + string org_Pn) { var imageInfo = GetImageInfo(item); @@ -667,7 +675,8 @@ namespace MediaBrowser.Dlna.Didl var width = albumartUrlInfo.Width; var height = albumartUrlInfo.Height; - var contentFeatures = new ContentFeatureBuilder(_profile).BuildImageHeader(format, width, height, imageInfo.IsDirectStream); + var contentFeatures = new ContentFeatureBuilder(_profile) + .BuildImageHeader(format, width, height, imageInfo.IsDirectStream, org_Pn); res.SetAttribute("protocolInfo", String.Format( "http-get:*:{0}:{1}", @@ -675,14 +684,6 @@ namespace MediaBrowser.Dlna.Didl contentFeatures )); - res.SetAttribute("colorDepth", "24"); - - if (imageInfo.IsDirectStream) - { - var length = imageInfo.ItemImageInfo.Length ?? new FileInfo(imageInfo.File).Length; - res.SetAttribute("size", length.ToString(_usCulture)); - } - if (width.HasValue && height.HasValue) { res.SetAttribute("resolution", string.Format("{0}x{1}", width.Value, height.Value)); diff --git a/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs b/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs index b89d8b73b..98ebfcdf2 100644 --- a/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs +++ b/MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs @@ -15,15 +15,15 @@ namespace MediaBrowser.Model.Dlna public string BuildImageHeader(string container, int? width, int? height, - bool isDirectStream) + bool isDirectStream, + string orgPn = null) { string orgOp = ";DLNA.ORG_OP=" + DlnaMaps.GetImageOrgOpValue(); // 0 = native, 1 = transcoded var orgCi = isDirectStream ? ";DLNA.ORG_CI=0" : ";DLNA.ORG_CI=1"; - DlnaFlags flagValue = DlnaFlags.StreamingTransferMode | - DlnaFlags.BackgroundTransferMode | + DlnaFlags flagValue = DlnaFlags.BackgroundTransferMode | DlnaFlags.InteractiveTransferMode | DlnaFlags.DlnaV15; @@ -34,7 +34,10 @@ namespace MediaBrowser.Model.Dlna width, height); - string orgPn = mediaProfile == null ? null : mediaProfile.OrgPn; + if (string.IsNullOrEmpty(orgPn)) + { + orgPn = mediaProfile == null ? null : mediaProfile.OrgPn; + } if (string.IsNullOrEmpty(orgPn)) { @@ -66,10 +69,10 @@ namespace MediaBrowser.Model.Dlna DlnaFlags.InteractiveTransferMode | DlnaFlags.DlnaV15; - if (isDirectStream) - { - flagValue = flagValue | DlnaFlags.ByteBasedSeek; - } + //if (isDirectStream) + //{ + // flagValue = flagValue | DlnaFlags.ByteBasedSeek; + //} //else if (runtimeTicks.HasValue) //{ // flagValue = flagValue | DlnaFlags.TimeBasedSeek; @@ -125,10 +128,10 @@ namespace MediaBrowser.Model.Dlna DlnaFlags.InteractiveTransferMode | DlnaFlags.DlnaV15; - if (isDirectStream) - { - flagValue = flagValue | DlnaFlags.ByteBasedSeek; - } + //if (isDirectStream) + //{ + // flagValue = flagValue | DlnaFlags.ByteBasedSeek; + //} //else if (runtimeTicks.HasValue) //{ // flagValue = flagValue | DlnaFlags.TimeBasedSeek; diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index b3ddcee79..576f83d2e 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -123,7 +123,8 @@ "HeaderMyViews": "My Views", "HeaderLibraryFolders": "Media Folders", "HeaderLatestMedia": "Latest Media", - "ButtonMore": "More...", + "ButtonMoreItems": "More...", + "ButtonMore": "More", "HeaderFavoriteMovies": "Favorite Movies", "HeaderFavoriteShows": "Favorite Shows", "HeaderFavoriteEpisodes": "Favorite Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index a88ba8592..605bbea0d 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -964,5 +964,6 @@ "OptionReportBooks": "Books", "OptionReportArtists": "Artists", "OptionReportAlbums": "Albums", - "OptionReportAdultVideos": "Adult videos" + "OptionReportAdultVideos": "Adult videos", + "ButtonMore": "More" } diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index a3343b7e6..03fc888db 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>MediaBrowser.Common.Internal</id> - <version>3.0.424</version> + <version>3.0.425</version> <title>MediaBrowser.Common.Internal</title> <authors>Luke</authors> <owners>ebr,Luke,scottisafool</owners> @@ -12,7 +12,7 @@ <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description> <copyright>Copyright © Media Browser 2013</copyright> <dependencies> - <dependency id="MediaBrowser.Common" version="3.0.424" /> + <dependency id="MediaBrowser.Common" version="3.0.425" /> <dependency id="NLog" version="3.1.0.0" /> <dependency id="SimpleInjector" version="2.5.2" /> <dependency id="sharpcompress" version="0.10.2" /> diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index 398f74d6a..7048a961d 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd"> <metadata> <id>MediaBrowser.Common</id> - <version>3.0.424</version> + <version>3.0.425</version> <title>MediaBrowser.Common</title> <authors>Media Browser Team</authors> <owners>ebr,Luke,scottisafool</owners> diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec index 016fbc425..aa7bec8fd 100644 --- a/Nuget/MediaBrowser.Model.Signed.nuspec +++ b/Nuget/MediaBrowser.Model.Signed.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>MediaBrowser.Model.Signed</id> - <version>3.0.424</version> + <version>3.0.425</version> <title>MediaBrowser.Model - Signed Edition</title> <authors>Media Browser Team</authors> <owners>ebr,Luke,scottisafool</owners> diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index 703103ed3..52523d8bb 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <metadata> <id>MediaBrowser.Server.Core</id> - <version>3.0.424</version> + <version>3.0.425</version> <title>Media Browser.Server.Core</title> <authors>Media Browser Team</authors> <owners>ebr,Luke,scottisafool</owners> @@ -12,7 +12,7 @@ <description>Contains core components required to build plugins for Media Browser Server.</description> <copyright>Copyright © Media Browser 2013</copyright> <dependencies> - <dependency id="MediaBrowser.Common" version="3.0.424" /> + <dependency id="MediaBrowser.Common" version="3.0.425" /> </dependencies> </metadata> <files> |
