[JSON-RPC] switch to an integer (in seconds) for runtime
authorJonathan Marshall <jmarshall@never.you.mind>
Fri, 2 Nov 2012 09:45:45 +0000 (22:45 +1300)
committerJonathan Marshall <jmarshall@never.you.mind>
Mon, 26 Nov 2012 07:44:05 +0000 (20:44 +1300)
xbmc/interfaces/json-rpc/ServiceDescription.h
xbmc/interfaces/json-rpc/VideoLibrary.cpp
xbmc/interfaces/json-rpc/methods.json
xbmc/interfaces/json-rpc/types.json
xbmc/video/VideoInfoTag.cpp

index e0149c8..7de62d6 100644 (file)
@@ -642,7 +642,7 @@ namespace JSONRPC
     "\"Video.Details.File\": {"
       "\"extends\": \"Video.Details.Item\","
       "\"properties\": {"
-        "\"runtime\": { \"type\": \"string\" },"
+        "\"runtime\": { \"type\": \"integer\" },"
         "\"director\": { \"$ref\": \"Array.String\" },"
         "\"streamdetails\": { \"$ref\": \"Video.Streams\" },"
         "\"resume\": { \"$ref\": \"Video.Resume\" }"
@@ -2473,7 +2473,7 @@ namespace JSONRPC
         "{ \"name\": \"movieid\", \"$ref\": \"Library.Id\", \"required\": true },"
         "{ \"name\": \"title\", \"$ref\": \"Optional.String\" },"
         "{ \"name\": \"playcount\", \"$ref\": \"Optional.Integer\" },"
-        "{ \"name\": \"runtime\", \"$ref\": \"Optional.String\" },"
+        "{ \"name\": \"runtime\", \"$ref\": \"Optional.Integer\" },"
         "{ \"name\": \"director\", \"type\": [ \"null\", { \"$ref\": \"Array.String\", \"required\": true } ], \"default\": null },"
         "{ \"name\": \"studio\", \"type\": [ \"null\", { \"$ref\": \"Array.String\", \"required\": true } ], \"default\": null },"
         "{ \"name\": \"year\", \"$ref\": \"Optional.Integer\" },"
@@ -2538,7 +2538,7 @@ namespace JSONRPC
         "{ \"name\": \"episodeid\", \"$ref\": \"Library.Id\", \"required\": true },"
         "{ \"name\": \"title\", \"$ref\": \"Optional.String\" },"
         "{ \"name\": \"playcount\", \"$ref\": \"Optional.Integer\" },"
-        "{ \"name\": \"runtime\", \"$ref\": \"Optional.String\" },"
+        "{ \"name\": \"runtime\", \"$ref\": \"Optional.Integer\" },"
         "{ \"name\": \"director\", \"type\": [ \"null\", { \"$ref\": \"Array.String\", \"required\": true } ], \"default\": null },"
         "{ \"name\": \"plot\", \"$ref\": \"Optional.String\" },"
         "{ \"name\": \"rating\", \"$ref\": \"Optional.Number\" },"
@@ -2565,7 +2565,7 @@ namespace JSONRPC
         "{ \"name\": \"musicvideoid\", \"$ref\": \"Library.Id\", \"required\": true },"
         "{ \"name\": \"title\", \"$ref\": \"Optional.String\" },"
         "{ \"name\": \"playcount\", \"$ref\": \"Optional.Integer\" },"
-        "{ \"name\": \"runtime\", \"$ref\": \"Optional.String\" },"
+        "{ \"name\": \"runtime\", \"$ref\": \"Optional.Integer\" },"
         "{ \"name\": \"director\", \"type\": [ \"null\", { \"$ref\": \"Array.String\", \"required\": true } ], \"default\": null },"
         "{ \"name\": \"studio\", \"type\": [ \"null\", { \"$ref\": \"Array.String\", \"required\": true } ], \"default\": null },"
         "{ \"name\": \"year\", \"$ref\": \"Optional.Integer\" },"
index b55d90c..705889b 100644 (file)
@@ -889,7 +889,7 @@ void CVideoLibrary::UpdateVideoTag(const CVariant &parameterObject, CVideoInfoTa
   if (ParameterNotNull(parameterObject, "playcount"))
     details.m_playCount = (int)parameterObject["playcount"].asInteger();
   if (ParameterNotNull(parameterObject, "runtime"))
-    details.m_duration = CVideoInfoTag::GetDurationFromMinuteString(parameterObject["runtime"].asString());
+    details.m_duration = (int)parameterObject["runtime"].asInteger();
   if (ParameterNotNull(parameterObject, "director"))
     CopyStringArray(parameterObject["director"], details.m_director);
   if (ParameterNotNull(parameterObject, "studio"))
index 4f8fa4e..057e06c 100644 (file)
       { "name": "movieid", "$ref": "Library.Id", "required": true },
       { "name": "title", "$ref": "Optional.String" },
       { "name": "playcount", "$ref": "Optional.Integer" },
-      { "name": "runtime", "$ref": "Optional.String" },
+      { "name": "runtime", "$ref": "Optional.Integer" },
       { "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
       { "name": "studio", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
       { "name": "year", "$ref": "Optional.Integer" },
       { "name": "episodeid", "$ref": "Library.Id", "required": true },
       { "name": "title", "$ref": "Optional.String" },
       { "name": "playcount", "$ref": "Optional.Integer" },
-      { "name": "runtime", "$ref": "Optional.String" },
+      { "name": "runtime", "$ref": "Optional.Integer" },
       { "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
       { "name": "plot", "$ref": "Optional.String" },
       { "name": "rating", "$ref": "Optional.Number" },
       { "name": "musicvideoid", "$ref": "Library.Id", "required": true },
       { "name": "title", "$ref": "Optional.String" },
       { "name": "playcount", "$ref": "Optional.Integer" },
-      { "name": "runtime", "$ref": "Optional.String" },
+      { "name": "runtime", "$ref": "Optional.Integer" },
       { "name": "director", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
       { "name": "studio", "type": [ "null", { "$ref": "Array.String", "required": true } ], "default": null },
       { "name": "year", "$ref": "Optional.Integer" },
index 612f6d7..f80bce9 100644 (file)
   "Video.Details.File": {
     "extends": "Video.Details.Item",
     "properties": {
-      "runtime": { "type": "string" },
+      "runtime": { "type": "integer" },
       "director": { "$ref": "Array.String" },
       "streamdetails": { "$ref": "Video.Streams" },
       "resume": { "$ref": "Video.Resume" }
index 96aab37..0b6f716 100644 (file)
@@ -446,7 +446,7 @@ void CVideoInfoTag::Serialize(CVariant& value) const
   value["set"] = m_strSet;
   value["setid"] = m_iSetId;
   value["tag"] = m_tags;
-  value["runtime"] = StringUtils::Format("%i", GetDuration() / 60);
+  value["runtime"] = GetDuration();
   value["file"] = m_strFile;
   value["path"] = m_strPath;
   value["imdbnumber"] = m_strIMDBNumber;