diff --git a/MediaBrowser.Api/Dlna/DlnaServerService.cs b/MediaBrowser.Api/Dlna/DlnaServerService.cs index 24a6c52d02..29b7bf682c 100644 --- a/MediaBrowser.Api/Dlna/DlnaServerService.cs +++ b/MediaBrowser.Api/Dlna/DlnaServerService.cs @@ -72,21 +72,21 @@ namespace MediaBrowser.Api.Dlna [Route("/Dlna/{UuId}/mediareceiverregistrar/events", Summary = "Processes an event subscription request")] public class ProcessMediaReceiverRegistrarEventRequest { - [ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")] + [ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "SUBSCRIBE,POST")] public string UuId { get; set; } } [Route("/Dlna/{UuId}/contentdirectory/events", Summary = "Processes an event subscription request")] public class ProcessContentDirectoryEventRequest { - [ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")] + [ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "SUBSCRIBE,POST")] public string UuId { get; set; } } [Route("/Dlna/{UuId}/connectionmanager/events", Summary = "Processes an event subscription request")] public class ProcessConnectionManagerEventRequest { - [ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")] + [ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "SUBSCRIBE,POST")] public string UuId { get; set; } } diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index f141d9df92..e29bbf6743 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -10,7 +10,6 @@ using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using ServiceStack; -using ServiceStack.Text.Controller; using ServiceStack.Web; using System; using System.Collections.Generic; diff --git a/MediaBrowser.Dlna/PlayTo/PlayToManager.cs b/MediaBrowser.Dlna/PlayTo/PlayToManager.cs index 5e37417c66..24e1ef1133 100644 --- a/MediaBrowser.Dlna/PlayTo/PlayToManager.cs +++ b/MediaBrowser.Dlna/PlayTo/PlayToManager.cs @@ -148,7 +148,7 @@ namespace MediaBrowser.Dlna.PlayTo private string GetServerAddress(IPAddress localIp) { - return string.Format("{0}://{1}:{2}/mediabrowser", + return string.Format("{0}://{1}:{2}", "http", localIp, diff --git a/MediaBrowser.RokuMetadata/MediaBrowser.RokuMetadata.csproj b/MediaBrowser.RokuMetadata/MediaBrowser.RokuMetadata.csproj new file mode 100644 index 0000000000..32036ee7d0 --- /dev/null +++ b/MediaBrowser.RokuMetadata/MediaBrowser.RokuMetadata.csproj @@ -0,0 +1,70 @@ + + + + + Debug + AnyCPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63} + Library + Properties + MediaBrowser.RokuMetadata + MediaBrowser.RokuMetadata + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + Properties\SharedVersion.cs + + + + + + + {9142eefa-7570-41e1-bfcc-468bb571af2f} + MediaBrowser.Common + + + {17e1f4e6-8abd-4fe5-9ecf-43d4b6087ba2} + MediaBrowser.Controller + + + {7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b} + MediaBrowser.Model + + + + + \ No newline at end of file diff --git a/MediaBrowser.RokuMetadata/Properties/AssemblyInfo.cs b/MediaBrowser.RokuMetadata/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..51a7da718b --- /dev/null +++ b/MediaBrowser.RokuMetadata/Properties/AssemblyInfo.cs @@ -0,0 +1,31 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MediaBrowser.RokuMetadata")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MediaBrowser.RokuMetadata")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("213031fd-f692-45b5-8a9d-f7114460b13c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// diff --git a/MediaBrowser.RokuMetadata/RokuBifScheduledTask.cs b/MediaBrowser.RokuMetadata/RokuBifScheduledTask.cs new file mode 100644 index 0000000000..246a40e6d2 --- /dev/null +++ b/MediaBrowser.RokuMetadata/RokuBifScheduledTask.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MediaBrowser.RokuMetadata +{ + public class RokuBifScheduledTask + { + } +} diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index 93ef75dc33..a3a65f538e 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -32,7 +32,7 @@ "LabelEnableVideoImageExtraction": "Enable video image extraction", "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", "HeaderTermsOfService": "Media Browser Terms of Service", @@ -346,7 +346,7 @@ "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", - "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task at 4am. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "LabelMetadataDownloadLanguage": "Preferred download language:", "ButtonAutoScroll": "Auto-scroll", "LabelImageSavingConvention": "Image saving convention:", @@ -826,7 +826,7 @@ "HeaderDownloadSubtitlesFor": "Download subtitles for:", "MessageNoChapterProviders": "Install a chapter provider plugin such as ChapterDb to enable additional chapter options.", "LabelSkipIfGraphicalSubsPresent": "Skip if the video already contains graphical subtitles", - "LabelSkipIfGraphicalSubsPresentHelp": "Keeping text versions of subtitles will result in more efficient delivery to mobile clients.", + "LabelSkipIfGraphicalSubsPresentHelp": "Keeping text versions of subtitles will result in more efficient delivery and decrease the likelihood of video transcoding.", "TabSubtitles": "Subtitles", "TabChapters": "Chapters", "HeaderDownloadChaptersFor": "Download chapter names for:", @@ -962,9 +962,9 @@ "LabelProtocolInfo": "Protocol info:", "LabelProtocolInfoHelp": "The value that will be used when responding to GetProtocolInfo requests from the device.", "TabNfo": "Nfo", - "HeaderKodiMetadataHelp": "Media Browser includes native support for Kodi Nfo metadata and images. To enable or disable Kodi metadata, use the Advanced tab to configure options for your media types.", + "HeaderKodiMetadataHelp": "Media Browser includes native support for Nfo metadata files. To enable or disable Nfo metadata, use the Advanced tab to configure options for your media types.", "LabelKodiMetadataUser": "Sync user watch data to nfo's for:", - "LabelKodiMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Kodi.", + "LabelKodiMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Nfo files.", "LabelKodiMetadataDateFormat": "Release date format:", "LabelKodiMetadataDateFormatHelp": "All dates within nfo's will be read and written to using this format.", "LabelKodiMetadataSaveImagePaths": "Save image paths within nfo files", @@ -1264,8 +1264,6 @@ "LabelSubtitleFormatHelp": "Example: srt", "ButtonLearnMore": "Learn more", "TabPlayback": "Playback", - "HeaderTrailersAndExtras": "Trailers & Extras", - "OptionFindTrailers": "Find trailers from the internet automatically", "HeaderLanguagePreferences": "Language Preferences", "TabCinemaMode": "Cinema Mode", "TitlePlayback": "Playback", diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj index 232caba4ff..8cd49af163 100644 --- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj +++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj @@ -83,6 +83,10 @@ + + {65ea8ac3-7c44-43ff-9726-847a17daff63} + MediaBrowser.RokuMetadata + {b90ab8f2-1bff-4568-a3fd-2a338a435a75} MediaBrowser.Server.Startup.Common diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index 1ded0c254a..4ba7afc81e 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -56,6 +56,7 @@ using MediaBrowser.Model.Updates; using MediaBrowser.Providers.Chapters; using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Subtitles; +using MediaBrowser.RokuMetadata; using MediaBrowser.Server.Implementations; using MediaBrowser.Server.Implementations.Activity; using MediaBrowser.Server.Implementations.Channels; @@ -961,6 +962,9 @@ namespace MediaBrowser.Server.Startup.Common // Xbmc list.Add(typeof(ArtistNfoProvider).Assembly); + // Roku + list.Add(typeof(RokuBifScheduledTask).Assembly); + list.AddRange(NativeApp.GetAssembliesWithParts()); // Include composable parts in the running assembly diff --git a/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj b/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj index 38e07fde49..24a33ada74 100644 --- a/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj +++ b/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj @@ -112,6 +112,10 @@ {442b5058-dcaf-4263-bb6a-f21e31120a1b} MediaBrowser.Providers + + {65ea8ac3-7c44-43ff-9726-847a17daff63} + MediaBrowser.RokuMetadata + {2e781478-814d-4a48-9d80-bff206441a65} MediaBrowser.Server.Implementations diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index 8df2d3ab06..09c175f5d7 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -215,6 +215,10 @@ {442b5058-dcaf-4263-bb6a-f21e31120a1b} MediaBrowser.Providers + + {65ea8ac3-7c44-43ff-9726-847a17daff63} + MediaBrowser.RokuMetadata + {2e781478-814d-4a48-9d80-bff206441a65} MediaBrowser.Server.Implementations diff --git a/MediaBrowser.sln b/MediaBrowser.sln index f73971374a..020fa1ea50 100644 --- a/MediaBrowser.sln +++ b/MediaBrowser.sln @@ -61,6 +61,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Server.Mono", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Server.Startup.Common", "MediaBrowser.Server.Startup.Common\MediaBrowser.Server.Startup.Common.csproj", "{B90AB8F2-1BFF-4568-A3FD-2A338A435A75}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.RokuMetadata", "MediaBrowser.RokuMetadata\MediaBrowser.RokuMetadata.csproj", "{65EA8AC3-7C44-43FF-9726-847A17DAFF63}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -516,6 +518,27 @@ Global {B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|Win32.ActiveCfg = Release|Any CPU {B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|x64.ActiveCfg = Release|Any CPU {B90AB8F2-1BFF-4568-A3FD-2A338A435A75}.Release|x86.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Debug|Any CPU.Build.0 = Debug|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Debug|Win32.ActiveCfg = Debug|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Debug|x64.ActiveCfg = Debug|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Debug|x86.ActiveCfg = Debug|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release Mono|Any CPU.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release Mono|Any CPU.Build.0 = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release Mono|Mixed Platforms.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release Mono|Mixed Platforms.Build.0 = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release Mono|Win32.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release Mono|x64.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release Mono|x86.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release|Any CPU.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release|Any CPU.Build.0 = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release|Win32.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release|x64.ActiveCfg = Release|Any CPU + {65EA8AC3-7C44-43FF-9726-847A17DAFF63}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE