diff --git a/TVServerKodi/Changelog.txt b/TVServerKodi/Changelog.txt index ce71a80..026062c 100644 --- a/TVServerKodi/Changelog.txt +++ b/TVServerKodi/Changelog.txt @@ -1,3 +1,7 @@ +1.15.0.137: +- Fixed: Use URL escaping for the GetRecordingInfo and GetScheduleInfo commands to accept fields with enters inside + This fixes recording playback for in progress recordings when the description fields contains a multi-line string + 1.15.0.136: - Added: Support for detecting the recording type (TV, Radio, webstream) - Fixed: Add additional exception handling around the GetRecordingURL() function diff --git a/TVServerKodi/Commands/DataWriter.cs b/TVServerKodi/Commands/DataWriter.cs index d8a84da..7a7e433 100644 --- a/TVServerKodi/Commands/DataWriter.cs +++ b/TVServerKodi/Commands/DataWriter.cs @@ -18,6 +18,7 @@ class DataWriter private String listSeparator = ","; private Converter argumentEncoder = new Converter(Uri.EscapeDataString); private Converter listEncoder = new Converter(Uri.EscapeDataString); + private bool escapeData = true; public DataWriter(NetworkStream stream) { @@ -37,6 +38,7 @@ public void setHumanEncoders() //listSeparator = Environment.NewLine; argumentEncoder = new Converter(getSameString); listEncoder = new Converter(getSameString); + escapeData = false; } public void setArgumentSeparator(String argSep) @@ -111,6 +113,14 @@ public void write(String line) Console.WriteLine("Socket write: " + line + commandSeparator); writer.Flush(); } + public void write(String line, bool escapeMe) + { + if (escapeData && escapeMe) + write(Uri.EscapeDataString(line)); + else + write(line); + } + public void writeBytes(Byte[] bytes) { diff --git a/TVServerKodi/Commands/GetRecordingInfo.cs b/TVServerKodi/Commands/GetRecordingInfo.cs index 5913857..02d93bb 100644 --- a/TVServerKodi/Commands/GetRecordingInfo.cs +++ b/TVServerKodi/Commands/GetRecordingInfo.cs @@ -24,16 +24,21 @@ public override void handleCommand(string command, string[] arguments, ref TvCon { int index = Int32.Parse(arguments[0]); bool withRTSPurl = false; + bool useUriEncoding = false; if (arguments.Length >= 2) { withRTSPurl = bool.Parse(arguments[1]); } + if (arguments.Length >= 3) + { + useUriEncoding = bool.Parse(arguments[2]); + } result = TVServerConnection.getRecordingInfo(index, withRTSPurl); Console.WriteLine(getCommandToHandle() + ":" + index + " " + result); - writer.write(result); + writer.write(result, useUriEncoding); } catch { diff --git a/TVServerKodi/Commands/GetScheduleInfo.cs b/TVServerKodi/Commands/GetScheduleInfo.cs index 68eac94..42d3766 100644 --- a/TVServerKodi/Commands/GetScheduleInfo.cs +++ b/TVServerKodi/Commands/GetScheduleInfo.cs @@ -15,7 +15,6 @@ public GetScheduleInfo(ConnectionHandler connection) public override void handleCommand(string command, string[] arguments, ref TvControl.IUser me) { - // we want to list all recordings String result; if (arguments != null) @@ -23,11 +22,17 @@ public override void handleCommand(string command, string[] arguments, ref TvCon try { int index = Int32.Parse(arguments[0]); + bool useUriEncoding = false; + + if (arguments.Length >= 2) + { + useUriEncoding = bool.Parse(arguments[1]); + } result = TVServerConnection.GetScheduleInfo(index); Console.WriteLine("GetScheduleInfo:" + index + " " + result); - writer.write(result); + writer.write(result, useUriEncoding); } catch { diff --git a/TVServerKodi/Installer/MPEI_update_1_10.xml b/TVServerKodi/Installer/MPEI_update_1_10.xml index 2030763..dfc38c7 100644 --- a/TVServerKodi/Installer/MPEI_update_1_10.xml +++ b/TVServerKodi/Installer/MPEI_update_1_10.xml @@ -95,24 +95,7 @@ 0 129 - With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi - - - - - -. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. - - - - - - - - - - - + With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. Stable @@ -249,25 +232,7 @@ 0 130 - With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi - - - - - -. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. - - - - - - - - - - - - + With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. Stable https://dl.dropbox.com/u/7249985/xbmc/tvserverxbmc/TVServerXBMC-1.12.0.130.mpe1 @@ -403,25 +368,7 @@ 0 131 - With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi - - - - - -. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. - - - - - - - - - - - - + With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. Stable https://dl.dropbox.com/u/7249985/xbmc/tvserverxbmc/TVServerXBMC-1.12.0.130.mpe1 @@ -557,25 +504,7 @@ 0 134 - With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi - - - - - -. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. - - - - - - - - - - - - + With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. Stable https://dl.dropbox.com/u/7249985/xbmc/tvserverxbmc/TVServerXBMC-1.12.0.130.mpe1 @@ -711,79 +640,7 @@ 0 136 - With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi - - - - - - - - - - - - - - - - - - - - - - - -. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. Stable https://dl.dropbox.com/u/7249985/xbmc/tvserverxbmc/TVServerKodi-1.15.0.136.mpe1 @@ -802,6 +659,142 @@ Template The file used to configure the extension. If it has .exe extension the will be executed. + If it has .dll extension it's started like MP plugin configuration. + + + + String + Online stored screenshot urls separated by ; + + + yes + Bool + Show dialog and force to uninstall previous version when updating an extension. Should only be disabled if you are using an NSIS/MSI installer. + + + + + + + + + + + false + + + 2.0 + + + + TVServer_plugin + true + TVServer_plugin + + + + + + + + + + + + + Installer + + + 1 + 5 + 0 + 0 + + + 1 + 20 + 999 + 0 + + true + requires at least MPEI 1.5.x + MPEI + + + TvServer + + + 1 + 9 + 0 + 0 + + + 1 + 20 + 999 + 0 + + true + requires MediaPortal TVServer version 1.5.* or above + MediaPortal TVServer + + + MediaPortal + + + 1 + 1 + 6 + 27644 + + + 1 + 1 + 6 + 27644 + + false + requires MediaPortal version 1.1.6.27644 to 1.1.6.27644. + MediaPortal + + + + + + + + TVServerKodi + 81b6b5e8-b4e0-4d1c-a2e2-cb2db54844f1 + Marcel Groothuis, Prashant V + http://www.scintilla.utwente.nl/~marcelg/xbmc/tvserverxbmc.html + http://forum.xbmc.org/forumdisplay.php?fid=171 + https://dl.dropbox.com/u/7249985/xbmc/tvserverxbmc/MPEI_Update_1_10.xml + + 1 + 15 + 0 + 137 + + With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. + + Stable + https://dl.dropbox.com/u/7249985/xbmc/tvserverxbmc/TVServerKodi-1.15.0.137.mpe1 + 2017-01-04T19:29:03 + xbmc, kodi, tv server plugins + ..\bin\[Name]-[Version].mpe1 + + + + + String + The icon file of the package stored online (jpg,png,bmp) + + + + Template + The file used to configure the extension. + If it has .exe extension the will be executed. If it has .dll extension it's started like MP plugin configuration. diff --git a/TVServerKodi/Installer/TVServerKodi.xmp2 b/TVServerKodi/Installer/TVServerKodi.xmp2 index 9d47a74..618599a 100644 --- a/TVServerKodi/Installer/TVServerKodi.xmp2 +++ b/TVServerKodi/Installer/TVServerKodi.xmp2 @@ -201,49 +201,13 @@ Click Next to continue or Cancel to exit Setup. 1 15 0 - 136 + 137 - With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi - - - - - - - - - - - -. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. - - - - - - - - - - - - - - - - - - - - - - - - + With this plugin you can watch Live TV, recordings, EPG and schedules in XBMC (v12.0 or above) and Kodi. The TVServerKodi plugin extends the MediaPortal TVServer with a dedicated RPC gateway to allow XBMC/Kodi to access and control the TVServer. Stable - https://dl.dropbox.com/u/7249985/xbmc/tvserverxbmc/TVServerKodi-1.15.0.136.mpe1 - 2016-12-10T19:29:03 + https://dl.dropbox.com/u/7249985/xbmc/tvserverxbmc/TVServerKodi-1.15.0.137.mpe1 + 2017-01-04T19:29:03 xbmc, kodi, tv server plugins ..\bin\[Name]-[Version].mpe1 diff --git a/TVServerKodi/Properties/AssemblyInfo.cs b/TVServerKodi/Properties/AssemblyInfo.cs index 9561a35..4f193b0 100644 --- a/TVServerKodi/Properties/AssemblyInfo.cs +++ b/TVServerKodi/Properties/AssemblyInfo.cs @@ -30,8 +30,8 @@ // Build Number // Revision // -[assembly: AssemblyVersion("1.15.0.136")] -[assembly: AssemblyFileVersion("1.15.0.136")] +[assembly: AssemblyVersion("1.15.0.137")] +[assembly: AssemblyFileVersion("1.15.0.137")] // Set usage and compatibility information to MediaPortal v1.3.0 beta and above [assembly: CompatibleVersion("1.9.100.0", "1.5.0.0")]