Archive:JSON-RPC API/v6: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Montellese
(Created page with "{{DevsHeader|'''XBMC (Frodo) JSON-RPC API'''}} {{DISPLAYTITLE:JSON-RPC API v6 (Frodo)}}{{JSON-RPC API nav}} <br /> {{Frodo}} <br /> Version 6 is a stable version of XBMC's JSON-R...")
 
>Montellese
(Update JSON-RPC API v6 to Beta 2 state)
Line 209: Line 209:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Executes the given addon with the given parameters (if possible)",
   "params": [
   "params": [
     {
     {
       "name": "addonid",  
       "name": "addonid",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 220: Line 219:
       "type": [
       "type": [
         {
         {
          "type": "object",
           "additionalProperties": {
           "additionalProperties": {
             "type": "string",  
             "type": "string",  
             "default": ""
             "default": ""
           }
           },
          "type": "object"
         },  
         },  
         {
         {
          "type": "array",
           "items": {
           "items": {
             "type": "string"
             "type": "string"
           }
           },
          "type": "array"
         }
         }
       ],  
       ],  
Line 241: Line 240:
     }
     }
   ],  
   ],  
  "description": "Executes the given addon with the given parameters (if possible)",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 259: Line 259:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#Addon.Details|Addon.Details]]'' addon
*''[[#Addon.Details|Addon.Details]]'' addon
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Gets the details of a specific addon",
   "params": [
   "params": [
     {
     {
       "name": "addonid",  
       "name": "addonid",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 276: Line 275:
     }
     }
   ],  
   ],  
  "description": "Gets the details of a specific addon",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "limits": {
        "$ref": "List.LimitsReturned",
        "required": true
      },
       "addon": {
       "addon": {
         "$ref": "Addon.Details",  
         "$ref": "Addon.Details",  
        "required": true
      },
      "limits": {
        "$ref": "List.LimitsReturned",
         "required": true
         "required": true
       }
       }
Line 312: Line 312:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Gets all available addons",
   "params": [
   "params": [
     {
     {
Line 332: Line 331:
         },  
         },  
         {
         {
          "type": "string",
           "enums": [
           "enums": [
             "all"
             "all"
           ]
           ],
          "type": "string"
         }
         }
       ],  
       ],  
Line 349: Line 348:
     }
     }
   ],  
   ],  
  "description": "Gets all available addons",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 356: Line 356:
       },  
       },  
       "addons": {
       "addons": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Addon.Details"
           "$ref": "Addon.Details"
         }
         },
        "type": "array"
       }
       }
     },  
     },  
Line 377: Line 377:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Enables/Disables a specific addon",
   "params": [
   "params": [
     {
     {
       "name": "addonid",  
       "name": "addonid",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 390: Line 389:
     }
     }
   ],  
   ],  
  "description": "Enables/Disables a specific addon",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 406: Line 406:
'''Returns:''' ''[[#Application.Property.Value|Application.Property.Value]]''
'''Returns:''' ''[[#Application.Property.Value|Application.Property.Value]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the values of the given properties",
   "params": [
   "params": [
     {
     {
       "name": "properties",
       "uniqueItems": true,  
      "type": "array",
      "required": true,  
       "items": {
       "items": {
         "$ref": "Application.Property.Name"
         "$ref": "Application.Property.Name"
       },  
       },  
       "uniqueItems": true
       "name": "properties",
      "type": "array",
      "required": true
     }
     }
   ],  
   ],  
  "description": "Retrieves the values of the given properties",
   "returns": {
   "returns": {
     "$ref": "Application.Property.Value"
     "$ref": "Application.Property.Value"
Line 431: Line 431:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Quit application",  
   "description": "Quit application",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 448: Line 448:
'''Returns:''' ''boolean''
'''Returns:''' ''boolean''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Toggle mute/unmute",
   "params": [
   "params": [
     {
     {
Line 456: Line 455:
     }
     }
   ],  
   ],  
  "description": "Toggle mute/unmute",
   "returns": {
   "returns": {
     "description": "Mute state",  
     "description": "Mute state",  
Line 472: Line 472:
'''Returns:''' ''integer''
'''Returns:''' ''integer''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Set the current volume",
   "params": [
   "params": [
     {
     {
       "name": "volume",  
       "name": "volume",  
      "required": true,
       "type": [
       "type": [
         {
         {
           "maximum": 100,  
           "minimum": 0,  
           "type": "integer",  
           "type": "integer",  
           "minimum": 0
           "maximum": 100
         },  
         },  
         {
         {
           "$ref": "Global.IncrementDecrement"
           "$ref": "Global.IncrementDecrement"
         }
         }
       ],
       ]
      "required": true
     }
     }
   ],  
   ],  
  "description": "Set the current volume",
   "returns": {
   "returns": {
     "type": "integer"
     "type": "integer"
Line 503: Line 503:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Cleans the audio library from non-existent items",  
   "description": "Cleans the audio library from non-existent items",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 520: Line 520:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Exports all items from the audio library",
   "params": [
   "params": [
     {
     {
Line 526: Line 525:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "path": {
             "path": {
               "description": "Path to the directory to where the data should be exported",  
               "description": "Path to the directory to where the data should be exported",  
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "overwrite": {
             "overwrite": {
Line 550: Line 550:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         }
         }
       ]
       ]
     }
     }
   ],  
   ],  
  "description": "Exports all items from the audio library",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 578: Line 578:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve details about a specific album",
   "params": [
   "params": [
     {
     {
Line 590: Line 589:
     }
     }
   ],  
   ],  
  "description": "Retrieve details about a specific album",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 615: Line 615:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Audio.Details.Album|Audio.Details.Album]]''[] albums ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Audio.Details.Album|Audio.Details.Album]]''[] albums ]


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all albums from specified artist or genre",
   "params": [
   "params": [
     {
     {
Line 638: Line 637:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genreid": {
             "genreid": {
Line 644: Line 644:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genre": {
             "genre": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "artistid": {
             "artistid": {
Line 665: Line 665:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "artist": {
             "artist": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
Line 685: Line 684:
     }
     }
   ],  
   ],  
  "description": "Retrieve all albums from specified artist or genre",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "albums": {
        "items": {
          "$ref": "Audio.Details.Album"
        },
        "type": "array"
      },
       "limits": {
       "limits": {
         "$ref": "List.LimitsReturned",  
         "$ref": "List.LimitsReturned",  
         "required": true
         "required": true
      },
      "albums": {
        "type": "array",
        "items": {
          "$ref": "Audio.Details.Album"
        }
       }
       }
     },  
     },  
Line 719: Line 719:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve details about a specific artist",
   "params": [
   "params": [
     {
     {
Line 731: Line 730:
     }
     }
   ],  
   ],  
  "description": "Retrieve details about a specific artist",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 757: Line 757:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Audio.Details.Artist|Audio.Details.Artist]]''[] artists ]
*[ ''[[#Audio.Details.Artist|Audio.Details.Artist]]''[] artists ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all artists",
   "params": [
   "params": [
     {
     {
Line 786: Line 785:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genreid": {
             "genreid": {
Line 792: Line 792:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genre": {
             "genre": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "albumid": {
             "albumid": {
Line 813: Line 813:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "album": {
             "album": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "songid": {
             "songid": {
Line 834: Line 834:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
Line 843: Line 842:
     }
     }
   ],  
   ],  
  "description": "Retrieve all artists",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "limits": {
        "$ref": "List.LimitsReturned",
        "required": true
      },
       "artists": {
       "artists": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Audio.Details.Artist"
           "$ref": "Audio.Details.Artist"
         }
         },  
      },  
         "type": "array"
      "limits": {
         "$ref": "List.LimitsReturned",
        "required": true
       }
       }
     },  
     },  
Line 874: Line 874:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#Library.Details.Genre|Library.Details.Genre]]''[] genres
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#Library.Details.Genre|Library.Details.Genre]]''[] genres


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all genres",
   "params": [
   "params": [
     {
     {
Line 894: Line 893:
     }
     }
   ],  
   ],  
  "description": "Retrieve all genres",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "genres": {
        "items": {
          "$ref": "Library.Details.Genre"
        },
        "required": true,
        "type": "array"
      },
       "limits": {
       "limits": {
         "$ref": "List.LimitsReturned",  
         "$ref": "List.LimitsReturned",  
         "required": true
         "required": true
      },
      "genres": {
        "type": "array",
        "required": true,
        "items": {
          "$ref": "Library.Details.Genre"
        }
       }
       }
     },  
     },  
Line 926: Line 926:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Audio.Details.Album|Audio.Details.Album]]''[] albums ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Audio.Details.Album|Audio.Details.Album]]''[] albums ]


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve recently added albums",
   "params": [
   "params": [
     {
     {
Line 946: Line 945:
     }
     }
   ],  
   ],  
  "description": "Retrieve recently added albums",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "albums": {
        "items": {
          "$ref": "Audio.Details.Album"
        },
        "type": "array"
      },
       "limits": {
       "limits": {
         "$ref": "List.LimitsReturned",  
         "$ref": "List.LimitsReturned",  
         "required": true
         "required": true
      },
      "albums": {
        "type": "array",
        "items": {
          "$ref": "Audio.Details.Album"
        }
       }
       }
     },  
     },  
Line 978: Line 978:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Audio.Details.Song|Audio.Details.Song]]''[] songs ]
*[ ''[[#Audio.Details.Song|Audio.Details.Song]]''[] songs ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve recently added songs",
   "params": [
   "params": [
     {
     {
Line 1,004: Line 1,003:
     }
     }
   ],  
   ],  
  "description": "Retrieve recently added songs",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "limits": {
        "$ref": "List.LimitsReturned",
        "required": true
      },
       "songs": {
       "songs": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Audio.Details.Song"
           "$ref": "Audio.Details.Song"
         }
         },  
      },  
         "type": "array"
      "limits": {
         "$ref": "List.LimitsReturned",
        "required": true
       }
       }
     },  
     },  
Line 1,035: Line 1,035:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Audio.Details.Album|Audio.Details.Album]]''[] albums ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Audio.Details.Album|Audio.Details.Album]]''[] albums ]


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve recently played albums",
   "params": [
   "params": [
     {
     {
Line 1,055: Line 1,054:
     }
     }
   ],  
   ],  
  "description": "Retrieve recently played albums",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "albums": {
        "items": {
          "$ref": "Audio.Details.Album"
        },
        "type": "array"
      },
       "limits": {
       "limits": {
         "$ref": "List.LimitsReturned",  
         "$ref": "List.LimitsReturned",  
         "required": true
         "required": true
      },
      "albums": {
        "type": "array",
        "items": {
          "$ref": "Audio.Details.Album"
        }
       }
       }
     },  
     },  
Line 1,086: Line 1,086:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Audio.Details.Song|Audio.Details.Song]]''[] songs ]
*[ ''[[#Audio.Details.Song|Audio.Details.Song]]''[] songs ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve recently played songs",
   "params": [
   "params": [
     {
     {
Line 1,106: Line 1,105:
     }
     }
   ],  
   ],  
  "description": "Retrieve recently played songs",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "limits": {
        "$ref": "List.LimitsReturned",
        "required": true
      },
       "songs": {
       "songs": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Audio.Details.Song"
           "$ref": "Audio.Details.Song"
         }
         },  
      },  
         "type": "array"
      "limits": {
         "$ref": "List.LimitsReturned",
        "required": true
       }
       }
     },  
     },  
Line 1,140: Line 1,140:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve details about a specific song",
   "params": [
   "params": [
     {
     {
Line 1,152: Line 1,151:
     }
     }
   ],  
   ],  
  "description": "Retrieve details about a specific song",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 1,177: Line 1,177:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Audio.Details.Song|Audio.Details.Song]]''[] songs ]
*[ ''[[#Audio.Details.Song|Audio.Details.Song]]''[] songs ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all songs from specified album, artist or genre",
   "params": [
   "params": [
     {
     {
Line 1,200: Line 1,199:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genreid": {
             "genreid": {
Line 1,206: Line 1,206:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genre": {
             "genre": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "artistid": {
             "artistid": {
Line 1,227: Line 1,227:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "artist": {
             "artist": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "albumid": {
             "albumid": {
Line 1,248: Line 1,248:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "album": {
             "album": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
Line 1,268: Line 1,267:
     }
     }
   ],  
   ],  
  "description": "Retrieve all songs from specified album, artist or genre",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "limits": {
        "$ref": "List.LimitsReturned",
        "required": true
      },
       "songs": {
       "songs": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Audio.Details.Song"
           "$ref": "Audio.Details.Song"
         }
         },  
      },  
         "type": "array"
      "limits": {
         "$ref": "List.LimitsReturned",
        "required": true
       }
       }
     },  
     },  
Line 1,295: Line 1,295:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Scans the audio sources for new library items",
   "params": [
   "params": [
     {
     {
Line 1,303: Line 1,302:
     }
     }
   ],  
   ],  
  "description": "Scans the audio sources for new library items",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 1,329: Line 1,329:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Update the given album with the given details",
   "params": [
   "params": [
     {
     {
Line 1,427: Line 1,426:
     }
     }
   ],  
   ],  
  "description": "Update the given album with the given details",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 1,453: Line 1,453:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Update the given artist with the given details",
   "params": [
   "params": [
     {
     {
Line 1,551: Line 1,550:
     }
     }
   ],  
   ],  
  "description": "Update the given artist with the given details",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 1,581: Line 1,581:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Update the given song with the given details",
   "params": [
   "params": [
     {
     {
Line 1,685: Line 1,684:
     }
     }
   ],  
   ],  
  "description": "Update the given song with the given details",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 1,701: Line 1,701:
'''Returns:''' ''any''
'''Returns:''' ''any''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Downloads the given file",
   "params": [
   "params": [
     {
     {
       "name": "path",  
       "name": "path",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     }
     }
   ],  
   ],  
  "description": "Downloads the given file",
   "returns": {
   "returns": {
     "type": "any"
     "type": "any"
Line 1,734: Line 1,734:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Get the directories and files in the given directory",
   "params": [
   "params": [
     {
     {
       "name": "directory",  
       "name": "directory",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 1,755: Line 1,754:
     }
     }
   ],  
   ],  
  "description": "Get the directories and files in the given directory",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 1,762: Line 1,762:
       },  
       },  
       "files": {
       "files": {
        "type": "array",
        "required": true,
         "items": {
         "items": {
           "$ref": "List.Item.File"
           "$ref": "List.Item.File"
         }
         },
        "required": true,
        "type": "array"
       }
       }
     },  
     },  
Line 1,791: Line 1,791:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Get details for a specific file",
   "params": [
   "params": [
     {
     {
       "description": "Full path to the file",  
       "description": "Full path to the file",  
      "name": "file",
       "type": "string",  
       "type": "string",  
       "required": true,
       "required": true
      "name": "file"
     },  
     },  
     {
     {
Line 1,809: Line 1,808:
     }
     }
   ],  
   ],  
  "description": "Get details for a specific file",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 1,839: Line 1,839:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Get the sources of the media windows",
   "params": [
   "params": [
     {
     {
Line 1,855: Line 1,854:
     }
     }
   ],  
   ],  
  "description": "Get the sources of the media windows",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 1,882: Line 1,882:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''string'' mode
*''string'' protocol
*''any'' details
*''any'' details
*''string'' protocol
*''string'' mode


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Provides a way to download a given file (e.g. providing an URL to the real file location)",
   "params": [
   "params": [
     {
     {
       "name": "path",  
       "name": "path",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     }
     }
   ],  
   ],  
  "description": "Provides a way to download a given file (e.g. providing an URL to the real file location)",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
       "details": {
       "mode": {
         "description": "Transport specific details on how/from where to download the given file",  
         "enums": [
         "type": "any",  
          "redirect",
         "required": true
          "direct"
        ],  
         "description": "Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol",  
         "required": true,
        "type": "string"
       },  
       },  
       "protocol": {
       "protocol": {
        "required": true,
        "type": "string",
         "enums": [
         "enums": [
           "http"
           "http"
         ]
         ],
        "required": true,
        "type": "string"
       },  
       },  
       "mode": {
       "details": {
        "description": "Transport specific details on how/from where to download the given file",
         "required": true,  
         "required": true,  
        "description": "Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol",
         "type": "any"
         "type": "string",
        "enums": [
          "redirect",
          "direct"
        ]
       }
       }
     },  
     },  
Line 1,936: Line 1,936:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Activates the given window",
   "params": [
   "params": [
     {
     {
Line 1,944: Line 1,943:
     },  
     },  
     {
     {
       "name": "parameters",
       "minItems": 1,  
      "type": "array",  
       "items": {
       "items": {
         "type": "string",  
         "minLength": 1,  
         "minLength": 1
         "type": "string"
       },  
       },  
       "minItems": 1
       "name": "parameters",
      "type": "array"
     }
     }
   ],  
   ],  
  "description": "Activates the given window",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 1,968: Line 1,968:
'''Returns:''' ''[[#GUI.Property.Value|GUI.Property.Value]]''
'''Returns:''' ''[[#GUI.Property.Value|GUI.Property.Value]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the values of the given properties",
   "params": [
   "params": [
     {
     {
       "name": "properties",
       "uniqueItems": true,  
      "type": "array",
      "required": true,  
       "items": {
       "items": {
         "$ref": "GUI.Property.Name"
         "$ref": "GUI.Property.Name"
       },  
       },  
       "uniqueItems": true
       "name": "properties",
      "type": "array",
      "required": true
     }
     }
   ],  
   ],  
  "description": "Retrieves the values of the given properties",
   "returns": {
   "returns": {
     "$ref": "GUI.Property.Value"
     "$ref": "GUI.Property.Value"
Line 1,995: Line 1,995:
'''Returns:''' ''boolean''
'''Returns:''' ''boolean''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Toggle fullscreen/GUI",
   "params": [
   "params": [
     {
     {
Line 2,003: Line 2,002:
     }
     }
   ],  
   ],  
  "description": "Toggle fullscreen/GUI",
   "returns": {
   "returns": {
     "description": "Fullscreen state",  
     "description": "Fullscreen state",  
Line 2,022: Line 2,022:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Shows a GUI notification",
   "params": [
   "params": [
     {
     {
       "name": "title",  
       "name": "title",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "message",  
       "name": "message",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 2,038: Line 2,037:
       "type": [
       "type": [
         {
         {
          "type": "string",
           "enums": [
           "enums": [
             "info",  
             "info",  
             "warning",  
             "warning",  
             "error"
             "error"
           ]
           ],
          "type": "string"
         },  
         },  
         {
         {
Line 2,052: Line 2,051:
     },  
     },  
     {
     {
      "minimum": 1500,
       "description": "The time in milliseconds the notification will be visible",  
       "description": "The time in milliseconds the notification will be visible",  
      "type": "integer",
      "minimum": 1500,
       "name": "displaytime",  
       "name": "displaytime",  
       "default": 5000
       "default": 5000,
      "type": "integer"
     }
     }
   ],  
   ],  
  "description": "Shows a GUI notification",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,073: Line 2,073:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Goes back in GUI",  
   "description": "Goes back in GUI",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,088: Line 2,088:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Shows the context menu",  
   "description": "Shows the context menu",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,103: Line 2,103:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Navigate down in GUI",  
   "description": "Navigate down in GUI",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,120: Line 2,120:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Execute a specific action",
   "params": [
   "params": [
     {
     {
Line 2,128: Line 2,127:
     }
     }
   ],  
   ],  
  "description": "Execute a specific action",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,141: Line 2,141:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Goes to home window in GUI",  
   "description": "Goes to home window in GUI",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,156: Line 2,156:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Shows the information dialog",  
   "description": "Shows the information dialog",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,171: Line 2,171:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Navigate left in GUI",  
   "description": "Navigate left in GUI",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,186: Line 2,186:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Navigate right in GUI",  
   "description": "Navigate right in GUI",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,201: Line 2,201:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Select current item in GUI",  
   "description": "Select current item in GUI",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,219: Line 2,219:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Send a generic (unicode) text",
   "params": [
   "params": [
     {
     {
       "description": "Unicode text",  
       "description": "Unicode text",  
      "name": "text",
       "type": "string",  
       "type": "string",  
       "required": true,
       "required": true
      "name": "text"
     },  
     },  
     {
     {
       "description": "Whether this is the whole input or not (closes an open input dialog if true).",  
       "description": "Whether this is the whole input or not (closes an open input dialog if true).",  
      "type": "boolean",
       "name": "done",  
       "name": "done",  
       "default": true
       "default": true,
      "type": "boolean"
     }
     }
   ],  
   ],  
  "description": "Send a generic (unicode) text",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,247: Line 2,247:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Show codec information of the playing item",  
   "description": "Show codec information of the playing item",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,262: Line 2,262:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Show the on-screen display for the current player",  
   "description": "Show the on-screen display for the current player",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,277: Line 2,277:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Navigate up in GUI",  
   "description": "Navigate up in GUI",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,293: Line 2,293:
'''Returns:''' ''[[#Configuration|Configuration]]''
'''Returns:''' ''[[#Configuration|Configuration]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Get client-specific configurations",  
   "description": "Get client-specific configurations",  
  "params": [],
   "returns": {
   "returns": {
     "$ref": "Configuration"
     "$ref": "Configuration"
Line 2,321: Line 2,321:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Enumerates all actions and descriptions",
   "params": [
   "params": [
     {
     {
Line 2,340: Line 2,339:
     {
     {
       "name": "filter",  
       "name": "filter",  
      "type": "object",
       "properties": {
       "properties": {
         "getreferences": {
         "getreferences": {
Line 2,349: Line 2,347:
         "id": {
         "id": {
           "description": "Name of a namespace, method or type",  
           "description": "Name of a namespace, method or type",  
           "type": "string",  
           "required": true,  
           "required": true
           "type": "string"
         },  
         },  
         "type": {
         "type": {
          "required": true,
          "description": "Type of the given name",
          "type": "string",
           "enums": [
           "enums": [
             "method",  
             "method",  
Line 2,361: Line 2,356:
             "type",  
             "type",  
             "notification"
             "notification"
           ]
           ],
          "description": "Type of the given name",
          "required": true,
          "type": "string"
         }
         }
       }
       },
      "type": "object"
     }
     }
   ],  
   ],  
  "description": "Enumerates all actions and descriptions",
   "returns": {
   "returns": {
     "type": "object",  
     "additionalProperties": false,  
     "additionalProperties": false
     "type": "object"
   }
   }
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 2,384: Line 2,384:
'''Returns:''' ''any''
'''Returns:''' ''any''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Notify all other connected clients",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "message",  
       "name": "message",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 2,402: Line 2,401:
     }
     }
   ],  
   ],  
  "description": "Notify all other connected clients",
   "returns": {
   "returns": {
     "type": "any"
     "type": "any"
Line 2,417: Line 2,417:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''boolean'' readdata
*''boolean'' writefile
*''boolean'' controlpvr
*''boolean'' controlsystem
*''boolean'' removedata
*''boolean'' controlplayback
*''boolean'' navigate
*''boolean'' controlpower
*''boolean'' controlpower
*''boolean'' controlsystem
*''boolean'' executeaddon
*''boolean'' manageaddon
*''boolean'' controlgui
*''boolean'' controlnotify
*''boolean'' controlnotify
*''boolean'' controlpvr
*''boolean'' manageaddon
*''boolean'' updatedata
*''boolean'' updatedata
*''boolean'' writefile
*''boolean'' executeaddon
*''boolean'' readdata
*''boolean'' controlplayback
*''boolean'' controlgui
*''boolean'' navigate
*''boolean'' removedata


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Retrieve the clients permissions",  
   "description": "Retrieve the clients permissions",  
  "params": [],
   "returns": {
   "returns": {
     "properties": {
     "properties": {
       "controlpower": {
       "readdata": {
         "type": "boolean",  
         "required": true,  
         "required": true
         "type": "boolean"
       },  
       },  
       "controlsystem": {
       "writefile": {
        "type": "boolean",
         "required": true,  
         "required": true
         "type": "boolean"
      },  
      "controlnotify": {
         "type": "boolean",
        "required": true
       },  
       },  
       "controlpvr": {
       "controlpvr": {
         "type": "boolean",  
         "required": true,  
         "required": true
         "type": "boolean"
       },  
       },  
       "manageaddon": {
       "controlsystem": {
         "type": "boolean",  
         "required": true,  
         "required": true
         "type": "boolean"
       },  
       },  
       "updatedata": {
       "removedata": {
         "type": "boolean",  
        "required": true,
         "required": true
        "type": "boolean"
      },
      "controlplayback": {
        "required": true,
         "type": "boolean"
      },  
      "navigate": {
         "required": true,
        "type": "boolean"
       },  
       },  
       "writefile": {
       "controlpower": {
         "type": "boolean",  
         "required": true,  
         "required": true
         "type": "boolean"
       },  
       },  
       "executeaddon": {
       "executeaddon": {
         "type": "boolean",  
         "required": true,  
         "required": true
         "type": "boolean"
       },  
       },  
       "readdata": {
       "manageaddon": {
        "type": "boolean",
         "required": true,  
         "required": true
         "type": "boolean"
      },  
      "controlplayback": {
         "type": "boolean",
        "required": true
       },  
       },  
       "controlgui": {
       "controlgui": {
         "type": "boolean",  
         "required": true,  
         "required": true
         "type": "boolean"
       },  
       },  
       "navigate": {
       "controlnotify": {
         "type": "boolean",  
         "required": true,  
         "required": true
         "type": "boolean"
       },  
       },  
       "removedata": {
       "updatedata": {
         "type": "boolean",  
         "required": true,  
         "required": true
         "type": "boolean"
       }
       }
     },  
     },  
Line 2,502: Line 2,502:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Ping responder",  
   "description": "Ping responder",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,517: Line 2,517:
#[ ''object'' notifications ]<br />
#[ ''object'' notifications ]<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' videolibrary = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' system = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' player = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' gui = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' gui = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' other = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' input = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' input = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' videolibrary = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' audiolibrary = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' audiolibrary = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' other = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' playlist = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' playlist = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' system = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' player = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' application = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' application = null ]


Line 2,530: Line 2,530:
'''Returns:''' ''[[#Configuration|Configuration]]''
'''Returns:''' ''[[#Configuration|Configuration]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Change the client-specific configuration",
   "params": [
   "params": [
     {
     {
       "name": "notifications",  
       "name": "notifications",  
      "type": "object",
       "properties": {
       "properties": {
         "videolibrary": {
         "gui": {
           "$ref": "Optional.Boolean",  
           "$ref": "Optional.Boolean",  
           "default": null
           "default": null
         },  
         },  
         "system": {
         "other": {
           "$ref": "Optional.Boolean",  
           "$ref": "Optional.Boolean",  
           "default": null
           "default": null
         },  
         },  
         "player": {
         "input": {
           "$ref": "Optional.Boolean",  
           "$ref": "Optional.Boolean",  
           "default": null
           "default": null
         },  
         },  
         "gui": {
         "videolibrary": {
           "$ref": "Optional.Boolean",  
           "$ref": "Optional.Boolean",  
           "default": null
           "default": null
         },  
         },  
         "input": {
         "audiolibrary": {
           "$ref": "Optional.Boolean",  
           "$ref": "Optional.Boolean",  
           "default": null
           "default": null
         },  
         },  
         "audiolibrary": {
         "playlist": {
           "$ref": "Optional.Boolean",  
           "$ref": "Optional.Boolean",  
           "default": null
           "default": null
         },  
         },  
         "other": {
         "system": {
           "$ref": "Optional.Boolean",  
           "$ref": "Optional.Boolean",  
           "default": null
           "default": null
         },  
         },  
         "playlist": {
         "player": {
           "$ref": "Optional.Boolean",  
           "$ref": "Optional.Boolean",  
           "default": null
           "default": null
Line 2,572: Line 2,570:
           "default": null
           "default": null
         }
         }
       }
       },
      "type": "object"
     }
     }
   ],  
   ],  
  "description": "Change the client-specific configuration",
   "returns": {
   "returns": {
     "$ref": "Configuration"
     "$ref": "Configuration"
Line 2,581: Line 2,581:


====JSONRPC.Version====
====JSONRPC.Version====
Retrieve the jsonrpc protocol version<br />
Retrieve the JSON-RPC protocol version.<br />
'''Permissions:'''
'''Permissions:'''
* ReadData
* ReadData
'''Parameters:''' None
'''Parameters:''' None
<br />
<br />
'''Returns:''' ''string''
'''Returns:'''  
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
<div style="margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA">
  "description": "Retrieve the jsonrpc protocol version",
'''Type:''' ''object''<br />
'''Properties:'''
*''integer'' minor
*''integer'' patch
*''integer'' major
 
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "params": [],  
   "params": [],  
  "description": "Retrieve the JSON-RPC protocol version.",
   "returns": {
   "returns": {
     "type": "string"
    "properties": {
      "minor": {
        "minimum": 0,
        "description": "Bumped on backwards compatible additions/changes to the API definition",
        "required": true,
        "type": "integer"
      },
      "patch": {
        "minimum": 0,
        "description": "Bumped on any changes to the internal implementation but not to the API definition",
        "required": true,
        "type": "integer"
      },
      "major": {
        "minimum": 0,
        "description": "Bumped on backwards incompatible changes to the API definition",
        "required": true,
        "type": "integer"
      }
    },
     "type": "object"
   }
   }
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 2,613: Line 2,641:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the details of a specific channel",
   "params": [
   "params": [
     {
     {
Line 2,625: Line 2,652:
     }
     }
   ],  
   ],  
  "description": "Retrieves the details of a specific channel",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 2,656: Line 2,684:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the details of a specific channel group",
   "params": [
   "params": [
     {
     {
Line 2,665: Line 2,692:
     {
     {
       "name": "channels",  
       "name": "channels",  
      "type": "object",
       "properties": {
       "properties": {
         "limits": {
         "limits": {
Line 2,673: Line 2,699:
           "$ref": "PVR.Fields.Channel"
           "$ref": "PVR.Fields.Channel"
         }
         }
       }
       },
      "type": "object"
     }
     }
   ],  
   ],  
  "description": "Retrieves the details of a specific channel group",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 2,704: Line 2,732:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the channel groups for the specified type",
   "params": [
   "params": [
     {
     {
Line 2,716: Line 2,743:
     }
     }
   ],  
   ],  
  "description": "Retrieves the channel groups for the specified type",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 2,723: Line 2,751:
       },  
       },  
       "channelgroups": {
       "channelgroups": {
        "type": "array",
        "required": true,
         "items": {
         "items": {
           "$ref": "PVR.Details.ChannelGroup"
           "$ref": "PVR.Details.ChannelGroup"
         }
         },
        "required": true,
        "type": "array"
       }
       }
     },  
     },  
Line 2,753: Line 2,781:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the channel list",
   "params": [
   "params": [
     {
     {
Line 2,769: Line 2,796:
     }
     }
   ],  
   ],  
  "description": "Retrieves the channel list",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 2,776: Line 2,804:
       },  
       },  
       "channels": {
       "channels": {
        "type": "array",
        "required": true,
         "items": {
         "items": {
           "$ref": "PVR.Details.Channel"
           "$ref": "PVR.Details.Channel"
         }
         },
        "required": true,
        "type": "array"
       }
       }
     },  
     },  
Line 2,797: Line 2,825:
'''Returns:''' ''[[#PVR.Property.Value|PVR.Property.Value]]''
'''Returns:''' ''[[#PVR.Property.Value|PVR.Property.Value]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the values of the given properties",
   "params": [
   "params": [
     {
     {
       "name": "properties",
       "uniqueItems": true,  
      "type": "array",
      "required": true,  
       "items": {
       "items": {
         "$ref": "PVR.Property.Name"
         "$ref": "PVR.Property.Name"
       },  
       },  
       "uniqueItems": true
       "name": "properties",
      "type": "array",
      "required": true
     }
     }
   ],  
   ],  
  "description": "Retrieves the values of the given properties",
   "returns": {
   "returns": {
     "$ref": "PVR.Property.Value"
     "$ref": "PVR.Property.Value"
Line 2,825: Line 2,853:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Toggle recording of a channel",
   "params": [
   "params": [
     {
     {
Line 2,836: Line 2,863:
       "type": [
       "type": [
         {
         {
          "type": "string",
           "enums": [
           "enums": [
             "current"
             "current"
           ]
           ],
          "type": "string"
         },  
         },  
         {
         {
Line 2,848: Line 2,875:
     }
     }
   ],  
   ],  
  "description": "Toggle recording of a channel",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,861: Line 2,889:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Starts a channel scan",  
   "description": "Starts a channel scan",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 2,880: Line 2,908:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Returns all active players",  
   "description": "Returns all active players",  
  "params": [],
   "returns": {
   "returns": {
     "type": "array",  
     "uniqueItems": true,  
     "items": {
     "items": {
       "properties": {
       "properties": {
Line 2,897: Line 2,925:
       "type": "object"
       "type": "object"
     },  
     },  
     "uniqueItems": true
     "type": "array"
   }
   }
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 2,918: Line 2,946:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the currently played item",
   "params": [
   "params": [
     {
     {
Line 2,930: Line 2,957:
     }
     }
   ],  
   ],  
  "description": "Retrieves the currently played item",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 2,952: Line 2,980:
'''Returns:''' ''[[#Player.Property.Value|Player.Property.Value]]''
'''Returns:''' ''[[#Player.Property.Value|Player.Property.Value]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the values of the given properties",
   "params": [
   "params": [
     {
     {
Line 2,960: Line 2,987:
     },  
     },  
     {
     {
       "name": "properties",
       "uniqueItems": true,  
      "type": "array",
      "required": true,  
       "items": {
       "items": {
         "$ref": "Player.Property.Name"
         "$ref": "Player.Property.Name"
       },  
       },  
       "uniqueItems": true
       "name": "properties",
      "type": "array",
      "required": true
     }
     }
   ],  
   ],  
  "description": "Retrieves the values of the given properties",
   "returns": {
   "returns": {
     "$ref": "Player.Property.Value"
     "$ref": "Player.Property.Value"
Line 2,985: Line 3,013:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Go to previous/next/specific item in the playlist",
   "params": [
   "params": [
     {
     {
Line 2,994: Line 3,021:
     {
     {
       "name": "to",  
       "name": "to",  
      "required": true,
       "type": [
       "type": [
         {
         {
          "type": "string",
           "enums": [
           "enums": [
             "previous",  
             "previous",  
             "next"
             "next"
           ]
           ],
          "type": "string"
         },  
         },  
         {
         {
Line 3,006: Line 3,034:
           "description": "position in playlist"
           "description": "position in playlist"
         }
         }
       ],
       ]
      "required": true
     }
     }
   ],  
   ],  
  "description": "Go to previous/next/specific item in the playlist",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,026: Line 3,054:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "If picture is zoomed move viewport left/right/up/down otherwise skip previous/next",
   "params": [
   "params": [
     {
     {
Line 3,034: Line 3,061:
     },  
     },  
     {
     {
      "required": true,
      "name": "direction",
      "type": "string",
       "enums": [
       "enums": [
         "left",  
         "left",  
Line 3,042: Line 3,066:
         "up",  
         "up",  
         "down"
         "down"
       ]
       ],
      "name": "direction",
      "required": true,
      "type": "string"
     }
     }
   ],  
   ],  
  "description": "If picture is zoomed move viewport left/right/up/down otherwise skip previous/next",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,059: Line 3,087:
#[ ''object'' options ]<br />
#[ ''object'' options ]<br />
'''Properties:'''
'''Properties:'''
*[ ''mixed'' resume = False ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' shuffled = null ]
*[ ''[[#Optional.Boolean|Optional.Boolean]]'' shuffled = null ]
*[ ''mixed'' repeat = null ]
*[ ''mixed'' repeat = null ]
*[ ''mixed'' resume = False ]


</div>
</div>
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Start playback of either the playlist with the given ID, a slideshow with the pictures from the given directory or a single file or an item from the database.",
   "params": [
   "params": [
     {
     {
Line 3,072: Line 3,099:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
            "position": {
              "$ref": "Playlist.Position",
              "default": 0
            },
             "playlistid": {
             "playlistid": {
               "$ref": "Playlist.Id",  
               "$ref": "Playlist.Id",  
               "required": true
               "required": true
            },
            "position": {
              "$ref": "Playlist.Position",
              "default": 0
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
Line 3,089: Line 3,116:
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "recursive": {
             "path": {
               "type": "boolean",  
               "required": true,  
               "default": true
               "type": "string"
             },  
             },  
             "random": {
             "random": {
Line 3,099: Line 3,127:
               "default": true
               "default": true
             },  
             },  
             "path": {
             "recursive": {
               "type": "string",  
               "type": "boolean",  
               "required": true
               "default": true
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "partymode": {
             "partymode": {
               "type": [
               "type": [
                 {
                 {
                  "type": "string",
                   "enums": [
                   "enums": [
                     "music",  
                     "music",  
                     "video"
                     "video"
                   ]
                   ],
                  "type": "string"
                 },  
                 },  
                 {
                 {
                   "description": "Path to a smartplaylist (*.xsp) file",  
                   "description": "Path to a smartplaylist (*.xsp) file",  
                   "type": "string",  
                   "minLength": 5,  
                   "minLength": 5
                   "type": "string"
                 }
                 }
               ],  
               ],  
Line 3,127: Line 3,155:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "channelid": {
             "channelid": {
Line 3,137: Line 3,165:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         }
         }
       ]
       ]
     },  
     },  
     {
     {
      "additionalProperties": false,
       "name": "options",  
       "name": "options",  
      "type": "object",
       "properties": {
       "properties": {
        "shuffled": {
          "$ref": "Optional.Boolean",
          "default": null
        },
        "repeat": {
          "type": [
            {
              "type": "null"
            },
            {
              "$ref": "Player.Repeat"
            }
          ],
          "default": null
        },
         "resume": {
         "resume": {
           "type": [
           "type": [
Line 3,162: Line 3,204:
           ],  
           ],  
           "default": false
           "default": false
         },
         }
        "shuffled": {
      },  
          "$ref": "Optional.Boolean",
      "type": "object"
          "default": null
    }
        },  
  ],  
        "repeat": {
  "description": "Start playback of either the playlist with the given ID, a slideshow with the pictures from the given directory or a single file or an item from the database.",  
          "type": [
   "returns": {
            {
              "type": "null"
            },
            {
              "$ref": "Player.Repeat"
            }
          ],  
          "default": null
        }
      },  
      "additionalProperties": false
    }
  ],  
   "returns": {
     "type": "string"
     "type": "string"
   }
   }
Line 3,198: Line 3,226:
'''Returns:''' ''[[#Player.Speed|Player.Speed]]''
'''Returns:''' ''[[#Player.Speed|Player.Speed]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Pauses or unpause playback and returns the new state",
   "params": [
   "params": [
     {
     {
Line 3,211: Line 3,238:
     }
     }
   ],  
   ],  
  "description": "Pauses or unpause playback and returns the new state",
   "returns": {
   "returns": {
     "$ref": "Player.Speed"
     "$ref": "Player.Speed"
Line 3,227: Line 3,255:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Rotates current picture",
   "params": [
   "params": [
     {
     {
Line 3,235: Line 3,262:
     },  
     },  
     {
     {
      "name": "value",
      "type": "string",
       "enums": [
       "enums": [
         "clockwise",  
         "clockwise",  
         "counterclockwise"
         "counterclockwise"
       ],  
       ],  
      "name": "value",
      "type": "string",
       "default": "clockwise"
       "default": "clockwise"
     }
     }
   ],  
   ],  
  "description": "Rotates current picture",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,262: Line 3,290:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Player.Position.Percentage|Player.Position.Percentage]]'' percentage = 0 ]
*[ ''[[#Global.Time|Global.Time]]'' time ]
*[ ''[[#Global.Time|Global.Time]]'' time ]
*[ ''[[#Player.Position.Percentage|Player.Position.Percentage]]'' percentage = 0 ]
*[ ''[[#Global.Time|Global.Time]]'' totaltime ]
*[ ''[[#Global.Time|Global.Time]]'' totaltime ]


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Seek through the playing item",
   "params": [
   "params": [
     {
     {
Line 3,277: Line 3,304:
     {
     {
       "name": "value",  
       "name": "value",  
      "required": true,
       "type": [
       "type": [
         {
         {
Line 3,287: Line 3,315:
         },  
         },  
         {
         {
          "description": "Seek by predefined jumps",
          "type": "string",
           "enums": [
           "enums": [
             "smallforward",  
             "smallforward",  
Line 3,294: Line 3,320:
             "bigforward",  
             "bigforward",  
             "bigbackward"
             "bigbackward"
           ]
           ],
          "description": "Seek by predefined jumps",
          "type": "string"
         }
         }
       ],
       ]
      "required": true
     }
     }
   ],  
   ],  
  "description": "Seek through the playing item",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "time": {
        "$ref": "Global.Time"
      },
       "percentage": {
       "percentage": {
         "$ref": "Player.Position.Percentage",  
         "$ref": "Player.Position.Percentage",  
         "default": 0
         "default": 0
      },
      "time": {
        "$ref": "Global.Time"
       },  
       },  
       "totaltime": {
       "totaltime": {
Line 3,328: Line 3,356:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Set the audio stream played by the player",
   "params": [
   "params": [
     {
     {
Line 3,337: Line 3,364:
     {
     {
       "name": "stream",  
       "name": "stream",  
      "required": true,
       "type": [
       "type": [
         {
         {
          "type": "string",
           "enums": [
           "enums": [
             "previous",  
             "previous",  
             "next"
             "next"
           ]
           ],
          "type": "string"
         },  
         },  
         {
         {
          "minimum": 0,
           "description": "Index of the audio stream to play",  
           "description": "Index of the audio stream to play",  
           "type": "integer",
           "type": "integer"
          "minimum": 0
         }
         }
       ],
       ]
      "required": true
     }
     }
   ],  
   ],  
  "description": "Set the audio stream played by the player",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,370: Line 3,398:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Turn partymode on or off",
   "params": [
   "params": [
     {
     {
Line 3,383: Line 3,410:
     }
     }
   ],  
   ],  
  "description": "Turn partymode on or off",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,399: Line 3,427:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Set the repeat mode of the player",
   "params": [
   "params": [
     {
     {
Line 3,408: Line 3,435:
     {
     {
       "name": "repeat",  
       "name": "repeat",  
      "required": true,
       "type": [
       "type": [
         {
         {
Line 3,413: Line 3,441:
         },  
         },  
         {
         {
          "type": "string",
           "enums": [
           "enums": [
             "cycle"
             "cycle"
           ]
           ],
          "type": "string"
         }
         }
       ],
       ]
      "required": true
     }
     }
   ],  
   ],  
  "description": "Set the repeat mode of the player",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,438: Line 3,466:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Shuffle/Unshuffle items in the player",
   "params": [
   "params": [
     {
     {
Line 3,451: Line 3,478:
     }
     }
   ],  
   ],  
  "description": "Shuffle/Unshuffle items in the player",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,467: Line 3,495:
'''Returns:''' ''[[#Player.Speed|Player.Speed]]''
'''Returns:''' ''[[#Player.Speed|Player.Speed]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Set the speed of the current playback",
   "params": [
   "params": [
     {
     {
Line 3,476: Line 3,503:
     {
     {
       "name": "speed",  
       "name": "speed",  
      "required": true,
       "type": [
       "type": [
         {
         {
          "type": "integer",
           "enums": [
           "enums": [
             -32,  
             -32,  
Line 3,493: Line 3,520:
             16,  
             16,  
             32
             32
           ]
           ],
          "type": "integer"
         },  
         },  
         {
         {
           "$ref": "Global.IncrementDecrement"
           "$ref": "Global.IncrementDecrement"
         }
         }
       ],
       ]
      "required": true
     }
     }
   ],  
   ],  
  "description": "Set the speed of the current playback",
   "returns": {
   "returns": {
     "$ref": "Player.Speed"
     "$ref": "Player.Speed"
Line 3,519: Line 3,547:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Set the subtitle displayed by the player",
   "params": [
   "params": [
     {
     {
Line 3,528: Line 3,555:
     {
     {
       "name": "subtitle",  
       "name": "subtitle",  
      "required": true,
       "type": [
       "type": [
         {
         {
          "type": "string",
           "enums": [
           "enums": [
             "previous",  
             "previous",  
Line 3,536: Line 3,563:
             "off",  
             "off",  
             "on"
             "on"
           ]
           ],
          "type": "string"
         },  
         },  
         {
         {
          "minimum": 0,
           "description": "Index of the subtitle to display",  
           "description": "Index of the subtitle to display",  
           "type": "integer",
           "type": "integer"
          "minimum": 0
         }
         }
       ],
       ]
      "required": true
     },  
     },  
     {
     {
       "description": "Whether to enable subtitles to be displayed after setting the new subtitle",  
       "description": "Whether to enable subtitles to be displayed after setting the new subtitle",  
      "type": "boolean",
       "name": "enable",  
       "name": "enable",  
       "default": false
       "default": false,
      "type": "boolean"
     }
     }
   ],  
   ],  
  "description": "Set the subtitle displayed by the player",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,568: Line 3,596:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Stops playback",
   "params": [
   "params": [
     {
     {
Line 3,576: Line 3,603:
     }
     }
   ],  
   ],  
  "description": "Stops playback",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,592: Line 3,620:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Zoom current picture",
   "params": [
   "params": [
     {
     {
Line 3,601: Line 3,628:
     {
     {
       "name": "zoom",  
       "name": "zoom",  
      "required": true,
       "type": [
       "type": [
         {
         {
          "type": "string",
           "enums": [
           "enums": [
             "in",  
             "in",  
             "out"
             "out"
           ]
           ],
          "type": "string"
         },  
         },  
         {
         {
          "minimum": 1,
           "description": "zoom level",  
           "description": "zoom level",  
           "type": "integer",  
           "type": "integer",  
          "minimum": 1,
           "maximum": 10
           "maximum": 10
         }
         }
       ],
       ]
      "required": true
     }
     }
   ],  
   ],  
  "description": "Zoom current picture",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,636: Line 3,664:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Add item(s) to playlist",
   "params": [
   "params": [
     {
     {
Line 3,649: Line 3,676:
     }
     }
   ],  
   ],  
  "description": "Add item(s) to playlist",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,664: Line 3,692:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Clear playlist",
   "params": [
   "params": [
     {
     {
Line 3,672: Line 3,699:
     }
     }
   ],  
   ],  
  "description": "Clear playlist",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,697: Line 3,725:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Get all items from playlist",
   "params": [
   "params": [
     {
     {
Line 3,717: Line 3,744:
     }
     }
   ],  
   ],  
  "description": "Get all items from playlist",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 3,724: Line 3,752:
       },  
       },  
       "items": {
       "items": {
        "type": "array",
        "required": true,
         "items": {
         "items": {
           "$ref": "List.Item.All"
           "$ref": "List.Item.All"
         }
         },
        "required": true,
        "type": "array"
       }
       }
     },  
     },  
Line 3,746: Line 3,774:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Returns all existing playlists",  
   "description": "Returns all existing playlists",  
  "params": [],
   "returns": {
   "returns": {
     "type": "array",  
     "uniqueItems": true,  
     "items": {
     "items": {
       "properties": {
       "properties": {
        "playlistid": {
          "$ref": "Playlist.Id",
          "required": true
        },
         "type": {
         "type": {
           "$ref": "Playlist.Type",  
           "$ref": "Playlist.Type",  
          "required": true
        },
        "playlistid": {
          "$ref": "Playlist.Id",
           "required": true
           "required": true
         }
         }
Line 3,763: Line 3,791:
       "type": "object"
       "type": "object"
     },  
     },  
     "uniqueItems": true
     "type": "array"
   }
   }
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 3,778: Line 3,806:
'''Returns:''' ''[[#Playlist.Property.Value|Playlist.Property.Value]]''
'''Returns:''' ''[[#Playlist.Property.Value|Playlist.Property.Value]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the values of the given properties",
   "params": [
   "params": [
     {
     {
Line 3,786: Line 3,813:
     },  
     },  
     {
     {
       "name": "properties",
       "uniqueItems": true,  
      "type": "array",
      "required": true,  
       "items": {
       "items": {
         "$ref": "Playlist.Property.Name"
         "$ref": "Playlist.Property.Name"
       },  
       },  
       "uniqueItems": true
       "name": "properties",
      "type": "array",
      "required": true
     }
     }
   ],  
   ],  
  "description": "Retrieves the values of the given properties",
   "returns": {
   "returns": {
     "$ref": "Playlist.Property.Value"
     "$ref": "Playlist.Property.Value"
Line 3,812: Line 3,840:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).",
   "params": [
   "params": [
     {
     {
Line 3,830: Line 3,857:
     }
     }
   ],  
   ],  
  "description": "Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,846: Line 3,874:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Remove item from playlist. Does not work for picture playlists (aka slideshows).",
   "params": [
   "params": [
     {
     {
Line 3,859: Line 3,886:
     }
     }
   ],  
   ],  
  "description": "Remove item from playlist. Does not work for picture playlists (aka slideshows).",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,876: Line 3,904:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Swap items in the playlist. Does not work for picture playlists (aka slideshows).",
   "params": [
   "params": [
     {
     {
Line 3,894: Line 3,921:
     }
     }
   ],  
   ],  
  "description": "Swap items in the playlist. Does not work for picture playlists (aka slideshows).",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,908: Line 3,936:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Ejects or closes the optical disc drive (if available)",  
   "description": "Ejects or closes the optical disc drive (if available)",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,925: Line 3,953:
'''Returns:''' ''[[#System.Property.Value|System.Property.Value]]''
'''Returns:''' ''[[#System.Property.Value|System.Property.Value]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieves the values of the given properties",
   "params": [
   "params": [
     {
     {
       "name": "properties",
       "uniqueItems": true,  
      "type": "array",
      "required": true,  
       "items": {
       "items": {
         "$ref": "System.Property.Name"
         "$ref": "System.Property.Name"
       },  
       },  
       "uniqueItems": true
       "name": "properties",
      "type": "array",
      "required": true
     }
     }
   ],  
   ],  
  "description": "Retrieves the values of the given properties",
   "returns": {
   "returns": {
     "$ref": "System.Property.Value"
     "$ref": "System.Property.Value"
Line 3,950: Line 3,978:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Puts the system running XBMC into hibernate mode",  
   "description": "Puts the system running XBMC into hibernate mode",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,965: Line 3,993:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Reboots the system running XBMC",  
   "description": "Reboots the system running XBMC",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,980: Line 4,008:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Shuts the system running XBMC down",  
   "description": "Shuts the system running XBMC down",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 3,995: Line 4,023:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Suspends the system running XBMC",  
   "description": "Suspends the system running XBMC",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 4,011: Line 4,039:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "params": [],
   "description": "Cleans the video library from non-existent items",  
   "description": "Cleans the video library from non-existent items",  
  "params": [],
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 4,028: Line 4,056:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Exports all items from the video library",
   "params": [
   "params": [
     {
     {
Line 4,034: Line 4,061:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "path": {
             "path": {
               "description": "Path to the directory to where the data should be exported",  
               "description": "Path to the directory to where the data should be exported",  
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "actorthumbs": {
             "overwrite": {
               "description": "Whether to export actor thumbnails",  
               "description": "Whether to overwrite existing exported files",  
               "type": "boolean",  
               "type": "boolean",  
               "default": false
               "default": false
             },  
             },  
             "overwrite": {
             "actorthumbs": {
               "description": "Whether to overwrite existing exported files",  
               "description": "Whether to export actor thumbnails",  
               "type": "boolean",  
               "type": "boolean",  
               "default": false
               "default": false
Line 4,063: Line 4,091:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         }
         }
       ]
       ]
     }
     }
   ],  
   ],  
  "description": "Exports all items from the video library",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 4,091: Line 4,119:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve details about a specific tv show episode",
   "params": [
   "params": [
     {
     {
Line 4,103: Line 4,130:
     }
     }
   ],  
   ],  
  "description": "Retrieve details about a specific tv show episode",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,130: Line 4,158:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Video.Details.Episode|Video.Details.Episode]]''[] episodes ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Video.Details.Episode|Video.Details.Episode]]''[] episodes ]


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all tv show episodes",
   "params": [
   "params": [
     {
     {
Line 4,143: Line 4,170:
     },  
     },  
     {
     {
      "minimum": 0,
       "name": "season",  
       "name": "season",  
       "type": "integer",  
       "type": "integer",  
      "minimum": 0,
       "default": -1
       "default": -1
     },  
     },  
Line 4,164: Line 4,191:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genreid": {
             "genreid": {
Line 4,171: Line 4,199:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genre": {
             "genre": {
               "description": "Requires tvshowid to be set",  
               "description": "Requires tvshowid to be set",  
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "year": {
             "year": {
              "minimum": 0,
               "required": true,  
               "required": true,  
               "type": "integer",
               "type": "integer"
              "minimum": 0
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "actor": {
             "actor": {
               "description": "Requires tvshowid to be set",  
               "description": "Requires tvshowid to be set",  
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "director": {
             "director": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
Line 4,226: Line 4,253:
     }
     }
   ],  
   ],  
  "description": "Retrieve all tv show episodes",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "episodes": {
        "items": {
          "$ref": "Video.Details.Episode"
        },
        "type": "array"
      },
       "limits": {
       "limits": {
         "$ref": "List.LimitsReturned",  
         "$ref": "List.LimitsReturned",  
         "required": true
         "required": true
      },
      "episodes": {
        "type": "array",
        "items": {
          "$ref": "Video.Details.Episode"
        }
       }
       }
     },  
     },  
Line 4,258: Line 4,286:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#Library.Details.Genre|Library.Details.Genre]]''[] genres
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#Library.Details.Genre|Library.Details.Genre]]''[] genres


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all genres",
   "params": [
   "params": [
     {
     {
      "required": true,
      "name": "type",
      "type": "string",
       "enums": [
       "enums": [
         "movie",  
         "movie",  
         "tvshow",  
         "tvshow",  
         "musicvideo"
         "musicvideo"
       ]
       ],
      "name": "type",
      "required": true,
      "type": "string"
     },  
     },  
     {
     {
Line 4,288: Line 4,315:
     }
     }
   ],  
   ],  
  "description": "Retrieve all genres",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "genres": {
        "items": {
          "$ref": "Library.Details.Genre"
        },
        "required": true,
        "type": "array"
      },
       "limits": {
       "limits": {
         "$ref": "List.LimitsReturned",  
         "$ref": "List.LimitsReturned",  
         "required": true
         "required": true
      },
      "genres": {
        "type": "array",
        "required": true,
        "items": {
          "$ref": "Library.Details.Genre"
        }
       }
       }
     },  
     },  
Line 4,323: Line 4,351:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve details about a specific movie",
   "params": [
   "params": [
     {
     {
Line 4,335: Line 4,362:
     }
     }
   ],  
   ],  
  "description": "Retrieve details about a specific movie",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,368: Line 4,396:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve details about a specific movie set",
   "params": [
   "params": [
     {
     {
Line 4,381: Line 4,408:
     {
     {
       "name": "movies",  
       "name": "movies",  
      "type": "object",
       "properties": {
       "properties": {
         "limits": {
         "limits": {
Line 4,392: Line 4,418:
           "$ref": "List.Sort"
           "$ref": "List.Sort"
         }
         }
       }
       },
      "type": "object"
     }
     }
   ],  
   ],  
  "description": "Retrieve details about a specific movie set",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,419: Line 4,447:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Video.Details.MovieSet|Video.Details.MovieSet]]''[] sets ]
*[ ''[[#Video.Details.MovieSet|Video.Details.MovieSet]]''[] sets ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all movie sets",
   "params": [
   "params": [
     {
     {
Line 4,439: Line 4,466:
     }
     }
   ],  
   ],  
  "description": "Retrieve all movie sets",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "limits": {
        "$ref": "List.LimitsReturned",
        "required": true
      },
       "sets": {
       "sets": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Video.Details.MovieSet"
           "$ref": "Video.Details.MovieSet"
         }
         },  
      },  
         "type": "array"
      "limits": {
         "$ref": "List.LimitsReturned",
        "required": true
       }
       }
     },  
     },  
Line 4,476: Line 4,504:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all movies",
   "params": [
   "params": [
     {
     {
Line 4,494: Line 4,521:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genreid": {
             "genreid": {
Line 4,500: Line 4,528:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genre": {
             "genre": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "year": {
             "year": {
              "minimum": 0,
               "required": true,  
               "required": true,  
               "type": "integer",
               "type": "integer"
              "minimum": 0
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "actor": {
             "actor": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "director": {
             "director": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "studio": {
             "studio": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "country": {
             "country": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "setid": {
             "setid": {
Line 4,576: Line 4,604:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "set": {
             "set": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "tag": {
             "tag": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
Line 4,607: Line 4,634:
     }
     }
   ],  
   ],  
  "description": "Retrieve all movies",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,614: Line 4,642:
       },  
       },  
       "movies": {
       "movies": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Video.Details.Movie"
           "$ref": "Video.Details.Movie"
         }
         },
        "type": "array"
       }
       }
     },  
     },  
Line 4,641: Line 4,669:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve details about a specific music video",
   "params": [
   "params": [
     {
     {
Line 4,653: Line 4,680:
     }
     }
   ],  
   ],  
  "description": "Retrieve details about a specific music video",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,683: Line 4,711:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all music videos",
   "params": [
   "params": [
     {
     {
Line 4,701: Line 4,728:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "artist": {
             "artist": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genreid": {
             "genreid": {
Line 4,718: Line 4,746:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genre": {
             "genre": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "year": {
             "year": {
              "minimum": 0,
               "required": true,  
               "required": true,  
               "type": "integer",
               "type": "integer"
              "minimum": 0
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "director": {
             "director": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "studio": {
             "studio": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "tag": {
             "tag": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
Line 4,782: Line 4,809:
     }
     }
   ],  
   ],  
  "description": "Retrieve all music videos",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,789: Line 4,817:
       },  
       },  
       "musicvideos": {
       "musicvideos": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Video.Details.MusicVideo"
           "$ref": "Video.Details.MusicVideo"
         }
         },
        "type": "array"
       }
       }
     },  
     },  
Line 4,813: Line 4,841:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Video.Details.Episode|Video.Details.Episode]]''[] episodes ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Video.Details.Episode|Video.Details.Episode]]''[] episodes ]


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all recently added tv episodes",
   "params": [
   "params": [
     {
     {
Line 4,833: Line 4,860:
     }
     }
   ],  
   ],  
  "description": "Retrieve all recently added tv episodes",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "episodes": {
        "items": {
          "$ref": "Video.Details.Episode"
        },
        "type": "array"
      },
       "limits": {
       "limits": {
         "$ref": "List.LimitsReturned",  
         "$ref": "List.LimitsReturned",  
         "required": true
         "required": true
      },
      "episodes": {
        "type": "array",
        "items": {
          "$ref": "Video.Details.Episode"
        }
       }
       }
     },  
     },  
Line 4,869: Line 4,897:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all recently added movies",
   "params": [
   "params": [
     {
     {
Line 4,884: Line 4,911:
     }
     }
   ],  
   ],  
  "description": "Retrieve all recently added movies",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,891: Line 4,919:
       },  
       },  
       "movies": {
       "movies": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Video.Details.Movie"
           "$ref": "Video.Details.Movie"
         }
         },
        "type": "array"
       }
       }
     },  
     },  
Line 4,920: Line 4,948:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all recently added music videos",
   "params": [
   "params": [
     {
     {
Line 4,935: Line 4,962:
     }
     }
   ],  
   ],  
  "description": "Retrieve all recently added music videos",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,942: Line 4,970:
       },  
       },  
       "musicvideos": {
       "musicvideos": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Video.Details.MusicVideo"
           "$ref": "Video.Details.MusicVideo"
         }
         },
        "type": "array"
       }
       }
     },  
     },  
Line 4,972: Line 5,000:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all tv seasons",
   "params": [
   "params": [
     {
     {
Line 4,992: Line 5,019:
     }
     }
   ],  
   ],  
  "description": "Retrieve all tv seasons",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 4,999: Line 5,027:
       },  
       },  
       "seasons": {
       "seasons": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Video.Details.Season"
           "$ref": "Video.Details.Season"
         }
         },
        "type": "array"
       }
       }
     },  
     },  
Line 5,026: Line 5,054:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve details about a specific tv show",
   "params": [
   "params": [
     {
     {
Line 5,038: Line 5,065:
     }
     }
   ],  
   ],  
  "description": "Retrieve details about a specific tv show",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
Line 5,063: Line 5,091:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits
*[ ''[[#Video.Details.TVShow|Video.Details.TVShow]]''[] tvshows ]
*[ ''[[#Video.Details.TVShow|Video.Details.TVShow]]''[] tvshows ]
*''[[#List.LimitsReturned|List.LimitsReturned]]'' limits


</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve all tv shows",
   "params": [
   "params": [
     {
     {
Line 5,086: Line 5,113:
       "type": [
       "type": [
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genreid": {
             "genreid": {
Line 5,092: Line 5,120:
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "genre": {
             "genre": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "year": {
             "year": {
              "minimum": 0,
               "required": true,  
               "required": true,  
               "type": "integer",
               "type": "integer"
              "minimum": 0
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "actor": {
             "actor": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "studio": {
             "studio": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
          "additionalProperties": false,
           "properties": {
           "properties": {
             "tag": {
             "tag": {
               "type": "string",  
               "minLength": 1,  
               "required": true,  
               "required": true,  
               "minLength": 1
               "type": "string"
             }
             }
           },  
           },  
           "type": "object",
           "type": "object"
          "additionalProperties": false
         },  
         },  
         {
         {
Line 5,156: Line 5,183:
     }
     }
   ],  
   ],  
  "description": "Retrieve all tv shows",
   "returns": {
   "returns": {
     "properties": {
     "properties": {
      "limits": {
        "$ref": "List.LimitsReturned",
        "required": true
      },
       "tvshows": {
       "tvshows": {
        "type": "array",
         "items": {
         "items": {
           "$ref": "Video.Details.TVShow"
           "$ref": "Video.Details.TVShow"
         }
         },  
      },  
         "type": "array"
      "limits": {
         "$ref": "List.LimitsReturned",
        "required": true
       }
       }
     },  
     },  
Line 5,183: Line 5,211:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Removes the given episode from the library",
   "params": [
   "params": [
     {
     {
Line 5,191: Line 5,218:
     }
     }
   ],  
   ],  
  "description": "Removes the given episode from the library",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 5,206: Line 5,234:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Removes the given movie from the library",
   "params": [
   "params": [
     {
     {
Line 5,214: Line 5,241:
     }
     }
   ],  
   ],  
  "description": "Removes the given movie from the library",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 5,229: Line 5,257:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Removes the given music video from the library",
   "params": [
   "params": [
     {
     {
Line 5,237: Line 5,264:
     }
     }
   ],  
   ],  
  "description": "Removes the given music video from the library",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 5,252: Line 5,280:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Removes the given tv show from the library",
   "params": [
   "params": [
     {
     {
Line 5,260: Line 5,287:
     }
     }
   ],  
   ],  
  "description": "Removes the given tv show from the library",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 5,275: Line 5,303:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Scans the video sources for new library items",
   "params": [
   "params": [
     {
     {
Line 5,283: Line 5,310:
     }
     }
   ],  
   ],  
  "description": "Scans the video sources for new library items",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 5,297: Line 5,325:
#[ ''[[#Optional.String|Optional.String]]'' title = null ]
#[ ''[[#Optional.String|Optional.String]]'' title = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' playcount = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' playcount = null ]
#[ ''[[#Optional.String|Optional.String]]'' runtime = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' runtime = null ]
#[ ''mixed'' director = null ]
#[ ''mixed'' director = null ]
#[ ''[[#Optional.String|Optional.String]]'' plot = null ]
#[ ''[[#Optional.String|Optional.String]]'' plot = null ]
Line 5,315: Line 5,343:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Update the given episode with the given details",
   "params": [
   "params": [
     {
     {
Line 5,333: Line 5,360:
     },  
     },  
     {
     {
       "$ref": "Optional.String",  
       "$ref": "Optional.Integer",
      "description": "Runtime in seconds",  
       "name": "runtime",  
       "name": "runtime",  
       "default": null
       "default": null
Line 5,429: Line 5,457:
     }
     }
   ],  
   ],  
  "description": "Update the given episode with the given details",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 5,443: Line 5,472:
#[ ''[[#Optional.String|Optional.String]]'' title = null ]
#[ ''[[#Optional.String|Optional.String]]'' title = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' playcount = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' playcount = null ]
#[ ''[[#Optional.String|Optional.String]]'' runtime = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' runtime = null ]
#[ ''mixed'' director = null ]
#[ ''mixed'' director = null ]
#[ ''mixed'' studio = null ]
#[ ''mixed'' studio = null ]
Line 5,471: Line 5,500:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Update the given movie with the given details",
   "params": [
   "params": [
     {
     {
Line 5,489: Line 5,517:
     },  
     },  
     {
     {
       "$ref": "Optional.String",  
       "$ref": "Optional.Integer",
      "description": "Runtime in seconds",  
       "name": "runtime",  
       "name": "runtime",  
       "default": null
       "default": null
Line 5,670: Line 5,699:
     }
     }
   ],  
   ],  
  "description": "Update the given movie with the given details",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 5,684: Line 5,714:
#[ ''[[#Optional.String|Optional.String]]'' title = null ]
#[ ''[[#Optional.String|Optional.String]]'' title = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' playcount = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' playcount = null ]
#[ ''[[#Optional.String|Optional.String]]'' runtime = null ]
#[ ''[[#Optional.Integer|Optional.Integer]]'' runtime = null ]
#[ ''mixed'' director = null ]
#[ ''mixed'' director = null ]
#[ ''mixed'' studio = null ]
#[ ''mixed'' studio = null ]
Line 5,701: Line 5,731:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Update the given music video with the given details",
   "params": [
   "params": [
     {
     {
Line 5,719: Line 5,748:
     },  
     },  
     {
     {
       "$ref": "Optional.String",  
       "$ref": "Optional.Integer",
      "description": "Runtime in seconds",  
       "name": "runtime",  
       "name": "runtime",  
       "default": null
       "default": null
Line 5,831: Line 5,861:
     }
     }
   ],  
   ],  
  "description": "Update the given music video with the given details",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 5,864: Line 5,895:
'''Returns:''' ''string''
'''Returns:''' ''string''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Update the given tvshow with the given details",
   "params": [
   "params": [
     {
     {
Line 5,990: Line 6,020:
     }
     }
   ],  
   ],  
  "description": "Update the given tvshow with the given details",
   "returns": {
   "returns": {
     "type": "string"
     "type": "string"
Line 6,009: Line 6,040:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve info booleans about XBMC and the system",
   "params": [
   "params": [
     {
     {
       "name": "booleans",
       "minItems": 1,  
      "type": "array",
      "required": true,  
       "items": {
       "items": {
         "type": "string"
         "type": "string"
       },  
       },  
       "minItems": 1
       "name": "booleans",
      "type": "array",
      "required": true
     }
     }
   ],  
   ],  
  "description": "Retrieve info booleans about XBMC and the system",
   "returns": {
   "returns": {
    "description": "Object containing key-value pairs of the retrieved info booleans",
    "type": "object",
     "additionalProperties": {
     "additionalProperties": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     }
     },
    "description": "Object containing key-value pairs of the retrieved info booleans",
    "type": "object"
   }
   }
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 6,044: Line 6,075:
</div>
</div>
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Retrieve info labels about XBMC and the system",
   "params": [
   "params": [
     {
     {
      "description": "See http://wiki.xbmc.org/index.php?title=InfoLabels for a list of possible info labels",
      "name": "labels",
       "type": "array",  
       "type": "array",  
       "required": true,  
       "minItems": 1,  
       "items": {
       "items": {
         "type": "string"
         "type": "string"
       },  
       },  
       "minItems": 1,
       "required": true
      "description": "See http://wiki.xbmc.org/index.php?title=InfoLabels for a list of possible info labels",
      "name": "labels"
     }
     }
   ],  
   ],  
  "description": "Retrieve info labels about XBMC and the system",
   "returns": {
   "returns": {
    "description": "Object containing key-value pairs of the retrieved info labels",
    "type": "object",
     "additionalProperties": {
     "additionalProperties": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     }
     },
    "description": "Object containing key-value pairs of the retrieved info labels",
    "type": "object"
   }
   }
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 6,072: Line 6,103:
====Addon.Content====
====Addon.Content====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Addon.Content",
  "type": "string",
   "enums": [
   "enums": [
     "unknown",  
     "unknown",  
Line 6,081: Line 6,110:
     "executable"
     "executable"
   ],  
   ],  
  "id": "Addon.Content",
  "type": "string",
   "default": "unknown"
   "default": "unknown"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 6,089: Line 6,120:
<br />
<br />
'''Properties:'''
'''Properties:'''
*''string'' addonid
*[ ''string'' disclaimer = "" ]
*[ ''string'' disclaimer = "" ]
*[ ''string'' fanart = "" ]
*[ ''mixed'' broken = null ]
*[ ''string'' author = "" ]
*[ ''boolean'' enabled = False ]
*[ ''array'' extrainfo ]
*[ ''string'' thumbnail = "" ]
*[ ''string'' thumbnail = "" ]
*''[[#Addon.Types|Addon.Types]]'' type
*[ ''string'' version = "" ]
*[ ''string'' path = "" ]
*[ ''string'' path = "" ]
*''string'' addonid
*[ ''array'' dependencies ]
*[ ''array'' dependencies ]
*[ ''mixed'' broken = null ]
*''[[#Addon.Types|Addon.Types]]'' type
*[ ''string'' summary = "" ]
*[ ''boolean'' enabled = False ]
*[ ''array'' extrainfo ]
*[ ''string'' fanart = "" ]
*[ ''string'' author = "" ]
*[ ''string'' description = "" ]
*[ ''string'' description = "" ]
*[ ''string'' name = "" ]
*[ ''string'' name = "" ]
*[ ''string'' version = "" ]
*[ ''string'' summary = "" ]
*[ ''integer'' rating = 0 ]
*[ ''integer'' rating = 0 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Addon.Details",  
   "id": "Addon.Details",  
  "extends": "Item.Details.Base",
   "properties": {
   "properties": {
    "addonid": {
      "required": true,
      "type": "string"
    },
     "disclaimer": {
     "disclaimer": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "thumbnail": {
     "fanart": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
    "type": {
     "broken": {
      "$ref": "Addon.Types",
       "type": [
      "required": true
         {
    },
           "type": "boolean"
    "version": {
      "type": "string",
      "default": ""
    },
    "path": {
      "type": "string",
      "default": ""
    },
    "addonid": {
      "type": "string",
      "required": true
    },
    "dependencies": {
      "type": "array",
      "items": {
        "properties": {
          "addonid": {
            "type": "string",
            "required": true
          },
          "optional": {
            "type": "boolean",
            "required": true
          },
          "version": {
            "type": "string",
            "required": true
          }
        },
        "type": "object"
      }
    },
     "broken": {
       "type": [
         {
           "type": "boolean"
         },  
         },  
         {
         {
Line 6,164: Line 6,162:
       "default": null
       "default": null
     },  
     },  
     "summary": {
     "author": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
Line 6,173: Line 6,171:
     },  
     },  
     "extrainfo": {
     "extrainfo": {
      "type": "array",
       "items": {
       "items": {
         "properties": {
         "properties": {
          "value": {
            "required": true,
            "type": "string"
          },
           "key": {
           "key": {
            "type": "string",
             "required": true,  
             "required": true
             "type": "string"
          },  
          "value": {
             "type": "string",
            "required": true
           }
           }
         },  
         },  
         "type": "object"
         "type": "object"
       }
       },
      "type": "array"
     },  
     },  
     "fanart": {
     "thumbnail": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "author": {
     "path": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
    },
     "description": {
    "dependencies": {
       "type": "string",  
      "items": {
       "default": ""
        "properties": {
     },  
          "addonid": {
     "name": {
            "required": true,
            "type": "string"
          },
          "version": {
            "required": true,
            "type": "string"
          },
          "optional": {
            "required": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "type": {
      "$ref": "Addon.Types",
      "required": true
     },  
     "description": {
       "type": "string",  
       "default": ""
     },  
     "name": {
      "type": "string",
      "default": ""
    },
    "version": {
      "type": "string",
      "default": ""
    },
    "summary": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
Line 6,208: Line 6,238:
       "default": 0
       "default": 0
     }
     }
   }
   },
  "extends": "Item.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,215: Line 6,246:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Addon.Fields",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "name",  
       "name",  
Line 6,234: Line 6,262:
       "rating",  
       "rating",  
       "enabled"
       "enabled"
     ]
     ],
   }
    "type": "string"
   },
  "id": "Addon.Fields",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Addon.Types====
====Addon.Types====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Addon.Types",
  "type": "string",
   "enums": [
   "enums": [
     "unknown",  
     "unknown",  
Line 6,264: Line 6,293:
     "xbmc.service"
     "xbmc.service"
   ],  
   ],  
  "id": "Addon.Types",
  "type": "string",
   "default": "unknown"
   "default": "unknown"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 6,270: Line 6,301:
====Application.Property.Name====
====Application.Property.Name====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Application.Property.Name",
  "type": "string",
   "enums": [
   "enums": [
     "volume",  
     "volume",  
Line 6,278: Line 6,307:
     "version"
     "version"
   ],  
   ],  
  "id": "Application.Property.Name",
  "type": "string",
   "default": "volume"
   "default": "volume"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 6,284: Line 6,315:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' name = "" ]
*[ ''integer'' volume = 0 ]
*[ ''object'' version ]<br />
*[ ''object'' version ]<br />
'''Properties:'''
'''Properties:'''
**[ ''mixed'' revision = null ]
**''integer'' minor
**''integer'' minor
**''string'' tag
**''string'' tag
**''integer'' major
**''integer'' major
**[ ''mixed'' revision = null ]


*[ ''string'' name = "" ]
*[ ''integer'' volume = 0 ]
*[ ''boolean'' muted = False ]
*[ ''boolean'' muted = False ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Application.Property.Value",  
   "id": "Application.Property.Value",  
  "type": "object",
   "properties": {
   "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "default": ""
    },
    "volume": {
      "maximum": 100,
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
     "version": {
     "version": {
       "properties": {
       "properties": {
         "revision": {
         "minor": {
           "type": [
           "minimum": 0,  
            {
           "required": true,  
              "type": "string"
           "type": "integer"
            },  
         },  
            {
              "type": "integer"
            }
          ],
          "default": null
        },
        "minor": {
           "required": true,  
           "type": "integer",
          "minimum": 0
         },  
         "tag": {
         "tag": {
          "required": true,
          "type": "string",
           "enums": [
           "enums": [
             "prealpha",  
             "prealpha",  
Line 6,336: Line 6,342:
             "releasecandidate",  
             "releasecandidate",  
             "stable"
             "stable"
           ]
           ],
          "required": true,
          "type": "string"
         },  
         },  
         "major": {
         "major": {
          "minimum": 0,
           "required": true,  
           "required": true,  
           "type": "integer",  
           "type": "integer"
           "minimum": 0
        },
        "revision": {
          "type": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            }
          ],  
           "default": null
         }
         }
       },  
       },  
       "type": "object"
       "type": "object"
    },
    "name": {
      "minLength": 1,
      "type": "string",
      "default": ""
    },
    "volume": {
      "minimum": 0,
      "type": "integer",
      "default": 0,
      "maximum": 100
     },  
     },  
     "muted": {
     "muted": {
Line 6,350: Line 6,380:
       "default": false
       "default": false
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,356: Line 6,387:
====Array.Integer====
====Array.Integer====
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Array.Integer",
  "type": "array",
   "items": {
   "items": {
     "type": "integer"
     "type": "integer"
   }
   },
  "id": "Array.Integer",
  "type": "array"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Array.String====
====Array.String====
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "items": {
    "minLength": 1,
    "type": "string"
  },
   "id": "Array.String",  
   "id": "Array.String",  
   "type": "array",
   "type": "array"
  "items": {
    "type": "string",
    "minLength": 1
  }
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,380: Line 6,411:
'''Properties:'''
'''Properties:'''
*[ ''[[#Array.String|Array.String]]'' theme ]
*[ ''[[#Array.String|Array.String]]'' theme ]
*[ ''string'' description = "" ]
*[ ''string'' type = "" ]
*[ ''string'' type = "" ]
*[ ''[[#Array.String|Array.String]]'' style ]
*''[[#Library.Id|Library.Id]]'' albumid
*[ ''integer'' playcount = 0 ]
*[ ''integer'' playcount = 0 ]
*[ ''string'' albumlabel = "" ]
*[ ''string'' albumlabel = "" ]
*[ ''string'' description = "" ]
*[ ''[[#Array.String|Array.String]]'' mood ]
*[ ''[[#Array.String|Array.String]]'' mood ]
*''[[#Library.Id|Library.Id]]'' albumid
*[ ''[[#Array.String|Array.String]]'' style ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Audio.Details.Album",  
   "id": "Audio.Details.Album",  
  "extends": "Audio.Details.Media",
   "properties": {
   "properties": {
     "theme": {
     "theme": {
       "$ref": "Array.String"
       "$ref": "Array.String"
     },  
     },  
     "type": {
     "description": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "playcount": {
     "type": {
      "type": "integer",
      "default": 0
    },
    "albumlabel": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "description": {
     "style": {
      "type": "string",
      "default": ""
    },
    "mood": {
       "$ref": "Array.String"
       "$ref": "Array.String"
     },  
     },  
Line 6,417: Line 6,439:
       "required": true
       "required": true
     },  
     },  
     "style": {
     "playcount": {
      "type": "integer",
      "default": 0
    },
    "albumlabel": {
      "type": "string",
      "default": ""
    },
    "mood": {
       "$ref": "Array.String"
       "$ref": "Array.String"
     }
     }
   }
   },
  "extends": "Audio.Details.Media"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,428: Line 6,459:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' born = "" ]
*[ ''string'' formed = "" ]
*[ ''string'' died = "" ]
*[ ''string'' died = "" ]
*[ ''[[#Array.String|Array.String]]'' style ]
*[ ''[[#Array.String|Array.String]]'' yearsactive ]
*[ ''[[#Array.String|Array.String]]'' yearsactive ]
*''[[#Library.Id|Library.Id]]'' artistid
*[ ''[[#Array.String|Array.String]]'' mood ]
*[ ''[[#Array.String|Array.String]]'' instrument ]
*[ ''string'' musicbrainzartistid = "" ]
*[ ''[[#Array.String|Array.String]]'' style ]
*[ ''string'' disbanded = "" ]
*[ ''string'' disbanded = "" ]
*[ ''string'' formed = "" ]
*[ ''string'' description = "" ]
*[ ''string'' born = "" ]
*''string'' artist
*''string'' artist
*[ ''string'' musicbrainzartistid = "" ]
*[ ''[[#Array.String|Array.String]]'' instrument ]
*[ ''[[#Array.String|Array.String]]'' mood ]
*''[[#Library.Id|Library.Id]]'' artistid
*[ ''string'' description = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Audio.Details.Artist",  
   "id": "Audio.Details.Artist",  
  "extends": "Audio.Details.Base",
   "properties": {
   "properties": {
    "born": {
      "type": "string",
      "default": ""
    },
    "formed": {
      "type": "string",
      "default": ""
    },
     "died": {
     "died": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "yearsactive": {
     "style": {
       "$ref": "Array.String"
       "$ref": "Array.String"
     },  
     },  
     "artistid": {
     "yearsactive": {
      "$ref": "Library.Id",
      "required": true
    },
    "instrument": {
       "$ref": "Array.String"
       "$ref": "Array.String"
     },  
     },  
     "style": {
     "mood": {
       "$ref": "Array.String"
       "$ref": "Array.String"
     },  
     },  
     "disbanded": {
     "musicbrainzartistid": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "formed": {
     "disbanded": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "born": {
     "description": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "artist": {
     "artist": {
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     "musicbrainzartistid": {
     "instrument": {
       "type": "string",
       "$ref": "Array.String"
      "default": ""
     },  
     },  
     "mood": {
     "artistid": {
       "$ref": "Array.String"
       "$ref": "Library.Id",  
    },
       "required": true
    "description": {
      "type": "string",  
       "default": ""
     }
     }
   }
   },
  "extends": "Audio.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,499: Line 6,530:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Audio.Details.Base",  
   "id": "Audio.Details.Base",  
  "extends": "Media.Details.Base",
   "properties": {
   "properties": {
     "genre": {
     "genre": {
       "$ref": "Array.String"
       "$ref": "Array.String"
     }
     }
   }
   },
  "extends": "Media.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,512: Line 6,543:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' title = "" ]
*[ ''string'' displayartist = "" ]
*[ ''string'' musicbrainzalbumid = "" ]
*[ ''integer'' year = 0 ]
*[ ''[[#Array.String|Array.String]]'' artist ]
*[ ''[[#Array.String|Array.String]]'' artist ]
*[ ''[[#Array.Integer|Array.Integer]]'' genreid ]
*[ ''string'' musicbrainzalbumartistid = "" ]
*[ ''string'' musicbrainzalbumartistid = "" ]
*[ ''integer'' year = 0 ]
*[ ''integer'' rating = 0 ]
*[ ''integer'' rating = 0 ]
*[ ''[[#Array.Integer|Array.Integer]]'' artistid ]
*[ ''string'' title = "" ]
*[ ''string'' musicbrainzalbumid = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Audio.Details.Media",  
   "id": "Audio.Details.Media",  
  "extends": "Audio.Details.Base",
   "properties": {
   "properties": {
     "title": {
     "displayartist": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "musicbrainzalbumid": {
     "artist": {
      "$ref": "Array.String"
    },
    "genreid": {
      "$ref": "Array.Integer"
    },
    "musicbrainzalbumartistid": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
Line 6,534: Line 6,573:
       "default": 0
       "default": 0
     },  
     },  
     "artist": {
     "rating": {
       "$ref": "Array.String"
      "type": "integer",
      "default": 0
    },
    "artistid": {
       "$ref": "Array.Integer"
     },  
     },  
     "musicbrainzalbumartistid": {
     "title": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "rating": {
     "musicbrainzalbumid": {
       "type": "integer",  
       "type": "string",  
       "default": 0
       "default": ""
     }
     }
   }
   },
  "extends": "Audio.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,553: Line 6,597:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' lyrics = "" ]
*''[[#Library.Id|Library.Id]]'' songid
*[ ''[[#Array.Integer|Array.Integer]]'' albumartistid ]
*[ ''integer'' disc = 0 ]
*[ ''string'' comment = "" ]
*[ ''integer'' playcount = 0 ]
*[ ''integer'' playcount = 0 ]
*[ ''integer'' duration = 0 ]
*[ ''string'' album = "" ]
*[ ''integer'' disc = 0 ]
*[ ''integer'' track = 0 ]
*[ ''[[#Array.String|Array.String]]'' albumartist ]
*[ ''string'' file = "" ]
*[ ''string'' file = "" ]
*[ ''string'' lastplayed = "" ]
*[ ''[[#Library.Id|Library.Id]]'' albumid = -1 ]
*[ ''[[#Library.Id|Library.Id]]'' albumid = -1 ]
*[ ''string'' musicbrainzartistid = "" ]
*[ ''[[#Array.String|Array.String]]'' albumartist ]
*[ ''integer'' duration = 0 ]
*[ ''string'' musicbrainztrackid = "" ]
*[ ''string'' musicbrainztrackid = "" ]
*[ ''string'' lastplayed = "" ]
*[ ''integer'' track = 0 ]
*[ ''string'' musicbrainzartistid = "" ]
*[ ''string'' lyrics = "" ]
*[ ''string'' comment = "" ]
*''[[#Library.Id|Library.Id]]'' songid
*[ ''string'' album = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Audio.Details.Song",  
   "id": "Audio.Details.Song",  
  "extends": "Audio.Details.Media",
   "properties": {
   "properties": {
     "playcount": {
     "lyrics": {
       "type": "integer",  
       "type": "string",  
       "default": 0
       "default": ""
    },
    "songid": {
      "$ref": "Library.Id",
      "required": true
     },  
     },  
     "duration": {
     "albumartistid": {
       "type": "integer",
       "$ref": "Array.Integer"
      "default": 0
     },  
     },  
     "disc": {
     "disc": {
Line 6,583: Line 6,630:
       "default": 0
       "default": 0
     },  
     },  
     "track": {
     "comment": {
      "type": "string",
      "default": ""
    },
    "playcount": {
       "type": "integer",  
       "type": "integer",  
       "default": 0
       "default": 0
     },  
     },  
     "albumartist": {
     "album": {
      "$ref": "Array.String"
    },
    "file": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "albumid": {
     "file": {
      "$ref": "Library.Id",
      "default": -1
    },
    "musicbrainztrackid": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
Line 6,605: Line 6,649:
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
    },
    "albumid": {
      "$ref": "Library.Id",
      "default": -1
     },  
     },  
     "musicbrainzartistid": {
     "musicbrainzartistid": {
Line 6,610: Line 6,658:
       "default": ""
       "default": ""
     },  
     },  
     "lyrics": {
     "albumartist": {
       "type": "string",  
      "$ref": "Array.String"
       "default": ""
    },
    "duration": {
       "type": "integer",  
       "default": 0
     },  
     },  
     "comment": {
     "musicbrainztrackid": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "songid": {
     "track": {
      "$ref": "Library.Id",
       "type": "integer",  
      "required": true
       "default": 0
    },
    "album": {
       "type": "string",  
       "default": ""
     }
     }
   }
   },
  "extends": "Audio.Details.Media"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,633: Line 6,681:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Audio.Fields.Album",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 6,653: Line 6,698:
       "fanart",  
       "fanart",  
       "thumbnail",  
       "thumbnail",  
       "playcount"
       "playcount",
     ]
      "genreid",
   }
      "artistid",
      "displayartist"
     ],
    "description": "Requesting the genreid and/or artistid field will result in increased response times",
    "type": "string"
   },
  "id": "Audio.Fields.Album",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,662: Line 6,714:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Audio.Fields.Artist",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "instrument",  
       "instrument",  
Line 6,680: Line 6,729:
       "fanart",  
       "fanart",  
       "thumbnail"
       "thumbnail"
     ]
     ],
   }
    "type": "string"
   },
  "id": "Audio.Fields.Artist",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,688: Line 6,740:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Audio.Fields.Song",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 6,714: Line 6,763:
       "albumid",  
       "albumid",  
       "lastplayed",  
       "lastplayed",  
       "disc"
       "disc",
     ]
      "genreid",
   }
      "artistid",
      "displayartist",
      "albumartistid"
     ],
    "description": "Requesting the genreid, artistid and/or albumartistid field will result in increased response times",
    "type": "string"
   },
  "id": "Audio.Fields.Song",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,726: Line 6,783:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Configuration",  
   "id": "Configuration",  
  "type": "object",
  "required": true,
   "properties": {
   "properties": {
     "notifications": {
     "notifications": {
Line 6,733: Line 6,788:
       "required": true
       "required": true
     }
     }
   }
   },
  "required": true,
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,739: Line 6,796:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''boolean'' videolibrary
*''boolean'' system
*''boolean'' player
*''boolean'' gui
*''boolean'' gui
*''boolean'' other
*''boolean'' input
*''boolean'' input
*''boolean'' videolibrary
*''boolean'' audiolibrary
*''boolean'' audiolibrary
*''boolean'' other
*''boolean'' pvr
*''boolean'' playlist
*''boolean'' playlist
*''boolean'' system
*''boolean'' player
*''boolean'' application
*''boolean'' application
*''boolean'' pvr
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "additionalProperties": false,
   "id": "Configuration.Notifications",  
   "id": "Configuration.Notifications",  
  "type": "object",
   "properties": {
   "properties": {
     "videolibrary": {
     "gui": {
       "type": "boolean",  
       "required": true,  
       "required": true
       "type": "boolean"
     },  
     },  
     "system": {
     "other": {
       "type": "boolean",  
       "required": true,  
       "required": true
       "type": "boolean"
     },  
     },  
     "player": {
     "input": {
       "type": "boolean",  
       "required": true,  
       "required": true
       "type": "boolean"
     },  
     },  
     "gui": {
     "videolibrary": {
      "type": "boolean",
       "required": true,  
       "required": true
       "type": "boolean"
    },  
    "input": {
       "type": "boolean",
      "required": true
     },  
     },  
     "audiolibrary": {
     "audiolibrary": {
       "type": "boolean",  
       "required": true,  
       "required": true
       "type": "boolean"
     },  
     },  
     "other": {
     "pvr": {
       "type": "boolean",  
       "required": true,  
       "required": true
       "type": "boolean"
     },  
     },  
     "playlist": {
     "playlist": {
       "type": "boolean",  
      "required": true,
       "required": true
      "type": "boolean"
    },
    "system": {
      "required": true,
       "type": "boolean"
    },  
    "player": {
       "required": true,
      "type": "boolean"
     },  
     },  
     "application": {
     "application": {
      "type": "boolean",
       "required": true,  
       "required": true
       "type": "boolean"
    },  
    "pvr": {
       "type": "boolean",
      "required": true
     }
     }
   },  
   },  
   "additionalProperties": false
   "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 6,800: Line 6,857:
====Files.Media====
====Files.Media====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Files.Media",
  "type": "string",
   "enums": [
   "enums": [
     "video",  
     "video",  
Line 6,809: Line 6,864:
     "programs"
     "programs"
   ],  
   ],  
  "id": "Files.Media",
  "type": "string",
   "default": "video"
   "default": "video"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 6,815: Line 6,872:
====GUI.Property.Name====
====GUI.Property.Name====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "GUI.Property.Name",
  "type": "string",
   "enums": [
   "enums": [
     "currentwindow",  
     "currentwindow",  
Line 6,823: Line 6,878:
     "fullscreen"
     "fullscreen"
   ],  
   ],  
  "id": "GUI.Property.Name",
  "type": "string",
   "default": "currentwindow"
   "default": "currentwindow"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 6,829: Line 6,886:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''object'' currentwindow ]<br />
'''Properties:'''
**''string'' label
**''integer'' id
*[ ''boolean'' fullscreen = False ]
*[ ''object'' skin ]<br />
*[ ''object'' skin ]<br />
'''Properties:'''
'''Properties:'''
Line 6,838: Line 6,901:
**''string'' label
**''string'' label


*[ ''object'' currentwindow ]<br />
'''Properties:'''
**''string'' label
**''integer'' id
*[ ''boolean'' fullscreen = False ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "GUI.Property.Value",  
   "id": "GUI.Property.Value",  
  "type": "object",
   "properties": {
   "properties": {
    "currentwindow": {
      "properties": {
        "label": {
          "required": true,
          "type": "string"
        },
        "id": {
          "required": true,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "fullscreen": {
      "type": "boolean",
      "default": false
    },
     "skin": {
     "skin": {
       "properties": {
       "properties": {
         "id": {
         "id": {
           "type": "string",  
           "minLength": 1,  
           "required": true,  
           "required": true,  
           "minLength": 1
           "type": "string"
         },  
         },  
         "name": {
         "name": {
Line 6,865: Line 6,938:
       "properties": {
       "properties": {
         "label": {
         "label": {
           "type": "string",  
           "required": true,  
           "required": true
           "type": "string"
         }
         }
       },  
       },  
       "type": "object"
       "type": "object"
     },
     }
    "currentwindow": {
  },  
      "properties": {
  "type": "object"
        "label": {
}</syntaxhighlight>}}
          "type": "string",
          "required": true
        },  
        "id": {
          "type": "integer",
          "required": true
        }
      },
      "type": "object"
    },
    "fullscreen": {
      "type": "boolean",
      "default": false
    }
  }
}</syntaxhighlight>}}


====GUI.Window====
====GUI.Window====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "GUI.Window",
  "type": "string",
   "enums": [
   "enums": [
     "home",  
     "home",  
Line 7,011: Line 7,066:
     "mediafilter"
     "mediafilter"
   ],  
   ],  
  "id": "GUI.Window",
  "type": "string",
   "default": "home"
   "default": "home"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,017: Line 7,074:
====Global.IncrementDecrement====
====Global.IncrementDecrement====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Global.IncrementDecrement",
  "type": "string",
   "enums": [
   "enums": [
     "increment",  
     "increment",  
     "decrement"
     "decrement"
   ],  
   ],  
  "id": "Global.IncrementDecrement",
  "type": "string",
   "default": "increment"
   "default": "increment"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,029: Line 7,086:
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Global.String.NotEmpty",  
   "id": "Global.String.NotEmpty",  
  "minLength": 1,
   "type": "string",  
   "type": "string",  
  "minLength": 1,
   "default": ""
   "default": ""
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,037: Line 7,094:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''integer'' hours
*''integer'' milliseconds
*''integer'' milliseconds
*''integer'' seconds
*''integer'' seconds
*''integer'' minutes
*''integer'' minutes
*''integer'' hours
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "additionalProperties": false,
   "id": "Global.Time",  
   "id": "Global.Time",  
  "type": "object",
   "properties": {
   "properties": {
    "hours": {
      "minimum": 0,
      "required": true,
      "type": "integer",
      "maximum": 23
    },
     "milliseconds": {
     "milliseconds": {
      "minimum": 0,
       "required": true,  
       "required": true,  
      "maximum": 999,
       "type": "integer",  
       "type": "integer",  
       "minimum": 0
       "maximum": 999
     },  
     },  
     "seconds": {
     "seconds": {
      "minimum": 0,
       "required": true,  
       "required": true,  
      "maximum": 59,
       "type": "integer",  
       "type": "integer",  
       "minimum": 0
       "maximum": 59
     },  
     },  
     "minutes": {
     "minutes": {
      "minimum": 0,
       "required": true,  
       "required": true,  
      "maximum": 59,
      "type": "integer",
      "minimum": 0
    },
    "hours": {
      "required": true,
      "maximum": 23,
       "type": "integer",  
       "type": "integer",  
       "minimum": 0
       "maximum": 59
     }
     }
   },  
   },  
   "additionalProperties": false
   "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,081: Line 7,138:
     },  
     },  
     {
     {
      "type": "string",
       "enums": [
       "enums": [
         "toggle"
         "toggle"
       ]
       ],
      "type": "string"
     }
     }
   ],  
   ],  
Line 7,093: Line 7,150:
====Input.Action====
====Input.Action====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Input.Action",
  "type": "string",
   "enums": [
   "enums": [
     "left",  
     "left",  
Line 7,269: Line 7,324:
     "noop"
     "noop"
   ],  
   ],  
  "id": "Input.Action",
  "type": "string",
   "default": "left"
   "default": "left"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,279: Line 7,336:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Item.Details.Base",  
   "id": "Item.Details.Base",  
  "type": "object",
   "properties": {
   "properties": {
     "label": {
     "label": {
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Item.Fields.Base====
====Item.Fields.Base====
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Item.Fields.Base",
  "type": "array",
   "items": {
   "items": {
     "type": "string"
     "type": "string"
   },  
   },  
   "uniqueItems": true
   "uniqueItems": true,
  "id": "Item.Fields.Base",
  "type": "array"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,304: Line 7,361:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' thumbnail = "" ]
*[ ''string'' title = "" ]
*[ ''string'' title = "" ]
*[ ''string'' thumbnail = "" ]
*''[[#Library.Id|Library.Id]]'' genreid
*''[[#Library.Id|Library.Id]]'' genreid
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Library.Details.Genre",  
   "id": "Library.Details.Genre",  
  "extends": "Item.Details.Base",
   "properties": {
   "properties": {
     "title": {
     "thumbnail": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "thumbnail": {
     "title": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
Line 7,323: Line 7,379:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "Item.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,330: Line 7,387:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Library.Fields.Genre",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
       "thumbnail"
       "thumbnail"
     ]
     ],
   }
    "type": "string"
   },
  "id": "Library.Fields.Genre",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Library.Id====
====Library.Id====
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "minimum": 1,
   "id": "Library.Id",  
   "id": "Library.Id",  
   "type": "integer",  
   "type": "integer",  
  "minimum": 1,
   "default": -1
   "default": -1
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,352: Line 7,409:
====List.Amount====
====List.Amount====
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "minimum": 0,
   "id": "List.Amount",  
   "id": "List.Amount",  
   "type": "integer",  
   "type": "integer",  
  "minimum": 0,
   "default": -1
   "default": -1
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,362: Line 7,419:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Fields.All",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 7,420: Line 7,474:
       "tag",  
       "tag",  
       "art",  
       "art",  
      "genreid",
      "displayartist",
      "albumartistid",
      "description",
      "theme",
      "mood",
      "style",
      "albumlabel",
      "sorttitle",
      "episodeguide",
      "uniqueid",
      "dateadded",
       "channel",  
       "channel",  
       "channeltype",  
       "channeltype",  
Line 7,427: Line 7,493:
       "starttime",  
       "starttime",  
       "endtime"
       "endtime"
     ]
     ],
   }
    "type": "string"
   },
  "id": "List.Fields.All",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,435: Line 7,504:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Fields.Files",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 7,489: Line 7,555:
       "tvshowid",  
       "tvshowid",  
       "setid",  
       "setid",  
      "watchedepisodes",
      "disc",
      "tag",
      "art",
      "genreid",
      "displayartist",
      "albumartistid",
      "description",
      "theme",
      "mood",
      "style",
      "albumlabel",
      "sorttitle",
      "episodeguide",
      "uniqueid",
      "dateadded",
       "size",  
       "size",  
       "lastmodified",  
       "lastmodified",  
       "mimetype",  
       "mimetype"
      "watchedepisodes",  
    ],  
      "disc"
    "type": "string"
    ]
  },  
   }
  "id": "List.Fields.Files",
   "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,505: Line 7,588:
       "properties": {
       "properties": {
         "and": {
         "and": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Albums"
             "$ref": "List.Filter.Albums"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,518: Line 7,601:
       "properties": {
       "properties": {
         "or": {
         "or": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Albums"
             "$ref": "List.Filter.Albums"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,541: Line 7,624:
       "properties": {
       "properties": {
         "and": {
         "and": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Artists"
             "$ref": "List.Filter.Artists"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,554: Line 7,637:
       "properties": {
       "properties": {
         "or": {
         "or": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Artists"
             "$ref": "List.Filter.Artists"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,577: Line 7,660:
       "properties": {
       "properties": {
         "and": {
         "and": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Episodes"
             "$ref": "List.Filter.Episodes"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,590: Line 7,673:
       "properties": {
       "properties": {
         "or": {
         "or": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Episodes"
             "$ref": "List.Filter.Episodes"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,608: Line 7,691:
====List.Filter.Fields.Albums====
====List.Filter.Fields.Albums====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Filter.Fields.Albums",
  "type": "string",
   "enums": [
   "enums": [
     "genre",  
     "genre",  
Line 7,626: Line 7,707:
     "playlist"
     "playlist"
   ],  
   ],  
  "id": "List.Filter.Fields.Albums",
  "type": "string",
   "default": "genre"
   "default": "genre"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,631: Line 7,714:
====List.Filter.Fields.Artists====
====List.Filter.Fields.Artists====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Filter.Fields.Artists",
  "type": "string",
   "enums": [
   "enums": [
     "artist",  
     "artist",  
Line 7,646: Line 7,727:
     "playlist"
     "playlist"
   ],  
   ],  
  "id": "List.Filter.Fields.Artists",
  "type": "string",
   "default": "artist"
   "default": "artist"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,651: Line 7,734:
====List.Filter.Fields.Episodes====
====List.Filter.Fields.Episodes====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Filter.Fields.Episodes",
  "type": "string",
   "enums": [
   "enums": [
     "title",  
     "title",  
Line 7,685: Line 7,766:
     "playlist"
     "playlist"
   ],  
   ],  
  "id": "List.Filter.Fields.Episodes",
  "type": "string",
   "default": "title"
   "default": "title"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,690: Line 7,773:
====List.Filter.Fields.Movies====
====List.Filter.Fields.Movies====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Filter.Fields.Movies",
  "type": "string",
   "enums": [
   "enums": [
     "title",  
     "title",  
Line 7,727: Line 7,808:
     "playlist"
     "playlist"
   ],  
   ],  
  "id": "List.Filter.Fields.Movies",
  "type": "string",
   "default": "title"
   "default": "title"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,732: Line 7,815:
====List.Filter.Fields.MusicVideos====
====List.Filter.Fields.MusicVideos====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Filter.Fields.MusicVideos",
  "type": "string",
   "enums": [
   "enums": [
     "title",  
     "title",  
Line 7,758: Line 7,839:
     "playlist"
     "playlist"
   ],  
   ],  
  "id": "List.Filter.Fields.MusicVideos",
  "type": "string",
   "default": "title"
   "default": "title"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,763: Line 7,846:
====List.Filter.Fields.Songs====
====List.Filter.Fields.Songs====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Filter.Fields.Songs",
  "type": "string",
   "enums": [
   "enums": [
     "genre",  
     "genre",  
Line 7,783: Line 7,864:
     "playlist"
     "playlist"
   ],  
   ],  
  "id": "List.Filter.Fields.Songs",
  "type": "string",
   "default": "genre"
   "default": "genre"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 7,788: Line 7,871:
====List.Filter.Fields.TVShows====
====List.Filter.Fields.TVShows====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "required": true,
  "id": "List.Filter.Fields.TVShows",
  "type": "string",
   "enums": [
   "enums": [
     "title",  
     "title",  
Line 7,811: Line 7,891:
     "inprogress",  
     "inprogress",  
     "playlist"
     "playlist"
   ]
   ],
  "id": "List.Filter.Fields.TVShows",
  "type": "string",
  "default": "title"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,821: Line 7,904:
       "properties": {
       "properties": {
         "and": {
         "and": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Movies"
             "$ref": "List.Filter.Movies"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,834: Line 7,917:
       "properties": {
       "properties": {
         "or": {
         "or": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Movies"
             "$ref": "List.Filter.Movies"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,857: Line 7,940:
       "properties": {
       "properties": {
         "and": {
         "and": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.MusicVideos"
             "$ref": "List.Filter.MusicVideos"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,870: Line 7,953:
       "properties": {
       "properties": {
         "or": {
         "or": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.MusicVideos"
             "$ref": "List.Filter.MusicVideos"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 7,888: Line 7,971:
====List.Filter.Operators====
====List.Filter.Operators====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "required": true,
  "id": "List.Filter.Operators",
  "type": "string",
   "enums": [
   "enums": [
     "contains",  
     "contains",  
Line 7,907: Line 7,987:
     "false",  
     "false",  
     "between"
     "between"
   ]
   ],
  "id": "List.Filter.Operators",
  "type": "string",
  "default": "contains"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,917: Line 8,000:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Filter.Rule",  
   "id": "List.Filter.Rule",  
  "type": "object",
   "properties": {
   "properties": {
     "value": {
     "value": {
      "required": true,
       "type": [
       "type": [
         {
         {
Line 7,925: Line 8,008:
         },  
         },  
         {
         {
          "type": "array",
           "items": {
           "items": {
             "type": "string"
             "type": "string"
           }
           },
          "type": "array"
         }
         }
       ],
       ]
      "required": true
     },  
     },  
     "operator": {
     "operator": {
Line 7,937: Line 8,019:
       "required": true
       "required": true
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,948: Line 8,031:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Filter.Rule.Albums",  
   "id": "List.Filter.Rule.Albums",  
  "extends": "List.Filter.Rule",
   "properties": {
   "properties": {
     "field": {
     "field": {
Line 7,954: Line 8,036:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "List.Filter.Rule"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,965: Line 8,048:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Filter.Rule.Artists",  
   "id": "List.Filter.Rule.Artists",  
  "extends": "List.Filter.Rule",
   "properties": {
   "properties": {
     "field": {
     "field": {
Line 7,971: Line 8,053:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "List.Filter.Rule"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,982: Line 8,065:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Filter.Rule.Episodes",  
   "id": "List.Filter.Rule.Episodes",  
  "extends": "List.Filter.Rule",
   "properties": {
   "properties": {
     "field": {
     "field": {
Line 7,988: Line 8,070:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "List.Filter.Rule"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 7,999: Line 8,082:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Filter.Rule.Movies",  
   "id": "List.Filter.Rule.Movies",  
  "extends": "List.Filter.Rule",
   "properties": {
   "properties": {
     "field": {
     "field": {
Line 8,005: Line 8,087:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "List.Filter.Rule"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 8,016: Line 8,099:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Filter.Rule.MusicVideos",  
   "id": "List.Filter.Rule.MusicVideos",  
  "extends": "List.Filter.Rule",
   "properties": {
   "properties": {
     "field": {
     "field": {
Line 8,022: Line 8,104:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "List.Filter.Rule"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 8,033: Line 8,116:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Filter.Rule.Songs",  
   "id": "List.Filter.Rule.Songs",  
  "extends": "List.Filter.Rule",
   "properties": {
   "properties": {
     "field": {
     "field": {
Line 8,039: Line 8,121:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "List.Filter.Rule"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 8,050: Line 8,133:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Filter.Rule.TVShows",  
   "id": "List.Filter.Rule.TVShows",  
  "extends": "List.Filter.Rule",
   "properties": {
   "properties": {
     "field": {
     "field": {
Line 8,056: Line 8,138:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "List.Filter.Rule"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 8,066: Line 8,149:
       "properties": {
       "properties": {
         "and": {
         "and": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Songs"
             "$ref": "List.Filter.Songs"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 8,079: Line 8,162:
       "properties": {
       "properties": {
         "or": {
         "or": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.Songs"
             "$ref": "List.Filter.Songs"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 8,102: Line 8,185:
       "properties": {
       "properties": {
         "and": {
         "and": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.TVShows"
             "$ref": "List.Filter.TVShows"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 8,115: Line 8,198:
       "properties": {
       "properties": {
         "or": {
         "or": {
           "type": "array",
           "minItems": 1,  
          "required": true,  
           "items": {
           "items": {
             "$ref": "List.Filter.TVShows"
             "$ref": "List.Filter.TVShows"
           },  
           },  
           "minItems": 1
           "required": true,
          "type": "array"
         }
         }
       },  
       },  
Line 8,133: Line 8,216:
====List.Item.All====
====List.Item.All====
'''Extends:'''
'''Extends:'''
*''[[#Video.Details.File|Video.Details.File]]''
*''[[#List.Item.Base|List.Item.Base]]''
*''[[#Audio.Details.Media|Audio.Details.Media]]''
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#PVR.Channel.Type|PVR.Channel.Type]]'' channeltype = "tv" ]
*[ ''string'' channel = "" ]
*[ ''string'' channel = "" ]
*[ ''integer'' top250 = 0 ]
*[ ''string'' starttime = "" ]
*[ ''[[#PVR.Channel.Type|PVR.Channel.Type]]'' channeltype = "tv" ]
*[ ''string'' endtime = "" ]
*[ ''string'' trailer = "" ]
*[ ''integer'' channelnumber = 0 ]
*[ ''integer'' disc = 0 ]
*[ ''integer'' track = 0 ]
*[ ''string'' firstaired = "" ]
*[ ''[[#Library.Id|Library.Id]]'' albumid = -1 ]
*[ ''string'' originaltitle = "" ]
*[ ''string'' premiered = "" ]
*[ ''string'' type = "unknown" ]
*[ ''[[#Array.String|Array.String]]'' writer ]
*[ ''[[#Video.Cast|Video.Cast]]'' cast ]
*[ ''string'' mpaa = "" ]
*[ ''string'' productioncode = "" ]
*[ ''string'' musicbrainzartistid = "" ]
*[ ''integer'' episode = 0 ]
*[ ''[[#Array.String|Array.String]]'' country ]
*[ ''string'' votes = "" ]
*[ ''string'' tagline = "" ]
*[ ''boolean'' hidden = False ]
*[ ''boolean'' hidden = False ]
*[ ''string'' showtitle = "" ]
*[ ''[[#Library.Id|Library.Id]]'' id = -1 ]
*[ ''boolean'' locked = False ]
*[ ''boolean'' locked = False ]
*[ ''string'' endtime = "" ]
*[ ''[[#Library.Id|Library.Id]]'' setid = -1 ]
*[ ''integer'' duration = 0 ]
*[ ''[[#Array.String|Array.String]]'' showlink ]
*[ ''[[#Array.String|Array.String]]'' studio ]
*[ ''integer'' channelnumber = 0 ]
*[ ''string'' imdbnumber = "" ]
*[ ''[[#Library.Id|Library.Id]]'' tvshowid = -1 ]
*[ ''string'' musicbrainztrackid = "" ]
*[ ''integer'' watchedepisodes = 0 ]
*[ ''integer'' season = 0 ]
*[ ''[[#Array.String|Array.String]]'' albumartist ]
*[ ''[[#Array.String|Array.String]]'' tag ]
*[ ''string'' lyrics = "" ]
*[ ''string'' starttime = "" ]
*[ ''string'' album = "" ]
*[ ''string'' set = "" ]
*[ ''string'' plotoutline = "" ]
*[ ''string'' comment = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Item.All",  
   "id": "List.Item.All",  
  "extends": [
    "Video.Details.File",
    "Audio.Details.Media"
  ],
   "properties": {
   "properties": {
    "channel": {
      "type": "string",
      "default": ""
    },
    "top250": {
      "type": "integer",
      "default": 0
    },
     "channeltype": {
     "channeltype": {
       "$ref": "PVR.Channel.Type",  
       "$ref": "PVR.Channel.Type",  
       "default": "tv"
       "default": "tv"
     },  
     },  
     "trailer": {
     "channel": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "disc": {
     "starttime": {
      "type": "integer",
       "type": "string",  
      "default": 0
    },
    "track": {
      "type": "integer",
      "default": 0
    },
    "firstaired": {
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "albumid": {
     "endtime": {
      "$ref": "Library.Id",
      "default": -1
    },
    "originaltitle": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "premiered": {
     "channelnumber": {
      "type": "string",
      "default": ""
    },
    "type": {
      "type": "string",
      "enums": [
        "unknown",
        "movie",
        "episode",
        "musicvideo",
        "song",
        "picture",
        "channel"
      ],
      "default": "unknown"
    },
    "writer": {
      "$ref": "Array.String"
    },
    "cast": {
      "$ref": "Video.Cast"
    },
    "mpaa": {
      "type": "string",
      "default": ""
    },
    "productioncode": {
      "type": "string",
      "default": ""
    },
    "musicbrainzartistid": {
      "type": "string",
      "default": ""
    },
    "episode": {
       "type": "integer",  
       "type": "integer",  
       "default": 0
       "default": 0
    },
    "country": {
      "$ref": "Array.String"
    },
    "votes": {
      "type": "string",
      "default": ""
    },
    "tagline": {
      "type": "string",
      "default": ""
     },  
     },  
     "hidden": {
     "hidden": {
Line 8,277: Line 8,253:
       "default": false
       "default": false
     },  
     },  
     "showtitle": {
     "locked": {
      "type": "boolean",
      "default": false
    }
  },
  "extends": "List.Item.Base"
}</syntaxhighlight>}}
 
====List.Item.Base====
'''Extends:'''
*''[[#Video.Details.File|Video.Details.File]]''
*''[[#Audio.Details.Media|Audio.Details.Media]]''
<br />
'''Properties:'''
*[ ''string'' sorttitle = "" ]
*[ ''string'' productioncode = "" ]
*[ ''[[#Video.Cast|Video.Cast]]'' cast ]
*[ ''string'' votes = "" ]
*[ ''integer'' duration = 0 ]
*[ ''string'' trailer = "" ]
*[ ''[[#Library.Id|Library.Id]]'' albumid = -1 ]
*[ ''string'' musicbrainzartistid = "" ]
*[ ''string'' mpaa = "" ]
*[ ''string'' albumlabel = "" ]
*[ ''string'' originaltitle = "" ]
*[ ''[[#Array.String|Array.String]]'' writer ]
*[ ''[[#Array.Integer|Array.Integer]]'' albumartistid ]
*[ ''string'' type = "unknown" ]
*[ ''integer'' episode = 0 ]
*[ ''string'' firstaired = "" ]
*[ ''string'' showtitle = "" ]
*[ ''[[#Array.String|Array.String]]'' country ]
*[ ''[[#Array.String|Array.String]]'' mood ]
*[ ''string'' set = "" ]
*[ ''string'' musicbrainztrackid = "" ]
*[ ''[[#Array.String|Array.String]]'' tag ]
*[ ''string'' lyrics = "" ]
*[ ''integer'' top250 = 0 ]
*[ ''string'' comment = "" ]
*[ ''string'' premiered = "" ]
*[ ''[[#Array.String|Array.String]]'' showlink ]
*[ ''[[#Array.String|Array.String]]'' style ]
*[ ''string'' album = "" ]
*[ ''[[#Library.Id|Library.Id]]'' tvshowid = -1 ]
*[ ''integer'' season = 0 ]
*[ ''[[#Array.String|Array.String]]'' theme ]
*[ ''string'' description = "" ]
*[ ''[[#Library.Id|Library.Id]]'' setid = -1 ]
*[ ''integer'' track = 0 ]
*[ ''string'' tagline = "" ]
*[ ''string'' plotoutline = "" ]
*[ ''integer'' watchedepisodes = 0 ]
*[ ''[[#Library.Id|Library.Id]]'' id = -1 ]
*[ ''integer'' disc = 0 ]
*[ ''[[#Array.String|Array.String]]'' albumartist ]
*[ ''[[#Array.String|Array.String]]'' studio ]
*[ ''object'' uniqueid ]
*[ ''string'' episodeguide = "" ]
*[ ''string'' imdbnumber = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Item.Base",
  "properties": {
    "sorttitle": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "id": {
     "productioncode": {
       "$ref": "Library.Id",  
       "type": "string",  
       "default": -1
       "default": ""
     },  
     },  
     "locked": {
     "cast": {
       "type": "boolean",
       "$ref": "Video.Cast"
      "default": false
     },  
     },  
     "endtime": {
     "votes": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
    },
    "setid": {
      "$ref": "Library.Id",
      "default": -1
     },  
     },  
     "duration": {
     "duration": {
Line 8,301: Line 8,334:
       "default": 0
       "default": 0
     },  
     },  
     "showlink": {
     "trailer": {
      "$ref": "Array.String"
    },
    "studio": {
      "$ref": "Array.String"
    },
    "channelnumber": {
      "type": "integer",
      "default": 0
    },
    "imdbnumber": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "tvshowid": {
     "albumid": {
       "$ref": "Library.Id",  
       "$ref": "Library.Id",  
       "default": -1
       "default": -1
     },  
     },  
     "musicbrainztrackid": {
     "musicbrainzartistid": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "watchedepisodes": {
     "mpaa": {
      "type": "integer",
      "default": 0
    },
    "season": {
      "type": "integer",
      "default": 0
    },
    "albumartist": {
      "$ref": "Array.String"
    },
    "tag": {
      "$ref": "Array.String"
    },
    "lyrics": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "starttime": {
     "albumlabel": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "album": {
     "originaltitle": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "set": {
     "writer": {
       "type": "string",  
       "$ref": "Array.String"
       "default": ""
    },  
    "albumartistid": {
       "$ref": "Array.Integer"
     },  
     },  
     "plotoutline": {
     "type": {
      "enums": [
        "unknown",
        "movie",
        "episode",
        "musicvideo",
        "song",
        "picture",
        "channel"
      ],
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": "unknown"
     },  
     },  
     "comment": {
     "episode": {
      "type": "string",
      "default": ""
    }
  }
}</syntaxhighlight>}}
 
====List.Item.File====
'''Extends:'''
*''[[#List.Item.All|List.Item.All]]''
<br />
'''Properties:'''
*[ ''integer'' size = 0 ]
*''string'' file
*''string'' filetype
*[ ''string'' lastmodified = "" ]
*[ ''string'' mimetype = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Item.File",
  "extends": "List.Item.All",
  "properties": {
    "size": {
      "description": "Size of the file in kB (1000 Byte)",
       "type": "integer",  
       "type": "integer",  
       "default": 0
       "default": 0
     },  
     },  
     "file": {
     "firstaired": {
       "type": "string",  
       "type": "string",  
       "required": true
       "default": ""
     },  
     },  
     "filetype": {
     "showtitle": {
      "required": true,
       "type": "string",  
       "type": "string",  
       "enums": [
       "default": ""
        "file",  
    },
        "directory"
    "country": {
       ]
      "$ref": "Array.String"
    },  
    "mood": {
       "$ref": "Array.String"
     },  
     },  
     "lastmodified": {
     "set": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "mimetype": {
     "musicbrainztrackid": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
    }
  }
}</syntaxhighlight>}}
====List.Items.Sources====
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Items.Sources",
  "type": "array",
  "items": {
    "properties": {
      "file": {
        "type": "string",
        "required": true
      }
     },  
     },  
     "extends": "Item.Details.Base"
     "tag": {
  }
      "$ref": "Array.String"
}</syntaxhighlight>}}
    },  
 
     "lyrics": {
====List.Limits====
       "type": "string",  
'''Type:''' ''object''<br />
       "default": ""
'''Properties:'''
*[ ''[[#List.Amount|List.Amount]]'' end = -1 ]
*[ ''integer'' start = 0 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "List.Limits",
  "type": "object",  
  "properties": {
     "end": {
       "$ref": "List.Amount",  
       "description": "Index of the last item to return",
      "default": -1
     },  
     },  
     "start": {
     "top250": {
      "description": "Index of the first item to return",
       "type": "integer",  
       "type": "integer",  
      "minimum": 0,
       "default": 0
       "default": 0
     }
     },
  },  
    "comment": {
  "additionalProperties": false
      "type": "string",  
}</syntaxhighlight>}}
      "default": ""
 
    },
====List.LimitsReturned====
    "premiered": {
'''Type:''' ''object''<br />
      "type": "string",
'''Properties:'''
      "default": ""
*[ ''[[#List.Amount|List.Amount]]'' end = -1 ]
    },
*''integer'' total
    "showlink": {
*[ ''integer'' start = 0 ]
      "$ref": "Array.String"
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
    },
  "id": "List.LimitsReturned",  
    "style": {
  "type": "object",  
      "$ref": "Array.String"
  "properties": {
    },  
     "end": {
    "album": {
       "$ref": "List.Amount",  
      "type": "string",  
      "default": ""
    },
     "tvshowid": {
       "$ref": "Library.Id",  
       "default": -1
       "default": -1
     },  
     },  
     "total": {
     "season": {
      "required": true,
       "type": "integer",  
       "type": "integer",  
       "minimum": 0
       "default": 0
    },
    "theme": {
      "$ref": "Array.String"
     },  
     },  
     "start": {
     "description": {
       "type": "integer",  
      "type": "string",
       "minimum": 0,  
      "default": ""
       "default": 0
    },
    "setid": {
      "$ref": "Library.Id",
      "default": -1
    },
    "track": {
       "type": "integer",  
       "default": 0
    },
    "tagline": {
      "type": "string",
      "default": ""
    },
    "plotoutline": {
      "type": "string",
      "default": ""
    },
    "watchedepisodes": {
      "type": "integer",  
       "default": 0
    },
    "id": {
      "$ref": "Library.Id",
      "default": -1
    },
    "disc": {
      "type": "integer",
      "default": 0
    },
    "albumartist": {
      "$ref": "Array.String"
    },
    "studio": {
      "$ref": "Array.String"
    },
    "uniqueid": {
      "additionalProperties": {
        "minLength": 1,
        "type": "string",
        "default": ""
      },
      "type": "object"
    },
    "episodeguide": {
      "type": "string",
      "default": ""
    },
    "imdbnumber": {
      "type": "string",
      "default": ""
     }
     }
   },  
   },  
   "additionalProperties": false
   "extends": [
    "Video.Details.File",
    "Audio.Details.Media"
  ]
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====List.Sort====
====List.Item.File====
'''Type:''' ''object''<br />
'''Extends:'''
*''[[#List.Item.Base|List.Item.Base]]''
<br />
'''Properties:'''
'''Properties:'''
*[ ''boolean'' ignorearticle = False ]
*''string'' filetype
*[ ''string'' order = "ascending" ]
*[ ''integer'' size = 0 ]
*[ ''string'' method = "none" ]
*[ ''string'' mimetype = "" ]
*''string'' file
*[ ''string'' lastmodified = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "List.Sort",
   "id": "List.Item.File",  
  "type": "object",  
   "properties": {
   "properties": {
     "ignorearticle": {
     "filetype": {
       "type": "boolean",  
      "enums": [
       "default": false
        "file",
        "directory"
      ],
      "required": true,
      "type": "string"
    },
    "size": {
      "description": "Size of the file in kB (1000 Byte)",
       "type": "integer",  
       "default": 0
     },  
     },  
     "order": {
     "mimetype": {
       "type": "string",  
       "type": "string",  
       "enums": [
       "default": ""
        "ascending",  
    },  
        "descending"
    "file": {
       ],  
       "required": true,  
       "default": "ascending"
       "type": "string"
     },  
     },  
     "method": {
     "lastmodified": {
       "type": "string",  
       "type": "string",  
       "enums": [
       "default": ""
        "none",
    }
        "label",
  },  
        "date",  
  "extends": "List.Item.Base"
        "size",
}</syntaxhighlight>}}
        "file",
 
        "path",
====List.Items.Sources====
        "drivetype",
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
        "title",
  "items": {
        "track",
    "properties": {
        "time",
      "file": {
        "artist",
         "required": true,  
        "album",
         "type": "string"
         "albumtype",  
      }
         "genre",
    },  
        "country",
    "extends": "Item.Details.Base"
        "year",
  },  
        "rating",  
  "id": "List.Items.Sources",  
        "votes",
  "type": "array"
        "top250",
        "programcount",  
        "playlist",
        "episode",  
        "season",
        "totalepisodes",
        "watchedepisodes",
        "tvshowstatus",
        "tvshowtitle",
        "sorttitle",
        "productioncode",
        "mpaa",
        "studio",
        "dateadded",
        "lastplayed",
        "playcount",
        "listeners",
        "bitrate",
        "random"
      ],
      "default": "none"
    }
  }
}</syntaxhighlight>}}
}</syntaxhighlight>}}


===Media===
====List.Limits====
====Media.Artwork====
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Global.String.NotEmpty|Global.String.NotEmpty]]'' thumb = "" ]
*[ ''[[#List.Amount|List.Amount]]'' end = -1 ]
*[ ''[[#Global.String.NotEmpty|Global.String.NotEmpty]]'' banner = "" ]
*[ ''integer'' start = 0 ]
*[ ''[[#Global.String.NotEmpty|Global.String.NotEmpty]]'' poster = "" ]
*[ ''[[#Global.String.NotEmpty|Global.String.NotEmpty]]'' fanart = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Media.Artwork",  
   "additionalProperties": false,  
   "type": "object",  
   "id": "List.Limits",  
   "properties": {
   "properties": {
     "thumb": {
     "end": {
       "$ref": "Global.String.NotEmpty",  
       "$ref": "List.Amount",  
       "default": ""
       "description": "Index of the last item to return",
      "default": -1
     },  
     },  
     "banner": {
     "start": {
       "$ref": "Global.String.NotEmpty",
       "minimum": 0,  
      "default": ""
       "description": "Index of the first item to return",  
    },
       "type": "integer",  
    "poster": {
       "default": 0
      "$ref": "Global.String.NotEmpty",  
       "default": ""
    },  
    "fanart": {
       "$ref": "Global.String.NotEmpty",  
       "default": ""
     }
     }
   },  
   },  
   "additionalProperties": {
   "type": "object"
    "$ref": "Global.String.NotEmpty",
}</syntaxhighlight>}}
    "default": ""
  }
}</syntaxhighlight>}}


====Media.Details.Base====
====List.LimitsReturned====
'''Extends:'''
'''Type:''' ''object''<br />
*''[[#Item.Details.Base|Item.Details.Base]]''
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' thumbnail = "" ]
*[ ''[[#List.Amount|List.Amount]]'' end = -1 ]
*[ ''string'' fanart = "" ]
*''integer'' total
*[ ''integer'' start = 0 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Media.Details.Base",  
   "additionalProperties": false,  
   "extends": "Item.Details.Base",  
   "id": "List.LimitsReturned",  
   "properties": {
   "properties": {
     "thumbnail": {
     "end": {
       "type": "string",  
       "$ref": "List.Amount",  
       "default": ""
       "default": -1
    },
    "total": {
      "minimum": 0,
      "required": true,
      "type": "integer"
     },  
     },  
     "fanart": {
     "start": {
       "type": "string",  
      "minimum": 0,
       "default": ""
       "type": "integer",  
       "default": 0
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


===Notifications===
====List.Sort====
====Notifications.Item====
'''Type:''' ''object''<br />
'''Type:''' ''mixed''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Properties:'''
   "id": "Notifications.Item",  
*[ ''string'' order = "ascending" ]
   "type": [
*[ ''boolean'' ignorearticle = False ]
     {
*[ ''string'' method = "none" ]
       "description": "An unknown item does not have any additional information.",  
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
      "type": "object",  
   "id": "List.Sort",  
       "properties": {
   "properties": {
        "type": {
     "order": {
          "$ref": "Notifications.Item.Type",
       "enums": [
          "required": true
        "ascending",  
        }
        "descending"
      }
      ],  
       "type": "string",
      "default": "ascending"
     },  
     },  
     {
     "ignorearticle": {
      "description": "An item known to the database has an identification.",
       "type": "boolean",  
       "type": "object",  
       "default": false
       "properties": {
        "id": {
          "$ref": "Library.Id",
          "required": true
        },
        "type": {
          "$ref": "Notifications.Item.Type",
          "required": true
        }
      }
     },  
     },  
     {
     "method": {
       "description": "A movie item has a title and may have a release year.",  
       "enums": [
      "type": "object",  
        "none",
      "properties": {
        "label",
         "title": {
        "date",
          "type": "string",  
        "size",  
          "required": true
        "file",
         },  
        "path",  
         "year": {
        "drivetype",
          "type": "integer",  
         "title",
          "default": 0
        "track",
         },  
        "time",  
         "type": {
        "artist",
          "$ref": "Notifications.Item.Type",  
         "album",  
          "required": true
         "albumtype",
         }
        "genre",
      }
        "country",  
    },  
        "year",
    {
         "rating",  
      "description": "A tv episode has a title and may have an episode number, season number and the title of the show it belongs to.",  
         "votes",
      "type": "object",  
        "top250",
      "properties": {
        "programcount",  
         "title": {
        "playlist",
          "type": "string",  
         "episode",
          "required": true
        "season",
         },  
        "totalepisodes",  
         "showtitle": {
        "watchedepisodes",
          "type": "string",  
        "tvshowstatus",
          "default": ""
        "tvshowtitle",  
        },  
        "sorttitle",  
        "episode": {
        "productioncode",
          "type": "integer",  
        "mpaa",  
          "default": 0
        "studio",
        },  
         "dateadded",
        "type": {
        "lastplayed",
          "$ref": "Notifications.Item.Type",  
        "playcount",  
          "required": true
        "listeners",
        },  
         "bitrate",  
        "season": {
         "random"
          "type": "integer",  
      ],
          "default": 0
      "type": "string",  
        }
      "default": "none"
      }
    }
  },  
  "type": "object"
}</syntaxhighlight>}}
 
===Media===
====Media.Artwork====
'''Type:''' ''object''<br />
'''Properties:'''
*[ ''[[#Global.String.NotEmpty|Global.String.NotEmpty]]'' banner = "" ]
*[ ''[[#Global.String.NotEmpty|Global.String.NotEmpty]]'' poster = "" ]
*[ ''[[#Global.String.NotEmpty|Global.String.NotEmpty]]'' fanart = "" ]
*[ ''[[#Global.String.NotEmpty|Global.String.NotEmpty]]'' thumb = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "additionalProperties": {
    "$ref": "Global.String.NotEmpty",  
    "default": ""
  },  
  "id": "Media.Artwork",
  "properties": {
    "banner": {
      "$ref": "Global.String.NotEmpty",  
      "default": ""
    },  
    "poster": {
      "$ref": "Global.String.NotEmpty",  
      "default": ""
     },  
     },  
     {
     "fanart": {
       "description": "A music video has a title and may have an album and an artist.",  
      "$ref": "Global.String.NotEmpty",
       "type": "object",  
      "default": ""
      "properties": {
    },
        "artist": {
    "thumb": {
          "type": "string",  
       "$ref": "Global.String.NotEmpty",  
          "default": ""
       "default": ""
        },  
    }
        "title": {
  },
          "type": "string",  
  "type": "object"
          "required": true
}</syntaxhighlight>}}
        },  
 
====Media.Details.Base====
'''Extends:'''
*''[[#Item.Details.Base|Item.Details.Base]]''
<br />
'''Properties:'''
*[ ''string'' fanart = "" ]
*[ ''string'' thumbnail = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Media.Details.Base",  
  "properties": {
    "fanart": {
      "type": "string",  
      "default": ""
    },  
    "thumbnail": {
      "type": "string",  
      "default": ""
    }
  },  
  "extends": "Item.Details.Base"
}</syntaxhighlight>}}
 
===Notifications===
====Notifications.Item====
'''Type:''' ''mixed''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Notifications.Item",
  "type": [
    {
      "description": "An unknown item does not have any additional information.",
      "properties": {
         "type": {
         "type": {
           "$ref": "Notifications.Item.Type",  
           "$ref": "Notifications.Item.Type",  
           "required": true
           "required": true
        },
        "album": {
          "type": "string",
          "default": ""
         }
         }
       }
       },
      "type": "object"
     },  
     },  
     {
     {
       "description": "A song has a title and may have an album, an artist and a track number.",
       "description": "An item known to the database has an identification.",  
      "type": "object",  
       "properties": {
       "properties": {
         "artist": {
         "id": {
           "type": "string",
           "$ref": "Library.Id",  
          "default": ""
        },
        "title": {
          "type": "string",  
           "required": true
           "required": true
         },  
         },  
         "track": {
         "type": {
           "type": "integer",  
           "$ref": "Notifications.Item.Type",
           "default": 0
          "required": true
        }
      },
      "type": "object"
    },  
    {
      "description": "A movie item has a title and may have a release year.",
      "properties": {
        "title": {
           "required": true,
          "type": "string"
         },  
         },  
         "type": {
         "type": {
Line 8,713: Line 8,778:
           "required": true
           "required": true
         },  
         },  
         "album": {
         "year": {
           "type": "string",  
           "type": "integer",  
           "default": ""
           "default": 0
         }
         }
       }
       },
      "type": "object"
     },  
     },  
     {
     {
       "description": "A picture has a file path.",
       "description": "A tv episode has a title and may have an episode number, season number and the title of the show it belongs to.",  
      "type": "object",  
       "properties": {
       "properties": {
         "file": {
         "showtitle": {
           "type": "string",  
           "type": "string",  
           "required": true
           "default": ""
         },  
         },  
         "type": {
         "type": {
           "$ref": "Notifications.Item.Type",  
           "$ref": "Notifications.Item.Type",  
           "required": true
           "required": true
        },
        "title": {
          "required": true,
          "type": "string"
        },
        "episode": {
          "type": "integer",
          "default": 0
        },
        "season": {
          "type": "integer",
          "default": 0
         }
         }
       }
       },
      "type": "object"
     },  
     },  
     {
     {
       "description": "A PVR channel is either a radio or tv channel and has a title.",
       "description": "A music video has a title and may have an album and an artist.",  
      "type": "object",  
       "properties": {
       "properties": {
         "title": {
         "album": {
           "type": "string",  
           "type": "string",  
           "required": true
           "default": ""
         },  
         },  
         "id": {
         "artist": {
           "$ref": "Library.Id",  
           "type": "string",  
           "required": true
           "default": ""
         },  
         },  
         "type": {
         "type": {
Line 8,749: Line 8,826:
           "required": true
           "required": true
         },  
         },  
         "channeltype": {
         "title": {
           "$ref": "PVR.Channel.Type",  
           "required": true,  
           "required": true
           "type": "string"
         }
         }
       }
       },
      "type": "object"
    },
    {
      "description": "A song has a title and may have an album, an artist and a track number.",
      "properties": {
        "album": {
          "type": "string",
          "default": ""
        },
        "track": {
          "type": "integer",
          "default": 0
        },
        "artist": {
          "type": "string",
          "default": ""
        },
        "type": {
          "$ref": "Notifications.Item.Type",
          "required": true
        },
        "title": {
          "required": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    {
      "description": "A picture has a file path.",
      "properties": {
        "file": {
          "required": true,
          "type": "string"
        },
        "type": {
          "$ref": "Notifications.Item.Type",
          "required": true
        }
      },
      "type": "object"
    },
    {
      "description": "A PVR channel is either a radio or tv channel and has a title.",
      "properties": {
        "channeltype": {
          "$ref": "PVR.Channel.Type",
          "required": true
        },
        "id": {
          "$ref": "Library.Id",
          "required": true
        },
        "title": {
          "required": true,
          "type": "string"
        },
        "type": {
          "$ref": "Notifications.Item.Type",
          "required": true
        }
      },
      "type": "object"
     }
     }
   ]
   ]
Line 8,760: Line 8,900:
====Notifications.Item.Type====
====Notifications.Item.Type====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Notifications.Item.Type",
  "type": "string",
   "enums": [
   "enums": [
     "unknown",  
     "unknown",  
Line 8,771: Line 8,909:
     "channel"
     "channel"
   ],  
   ],  
  "id": "Notifications.Item.Type",
  "type": "string",
   "default": "unknown"
   "default": "unknown"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 8,834: Line 8,974:
====PVR.Channel.Type====
====PVR.Channel.Type====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "PVR.Channel.Type",
  "type": "string",
   "enums": [
   "enums": [
     "tv",  
     "tv",  
     "radio"
     "radio"
   ],  
   ],  
  "id": "PVR.Channel.Type",
  "type": "string",
   "default": "tv"
   "default": "tv"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 8,851: Line 8,991:
     },  
     },  
     {
     {
      "type": "string",
       "enums": [
       "enums": [
         "alltv",  
         "alltv",  
         "allradio"
         "allradio"
       ]
       ],
      "type": "string"
     }
     }
   ],  
   ],  
Line 8,866: Line 9,006:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#PVR.Channel.Type|PVR.Channel.Type]]'' channeltype = "tv" ]
*[ ''string'' thumbnail = "" ]
*[ ''string'' channel = "" ]
*[ ''string'' channel = "" ]
*[ ''string'' thumbnail = "" ]
*[ ''boolean'' hidden = False ]
*[ ''string'' lastplayed = "" ]
*[ ''[[#PVR.Channel.Type|PVR.Channel.Type]]'' channeltype = "tv" ]
*''[[#Library.Id|Library.Id]]'' channelid
*''[[#Library.Id|Library.Id]]'' channelid
*[ ''boolean'' locked = False ]
*[ ''boolean'' locked = False ]
*[ ''boolean'' hidden = False ]
*[ ''string'' lastplayed = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "PVR.Details.Channel",  
   "id": "PVR.Details.Channel",  
  "extends": "Item.Details.Base",
   "properties": {
   "properties": {
     "channel": {
     "channeltype": {
       "type": "string",  
       "$ref": "PVR.Channel.Type",  
       "default": ""
       "default": "tv"
     },  
     },  
     "thumbnail": {
     "thumbnail": {
Line 8,885: Line 9,024:
       "default": ""
       "default": ""
     },  
     },  
     "lastplayed": {
     "channel": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "channeltype": {
     "hidden": {
       "$ref": "PVR.Channel.Type",  
       "type": "boolean",  
       "default": "tv"
       "default": false
     },  
     },  
     "channelid": {
     "channelid": {
Line 8,901: Line 9,040:
       "default": false
       "default": false
     },  
     },  
     "hidden": {
     "lastplayed": {
       "type": "boolean",  
       "type": "string",  
       "default": false
       "default": ""
     }
     }
   }
   },
  "extends": "Item.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 8,913: Line 9,053:
<br />
<br />
'''Properties:'''
'''Properties:'''
*''[[#PVR.Channel.Type|PVR.Channel.Type]]'' channeltype
*''[[#Library.Id|Library.Id]]'' channelgroupid
*''[[#Library.Id|Library.Id]]'' channelgroupid
*''[[#PVR.Channel.Type|PVR.Channel.Type]]'' channeltype
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "PVR.Details.ChannelGroup",  
   "id": "PVR.Details.ChannelGroup",  
  "extends": "Item.Details.Base",
   "properties": {
   "properties": {
    "channeltype": {
      "$ref": "PVR.Channel.Type",
      "required": true
    },
     "channelgroupid": {
     "channelgroupid": {
       "$ref": "Library.Id",  
       "$ref": "Library.Id",  
      "required": true
    },
    "channeltype": {
      "$ref": "PVR.Channel.Type",
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "Item.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 8,939: Line 9,079:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "PVR.Details.ChannelGroup.Extended",  
   "id": "PVR.Details.ChannelGroup.Extended",  
  "extends": "PVR.Details.ChannelGroup",
   "properties": {
   "properties": {
     "limits": {
     "limits": {
Line 8,946: Line 9,085:
     },  
     },  
     "channels": {
     "channels": {
      "type": "array",
       "items": {
       "items": {
         "$ref": "PVR.Details.Channel"
         "$ref": "PVR.Details.Channel"
       }
       },
      "type": "array"
     }
     }
   }
   },
  "extends": "PVR.Details.ChannelGroup"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 8,958: Line 9,098:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "PVR.Fields.Channel",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "thumbnail",  
       "thumbnail",  
Line 8,969: Line 9,106:
       "channel",  
       "channel",  
       "lastplayed"
       "lastplayed"
     ]
     ],
   }
    "type": "string"
   },
  "id": "PVR.Fields.Channel",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====PVR.Property.Name====
====PVR.Property.Name====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "PVR.Property.Name",
  "type": "string",
   "enums": [
   "enums": [
     "available",  
     "available",  
Line 8,982: Line 9,120:
     "scanning"
     "scanning"
   ],  
   ],  
  "id": "PVR.Property.Name",
  "type": "string",
   "default": "available"
   "default": "available"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 8,988: Line 9,128:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''boolean'' scanning = False ]
*[ ''boolean'' recording = False ]
*[ ''boolean'' recording = False ]
*[ ''boolean'' scanning = False ]
*[ ''boolean'' available = False ]
*[ ''boolean'' available = False ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "PVR.Property.Value",  
   "id": "PVR.Property.Value",  
  "type": "object",
   "properties": {
   "properties": {
     "recording": {
     "scanning": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     },  
     },  
     "scanning": {
     "recording": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
Line 9,007: Line 9,146:
       "default": false
       "default": false
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,014: Line 9,154:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''integer'' index
*''string'' language
*''string'' language
*''string'' name
*''string'' name
*''integer'' index
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Player.Audio.Stream",  
   "id": "Player.Audio.Stream",  
  "type": "object",
   "properties": {
   "properties": {
    "index": {
      "minimum": 0,
      "required": true,
      "type": "integer"
    },
     "language": {
     "language": {
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     "name": {
     "name": {
      "type": "string",
      "required": true
    },
    "index": {
       "required": true,  
       "required": true,  
       "type": "integer",
       "type": "string"
      "minimum": 0
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,042: Line 9,182:
<br />
<br />
'''Properties:'''
'''Properties:'''
*''integer'' channels
*''string'' codec
*''integer'' bitrate
*''integer'' bitrate
*''string'' codec
*''integer'' channels
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Player.Audio.Stream.Extended",  
   "id": "Player.Audio.Stream.Extended",  
  "extends": "Player.Audio.Stream",
   "properties": {
   "properties": {
     "bitrate": {
     "channels": {
       "type": "integer",  
       "required": true,  
       "required": true
       "type": "integer"
     },  
     },  
     "codec": {
     "codec": {
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     "channels": {
     "bitrate": {
       "type": "integer",  
       "required": true,  
       "required": true
       "type": "integer"
     }
     }
   }
   },
  "extends": "Player.Audio.Stream"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Player.Id====
====Player.Id====
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "minimum": 0,
   "id": "Player.Id",  
   "id": "Player.Id",  
   "type": "integer",  
   "type": "integer",  
   "minimum": 0,  
   "default": -1,  
   "maximum": 2,
   "maximum": 2
  "default": -1
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,080: Line 9,220:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Player.Notifications.Data",  
   "id": "Player.Notifications.Data",  
  "type": "object",
   "properties": {
   "properties": {
     "player": {
     "player": {
Line 9,090: Line 9,229:
       "required": true
       "required": true
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,100: Line 9,240:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Player.Notifications.Player",  
   "id": "Player.Notifications.Player",  
  "type": "object",
   "properties": {
   "properties": {
     "speed": {
     "speed": {
Line 9,110: Line 9,249:
       "required": true
       "required": true
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,118: Line 9,258:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Global.Time|Global.Time]]'' seekoffset ]
*[ ''[[#Global.Time|Global.Time]]'' time ]
*[ ''[[#Global.Time|Global.Time]]'' time ]
*[ ''[[#Global.Time|Global.Time]]'' seekoffset ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Player.Notifications.Player.Seek",  
   "id": "Player.Notifications.Player.Seek",  
  "extends": "Player.Notifications.Player",
   "properties": {
   "properties": {
     "time": {
     "seekoffset": {
       "$ref": "Global.Time"
       "$ref": "Global.Time"
     },  
     },  
     "seekoffset": {
     "time": {
       "$ref": "Global.Time"
       "$ref": "Global.Time"
     }
     }
   }
   },
  "extends": "Player.Notifications.Player"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Player.Position.Percentage====
====Player.Position.Percentage====
'''Type:''' ''number''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''number''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "minimum": 0,
   "id": "Player.Position.Percentage",  
   "id": "Player.Position.Percentage",  
   "type": "number",  
   "type": "number",  
   "minimum": 0,  
   "default": 0,  
   "maximum": 100,
   "maximum": 100
  "default": 0
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,145: Line 9,285:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''integer'' hours = 0 ]
*[ ''integer'' milliseconds = 0 ]
*[ ''integer'' milliseconds = 0 ]
*[ ''integer'' seconds = 0 ]
*[ ''integer'' seconds = 0 ]
*[ ''integer'' minutes = 0 ]
*[ ''integer'' minutes = 0 ]
*[ ''integer'' hours = 0 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "additionalProperties": false,
   "id": "Player.Position.Time",  
   "id": "Player.Position.Time",  
  "type": "object",
   "properties": {
   "properties": {
    "hours": {
      "minimum": 0,
      "type": "integer",
      "default": 0,
      "maximum": 23
    },
     "milliseconds": {
     "milliseconds": {
       "maximum": 999,  
       "minimum": 0,  
       "type": "integer",  
       "type": "integer",  
       "minimum": 0,  
       "default": 0,  
       "default": 0
       "maximum": 999
     },  
     },  
     "seconds": {
     "seconds": {
       "maximum": 59,  
       "minimum": 0,  
       "type": "integer",  
       "type": "integer",  
       "minimum": 0,  
       "default": 0,  
       "default": 0
       "maximum": 59
     },  
     },  
     "minutes": {
     "minutes": {
      "maximum": 59,
      "type": "integer",
       "minimum": 0,  
       "minimum": 0,  
      "default": 0
    },
    "hours": {
      "maximum": 23,
       "type": "integer",  
       "type": "integer",  
       "minimum": 0,  
       "default": 0,  
       "default": 0
       "maximum": 59
     }
     }
   },  
   },  
   "additionalProperties": false
   "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Player.Property.Name====
====Player.Property.Name====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Player.Property.Name",
  "type": "string",
   "enums": [
   "enums": [
     "type",  
     "type",  
Line 9,210: Line 9,348:
     "live"
     "live"
   ],  
   ],  
  "id": "Player.Property.Name",
  "type": "string",
   "default": "type"
   "default": "type"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 9,216: Line 9,356:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''boolean'' canchangespeed = False ]
*[ ''boolean'' canrepeat = False ]
*[ ''[[#Player.Type|Player.Type]]'' type = "video" ]
*[ ''[[#Player.Position.Percentage|Player.Position.Percentage]]'' percentage = 0 ]
*[ ''[[#Playlist.Position|Playlist.Position]]'' position = -1 ]
*[ ''boolean'' subtitleenabled = False ]
*[ ''[[#Global.Time|Global.Time]]'' time ]
*[ ''boolean'' partymode = False ]
*[ ''boolean'' canmove = False ]
*[ ''boolean'' canmove = False ]
*[ ''boolean'' live = False ]
*[ ''boolean'' canshuffle = False ]
*[ ''integer'' speed = 0 ]
*[ ''integer'' speed = 0 ]
*[ ''[[#Player.Position.Percentage|Player.Position.Percentage]]'' percentage = 0 ]
*[ ''[[#Playlist.Id|Playlist.Id]]'' playlistid = -1 ]
*[ ''[[#Playlist.Id|Playlist.Id]]'' playlistid = -1 ]
*[ ''[[#Player.Audio.Stream.Extended|Player.Audio.Stream.Extended]]'' currentaudiostream ]
*[ ''[[#Player.Audio.Stream|Player.Audio.Stream]]''[] audiostreams ]
*[ ''boolean'' shuffled = False ]
*[ ''[[#Playlist.Position|Playlist.Position]]'' position = -1 ]
*[ ''[[#Player.Repeat|Player.Repeat]]'' repeat = "off" ]
*[ ''[[#Player.Subtitle|Player.Subtitle]]'' currentsubtitle ]
*[ ''boolean'' canrotate = False ]
*[ ''boolean'' canzoom = False ]
*[ ''boolean'' canzoom = False ]
*[ ''boolean'' canshuffle = False ]
*[ ''boolean'' canchangespeed = False ]
*[ ''[[#Global.Time|Global.Time]]'' totaltime ]
*[ ''[[#Player.Type|Player.Type]]'' type = "video" ]
*[ ''boolean'' partymode = False ]
*[ ''[[#Player.Subtitle|Player.Subtitle]]''[] subtitles ]
*[ ''[[#Player.Subtitle|Player.Subtitle]]''[] subtitles ]
*[ ''[[#Player.Subtitle|Player.Subtitle]]'' currentsubtitle ]
*[ ''boolean'' canseek = False ]
*[ ''boolean'' canseek = False ]
*[ ''boolean'' canrepeat = False ]
*[ ''[[#Global.Time|Global.Time]]'' time ]
*[ ''[[#Player.Audio.Stream|Player.Audio.Stream]]''[] audiostreams ]
*[ ''[[#Global.Time|Global.Time]]'' totaltime ]
*[ ''[[#Player.Repeat|Player.Repeat]]'' repeat = "off" ]
*[ ''boolean'' shuffled = False ]
*[ ''boolean'' canrotate = False ]
*[ ''[[#Player.Audio.Stream.Extended|Player.Audio.Stream.Extended]]'' currentaudiostream ]
*[ ''boolean'' live = False ]
*[ ''boolean'' subtitleenabled = False ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Player.Property.Value",  
   "id": "Player.Property.Value",  
  "type": "object",
   "properties": {
   "properties": {
     "canchangespeed": {
     "canrepeat": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     },  
     },  
     "type": {
     "canmove": {
       "$ref": "Player.Type",  
      "type": "boolean",
       "default": "video"
      "default": false
    },
    "canshuffle": {
       "type": "boolean",  
       "default": false
    },
    "speed": {
      "type": "integer",
      "default": 0
     },  
     },  
     "percentage": {
     "percentage": {
       "$ref": "Player.Position.Percentage",  
       "$ref": "Player.Position.Percentage",  
       "default": 0
       "default": 0
    },
    "playlistid": {
      "$ref": "Playlist.Id",
      "default": -1
    },
    "audiostreams": {
      "items": {
        "$ref": "Player.Audio.Stream"
      },
      "type": "array"
     },  
     },  
     "position": {
     "position": {
Line 9,259: Line 9,416:
       "default": -1
       "default": -1
     },  
     },  
     "subtitleenabled": {
     "repeat": {
      "$ref": "Player.Repeat",
      "default": "off"
    },
    "currentsubtitle": {
      "$ref": "Player.Subtitle"
    },
    "canrotate": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     },  
     },  
     "time": {
     "canzoom": {
       "$ref": "Global.Time"
       "type": "boolean",
      "default": false
     },  
     },  
     "partymode": {
     "canchangespeed": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     },  
     },  
     "canmove": {
     "type": {
      "$ref": "Player.Type",
      "default": "video"
    },
    "partymode": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     },  
     },  
     "live": {
     "subtitles": {
      "items": {
        "$ref": "Player.Subtitle"
      },
      "type": "array"
    },
    "canseek": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     },  
     },  
     "speed": {
     "time": {
       "type": "integer",  
       "$ref": "Global.Time"
       "default": 0
    },  
    "totaltime": {
       "$ref": "Global.Time"
     },  
     },  
     "playlistid": {
     "shuffled": {
       "$ref": "Playlist.Id",  
       "type": "boolean",  
       "default": -1
       "default": false
     },  
     },  
     "currentaudiostream": {
     "currentaudiostream": {
       "$ref": "Player.Audio.Stream.Extended"
       "$ref": "Player.Audio.Stream.Extended"
     },  
     },  
     "shuffled": {
     "live": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     },  
     },  
     "canzoom": {
     "subtitleenabled": {
      "type": "boolean",
      "default": false
    },
    "canshuffle": {
      "type": "boolean",
      "default": false
    },
    "totaltime": {
      "$ref": "Global.Time"
    },
    "subtitles": {
      "type": "array",
      "items": {
        "$ref": "Player.Subtitle"
      }
    },
    "currentsubtitle": {
      "$ref": "Player.Subtitle"
    },
    "canseek": {
      "type": "boolean",
      "default": false
    },
    "canrepeat": {
      "type": "boolean",
      "default": false
    },
    "audiostreams": {
      "type": "array",
      "items": {
        "$ref": "Player.Audio.Stream"
      }
    },
    "repeat": {
      "$ref": "Player.Repeat",
      "default": "off"
    },
    "canrotate": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Player.Repeat====
====Player.Repeat====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Player.Repeat",
  "type": "string",
   "enums": [
   "enums": [
     "off",  
     "off",  
Line 9,347: Line 9,485:
     "all"
     "all"
   ],  
   ],  
  "id": "Player.Repeat",
  "type": "string",
   "default": "off"
   "default": "off"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 9,356: Line 9,496:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Player.Speed",  
   "id": "Player.Speed",  
  "type": "object",
  "required": true,
   "properties": {
   "properties": {
     "speed": {
     "speed": {
Line 9,363: Line 9,501:
       "default": 0
       "default": 0
     }
     }
   }
   },
  "required": true,
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,369: Line 9,509:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*''integer'' index
*''string'' language
*''string'' language
*''string'' name
*''string'' name
*''integer'' index
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Player.Subtitle",  
   "id": "Player.Subtitle",  
  "type": "object",
   "properties": {
   "properties": {
    "index": {
      "minimum": 0,
      "required": true,
      "type": "integer"
    },
     "language": {
     "language": {
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     "name": {
     "name": {
      "type": "string",
      "required": true
    },
    "index": {
       "required": true,  
       "required": true,  
       "type": "integer",
       "type": "string"
      "minimum": 0
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Player.Type====
====Player.Type====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Player.Type",
  "type": "string",
   "enums": [
   "enums": [
     "video",  
     "video",  
Line 9,401: Line 9,539:
     "picture"
     "picture"
   ],  
   ],  
  "id": "Player.Type",
  "type": "string",
   "default": "video"
   "default": "video"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 9,407: Line 9,547:
====Playlist.Id====
====Playlist.Id====
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "minimum": 0,
   "id": "Playlist.Id",  
   "id": "Playlist.Id",  
   "type": "integer",  
   "type": "integer",  
   "minimum": 0,  
   "default": -1,  
   "maximum": 2,
   "maximum": 2
  "default": -1
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,419: Line 9,559:
   "type": [
   "type": [
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "file": {
         "file": {
           "description": "Path to a file (not a directory) to be added to the playlist",  
           "description": "Path to a file (not a directory) to be added to the playlist",  
           "type": "string",  
           "required": true,  
           "required": true
           "type": "string"
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     },  
     },  
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "directory": {
         "directory": {
           "type": "string",  
           "required": true,  
           "required": true
           "type": "string"
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     },  
     },  
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "movieid": {
         "movieid": {
Line 9,446: Line 9,587:
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     },  
     },  
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "episodeid": {
         "episodeid": {
Line 9,456: Line 9,597:
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     },  
     },  
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "musicvideoid": {
         "musicvideoid": {
Line 9,466: Line 9,607:
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     },  
     },  
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "artistid": {
         "artistid": {
Line 9,476: Line 9,617:
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     },  
     },  
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "albumid": {
         "albumid": {
Line 9,486: Line 9,627:
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     },  
     },  
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "songid": {
         "songid": {
Line 9,496: Line 9,637:
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     },  
     },  
     {
     {
      "additionalProperties": false,
       "properties": {
       "properties": {
         "genreid": {
         "genreid": {
Line 9,507: Line 9,648:
         }
         }
       },  
       },  
       "type": "object",
       "type": "object"
      "additionalProperties": false
     }
     }
   ]
   ]
Line 9,515: Line 9,655:
====Playlist.Position====
====Playlist.Position====
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''integer''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "minimum": 0,
   "id": "Playlist.Position",  
   "id": "Playlist.Position",  
   "type": "integer",  
   "type": "integer",  
  "minimum": 0,
   "default": -1
   "default": -1
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 9,523: Line 9,663:
====Playlist.Property.Name====
====Playlist.Property.Name====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Playlist.Property.Name",
  "type": "string",
   "enums": [
   "enums": [
     "type",  
     "type",  
     "size"
     "size"
   ],  
   ],  
  "id": "Playlist.Property.Name",
  "type": "string",
   "default": "type"
   "default": "type"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 9,539: Line 9,679:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Playlist.Property.Value",  
   "id": "Playlist.Property.Value",  
  "type": "object",
   "properties": {
   "properties": {
     "size": {
     "size": {
      "minimum": 0,
       "type": "integer",  
       "type": "integer",  
      "minimum": 0,
       "default": 0
       "default": 0
     },  
     },  
Line 9,550: Line 9,689:
       "default": "unknown"
       "default": "unknown"
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


====Playlist.Type====
====Playlist.Type====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Playlist.Type",
  "type": "string",
   "enums": [
   "enums": [
     "unknown",  
     "unknown",  
Line 9,564: Line 9,702:
     "mixed"
     "mixed"
   ],  
   ],  
  "id": "Playlist.Type",
  "type": "string",
   "default": "unknown"
   "default": "unknown"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 9,570: Line 9,710:
====System.Property.Name====
====System.Property.Name====
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''string''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "System.Property.Name",
  "type": "string",
   "enums": [
   "enums": [
     "canshutdown",  
     "canshutdown",  
Line 9,578: Line 9,716:
     "canreboot"
     "canreboot"
   ],  
   ],  
  "id": "System.Property.Name",
  "type": "string",
   "default": "canshutdown"
   "default": "canshutdown"
}</syntaxhighlight>}}
}</syntaxhighlight>}}
Line 9,585: Line 9,725:
'''Properties:'''
'''Properties:'''
*[ ''boolean'' canshutdown = False ]
*[ ''boolean'' canshutdown = False ]
*[ ''boolean'' canhibernate = False ]
*[ ''boolean'' cansuspend = False ]
*[ ''boolean'' cansuspend = False ]
*[ ''boolean'' canhibernate = False ]
*[ ''boolean'' canreboot = False ]
*[ ''boolean'' canreboot = False ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "System.Property.Value",  
   "id": "System.Property.Value",  
  "type": "object",
   "properties": {
   "properties": {
     "canshutdown": {
     "canshutdown": {
Line 9,596: Line 9,735:
       "default": false
       "default": false
     },  
     },  
     "cansuspend": {
     "canhibernate": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
     },  
     },  
     "canhibernate": {
     "cansuspend": {
       "type": "boolean",  
       "type": "boolean",  
       "default": false
       "default": false
Line 9,608: Line 9,747:
       "default": false
       "default": false
     }
     }
   }
   },
  "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,614: Line 9,754:
====Video.Cast====
====Video.Cast====
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
'''Type:''' ''array''{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Video.Cast",
  "type": "array",
   "items": {
   "items": {
    "additionalProperties": false,
     "properties": {
     "properties": {
       "name": {
       "thumbnail": {
         "type": "string",  
         "type": "string",  
         "required": true
         "default": ""
       },  
       },  
       "role": {
       "name": {
         "type": "string",  
         "required": true,  
         "required": true
         "type": "string"
       },  
       },  
       "thumbnail": {
       "role": {
         "type": "string",  
         "required": true,  
         "default": ""
         "type": "string"
       }
       }
     },  
     },  
     "type": "object",  
     "type": "object"
    "additionalProperties": false
  },  
   }
  "id": "Video.Cast",
   "type": "array"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,645: Line 9,785:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.Base",  
   "id": "Video.Details.Base",  
  "extends": "Media.Details.Base",
   "properties": {
   "properties": {
     "art": {
     "art": {
Line 9,654: Line 9,793:
       "default": 0
       "default": 0
     }
     }
   }
   },
  "extends": "Media.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,662: Line 9,802:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' showtitle = "" ]
*[ ''object'' uniqueid ]
*[ ''string'' firstaired = "" ]
*[ ''[[#Video.Cast|Video.Cast]]'' cast ]
*[ ''[[#Video.Cast|Video.Cast]]'' cast ]
*[ ''string'' originaltitle = "" ]
*[ ''string'' productioncode = "" ]
*[ ''number'' rating = 0 ]
*[ ''string'' votes = "" ]
*[ ''string'' votes = "" ]
*[ ''integer'' episode = 0 ]
*[ ''string'' showtitle = "" ]
*''[[#Library.Id|Library.Id]]'' episodeid
*''[[#Library.Id|Library.Id]]'' episodeid
*[ ''[[#Library.Id|Library.Id]]'' tvshowid = -1 ]
*[ ''integer'' season = 0 ]
*[ ''string'' firstaired = "" ]
*[ ''object'' uniqueid ]
*[ ''[[#Array.String|Array.String]]'' writer ]
*[ ''[[#Array.String|Array.String]]'' writer ]
*[ ''integer'' season = 0 ]
*[ ''string'' originaltitle = "" ]
*[ ''string'' productioncode = "" ]
*[ ''integer'' episode = 0 ]
*[ ''[[#Library.Id|Library.Id]]'' tvshowid = -1 ]
*[ ''number'' rating = 0 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.Episode",  
   "id": "Video.Details.Episode",  
  "extends": "Video.Details.File",
   "properties": {
   "properties": {
     "showtitle": {
     "cast": {
      "$ref": "Video.Cast"
    },
    "productioncode": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "uniqueid": {
     "rating": {
       "type": "object",  
       "type": "number",  
       "additionalProperties": {
       "default": 0
        "type": "string",
        "minLength": 1,
        "default": ""
      }
     },  
     },  
     "firstaired": {
     "votes": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "cast": {
     "episode": {
       "$ref": "Video.Cast"
       "type": "integer",
      "default": 0
     },  
     },  
     "originaltitle": {
     "showtitle": {
      "type": "string",
      "default": ""
    },
    "votes": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
Line 9,710: Line 9,845:
       "required": true
       "required": true
     },  
     },  
     "writer": {
     "tvshowid": {
       "$ref": "Array.String"
       "$ref": "Library.Id",
      "default": -1
     },  
     },  
     "season": {
     "season": {
Line 9,717: Line 9,853:
       "default": 0
       "default": 0
     },  
     },  
     "productioncode": {
     "firstaired": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "episode": {
     "uniqueid": {
       "type": "integer",  
       "additionalProperties": {
       "default": 0
        "minLength": 1,
        "type": "string",
        "default": ""
      },  
       "type": "object"
     },  
     },  
     "tvshowid": {
     "writer": {
       "$ref": "Library.Id",
       "$ref": "Array.String"
      "default": -1
     },  
     },  
     "rating": {
     "originaltitle": {
       "type": "number",  
       "type": "string",  
       "default": 0
       "default": ""
     }
     }
   }
   },
  "extends": "Video.Details.File"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,741: Line 9,881:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Video.Resume|Video.Resume]]'' resume ]
*[ ''[[#Video.Streams|Video.Streams]]'' streamdetails ]
*[ ''[[#Video.Streams|Video.Streams]]'' streamdetails ]
*[ ''string'' runtime = "" ]
*[ ''[[#Array.String|Array.String]]'' director ]
*[ ''[[#Array.String|Array.String]]'' director ]
*[ ''[[#Video.Resume|Video.Resume]]'' resume ]
*[ ''integer'' runtime = 0 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.File",  
   "id": "Video.Details.File",  
  "extends": "Video.Details.Item",
   "properties": {
   "properties": {
    "resume": {
      "$ref": "Video.Resume"
    },
     "streamdetails": {
     "streamdetails": {
       "$ref": "Video.Streams"
       "$ref": "Video.Streams"
    },
    "runtime": {
      "type": "string",
      "default": ""
     },  
     },  
     "director": {
     "director": {
       "$ref": "Array.String"
       "$ref": "Array.String"
    },
    "resume": {
      "$ref": "Video.Resume"
    },
    "runtime": {
      "description": "Runtime in seconds",
      "type": "integer",
      "default": 0
     }
     }
   }
   },
  "extends": "Video.Details.Item"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,770: Line 9,911:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' dateadded = "" ]
*[ ''string'' file = "" ]
*[ ''string'' lastplayed = "" ]
*[ ''string'' lastplayed = "" ]
*[ ''string'' file = "" ]
*[ ''string'' dateadded = "" ]
*[ ''string'' plot = "" ]
*[ ''string'' plot = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.Item",  
   "id": "Video.Details.Item",  
  "extends": "Video.Details.Media",
   "properties": {
   "properties": {
     "lastplayed": {
     "dateadded": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
Line 9,786: Line 9,926:
       "default": ""
       "default": ""
     },  
     },  
     "dateadded": {
     "lastplayed": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
Line 9,794: Line 9,934:
       "default": ""
       "default": ""
     }
     }
   }
   },
  "extends": "Video.Details.Media"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,805: Line 9,946:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.Media",  
   "id": "Video.Details.Media",  
  "extends": "Video.Details.Base",
   "properties": {
   "properties": {
     "title": {
     "title": {
Line 9,811: Line 9,951:
       "default": ""
       "default": ""
     }
     }
   }
   },
  "extends": "Video.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,819: Line 9,960:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' plotoutline = "" ]
*[ ''string'' sorttitle = "" ]
*''[[#Library.Id|Library.Id]]'' movieid
*[ ''[[#Video.Cast|Video.Cast]]'' cast ]
*[ ''string'' votes = "" ]
*[ ''[[#Array.String|Array.String]]'' showlink ]
*[ ''integer'' top250 = 0 ]
*[ ''string'' trailer = "" ]
*[ ''string'' trailer = "" ]
*[ ''integer'' year = 0 ]
*[ ''integer'' year = 0 ]
*[ ''integer'' top250 = 0 ]
*[ ''[[#Array.String|Array.String]]'' country ]
*[ ''[[#Array.String|Array.String]]'' country ]
*[ ''[[#Array.String|Array.String]]'' studio ]
*[ ''string'' set = "" ]
*[ ''[[#Array.String|Array.String]]'' genre ]
*[ ''[[#Array.String|Array.String]]'' genre ]
*[ ''[[#Array.String|Array.String]]'' showlink ]
*[ ''string'' mpaa = "" ]
*[ ''[[#Array.String|Array.String]]'' studio ]
*[ ''[[#Library.Id|Library.Id]]'' setid = -1 ]
*[ ''number'' rating = 0 ]
*[ ''[[#Array.String|Array.String]]'' tag ]
*[ ''[[#Array.String|Array.String]]'' tag ]
*[ ''[[#Video.Cast|Video.Cast]]'' cast ]
*[ ''string'' tagline = "" ]
*[ ''[[#Array.String|Array.String]]'' writer ]
*[ ''string'' originaltitle = "" ]
*[ ''string'' originaltitle = "" ]
*[ ''string'' votes = "" ]
*[ ''string'' sorttitle = "" ]
*[ ''[[#Array.String|Array.String]]'' writer ]
*[ ''string'' imdbnumber = "" ]
*[ ''string'' imdbnumber = "" ]
*[ ''string'' mpaa = "" ]
*[ ''string'' tagline = "" ]
*''[[#Library.Id|Library.Id]]'' movieid
*[ ''string'' set = "" ]
*[ ''string'' plotoutline = "" ]
*[ ''number'' rating = 0 ]
*[ ''[[#Library.Id|Library.Id]]'' setid = -1 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.Movie",  
   "id": "Video.Details.Movie",  
  "extends": "Video.Details.File",
   "properties": {
   "properties": {
     "trailer": {
     "plotoutline": {
      "type": "string",
      "default": ""
    },
    "sorttitle": {
      "type": "string",
      "default": ""
    },
    "movieid": {
      "$ref": "Library.Id",
      "required": true
    },
    "cast": {
      "$ref": "Video.Cast"
    },
    "votes": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "year": {
     "showlink": {
      "$ref": "Array.String"
    },
    "top250": {
       "type": "integer",  
       "type": "integer",  
       "default": 0
       "default": 0
     },  
     },  
     "top250": {
     "trailer": {
      "type": "string",
      "default": ""
    },
    "year": {
       "type": "integer",  
       "type": "integer",  
       "default": 0
       "default": 0
     },  
     },  
     "country": {
     "country": {
      "$ref": "Array.String"
    },
    "genre": {
      "$ref": "Array.String"
    },
    "showlink": {
       "$ref": "Array.String"
       "$ref": "Array.String"
     },  
     },  
Line 9,868: Line 10,024:
       "$ref": "Array.String"
       "$ref": "Array.String"
     },  
     },  
     "tag": {
     "set": {
      "$ref": "Array.String"
    },
    "cast": {
      "$ref": "Video.Cast"
    },
    "originaltitle": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "votes": {
     "genre": {
       "type": "string",
       "$ref": "Array.String"
      "default": ""
     },  
     },  
     "sorttitle": {
     "mpaa": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "writer": {
     "setid": {
       "$ref": "Array.String"
       "$ref": "Library.Id",
      "default": -1
     },  
     },  
     "imdbnumber": {
     "rating": {
       "type": "string",  
       "type": "number",  
       "default": ""
       "default": 0
     },  
     },  
     "mpaa": {
     "tag": {
       "type": "string",
       "$ref": "Array.String"
      "default": ""
     },  
     },  
     "tagline": {
     "tagline": {
Line 9,901: Line 10,050:
       "default": ""
       "default": ""
     },  
     },  
     "movieid": {
     "writer": {
       "$ref": "Library.Id",
       "$ref": "Array.String"
      "required": true
     },  
     },  
     "set": {
     "originaltitle": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "plotoutline": {
     "imdbnumber": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
    },
    "rating": {
      "type": "number",
      "default": 0
    },
    "setid": {
      "$ref": "Library.Id",
      "default": -1
     }
     }
   }
   },
  "extends": "Video.Details.File"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,932: Line 10,073:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.MovieSet",  
   "id": "Video.Details.MovieSet",  
  "extends": "Video.Details.Media",
   "properties": {
   "properties": {
     "setid": {
     "setid": {
Line 9,938: Line 10,078:
       "required": true
       "required": true
     }
     }
   }
   },
  "extends": "Video.Details.Media"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,950: Line 10,091:
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.MovieSet.Extended",  
   "id": "Video.Details.MovieSet.Extended",  
  "extends": "Video.Details.MovieSet",
   "properties": {
   "properties": {
     "limits": {
     "limits": {
Line 9,957: Line 10,097:
     },  
     },  
     "movies": {
     "movies": {
      "type": "array",
       "items": {
       "items": {
         "$ref": "Video.Details.Movie"
         "$ref": "Video.Details.Movie"
       }
       },
      "type": "array"
     }
     }
   }
   },
  "extends": "Video.Details.MovieSet"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 9,970: Line 10,111:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''integer'' year = 0 ]
*''[[#Library.Id|Library.Id]]'' musicvideoid
*[ ''integer'' track = 0 ]
*[ ''[[#Array.String|Array.String]]'' genre ]
*[ ''[[#Array.String|Array.String]]'' genre ]
*[ ''[[#Array.String|Array.String]]'' artist ]
*[ ''[[#Array.String|Array.String]]'' artist ]
*[ ''[[#Array.String|Array.String]]'' studio ]
*''[[#Library.Id|Library.Id]]'' musicvideoid
*[ ''[[#Array.String|Array.String]]'' tag ]
*[ ''[[#Array.String|Array.String]]'' tag ]
*[ ''string'' album = "" ]
*[ ''string'' album = "" ]
*[ ''integer'' track = 0 ]
*[ ''[[#Array.String|Array.String]]'' studio ]
*[ ''integer'' year = 0 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.MusicVideo",  
   "id": "Video.Details.MusicVideo",  
  "extends": "Video.Details.File",
   "properties": {
   "properties": {
    "year": {
      "type": "integer",
      "default": 0
    },
    "musicvideoid": {
      "$ref": "Library.Id",
      "required": true
    },
    "track": {
      "type": "integer",
      "default": 0
    },
     "genre": {
     "genre": {
       "$ref": "Array.String"
       "$ref": "Array.String"
Line 10,000: Line 10,128:
       "$ref": "Array.String"
       "$ref": "Array.String"
     },  
     },  
     "studio": {
     "musicvideoid": {
       "$ref": "Array.String"
       "$ref": "Library.Id",
      "required": true
     },  
     },  
     "tag": {
     "tag": {
Line 10,009: Line 10,138:
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
    },
    "track": {
      "type": "integer",
      "default": 0
    },
    "studio": {
      "$ref": "Array.String"
    },
    "year": {
      "type": "integer",
      "default": 0
     }
     }
   }
   },
  "extends": "Video.Details.File"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,019: Line 10,160:
'''Properties:'''
'''Properties:'''
*[ ''string'' showtitle = "" ]
*[ ''string'' showtitle = "" ]
*[ ''integer'' episode = 0 ]
*[ ''integer'' watchedepisodes = 0 ]
*[ ''integer'' watchedepisodes = 0 ]
*[ ''[[#Library.Id|Library.Id]]'' tvshowid = -1 ]
*[ ''[[#Library.Id|Library.Id]]'' tvshowid = -1 ]
*[ ''integer'' episode = 0 ]
*''integer'' season
*''integer'' season
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.Season",  
   "id": "Video.Details.Season",  
  "extends": "Video.Details.Base",
   "properties": {
   "properties": {
     "showtitle": {
     "showtitle": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
    },
    "episode": {
      "type": "integer",
      "default": 0
     },  
     },  
     "watchedepisodes": {
     "watchedepisodes": {
Line 10,042: Line 10,178:
       "$ref": "Library.Id",  
       "$ref": "Library.Id",  
       "default": -1
       "default": -1
    },
    "episode": {
      "type": "integer",
      "default": 0
     },  
     },  
     "season": {
     "season": {
       "type": "integer",  
       "required": true,  
       "required": true
       "type": "integer"
     }
     }
   }
   },
  "extends": "Video.Details.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,055: Line 10,196:
<br />
<br />
'''Properties:'''
'''Properties:'''
*[ ''string'' imdbnumber = "" ]
*[ ''integer'' season = 0 ]
*[ ''[[#Array.String|Array.String]]'' genre ]
*[ ''string'' sorttitle = "" ]
*[ ''string'' sorttitle = "" ]
*[ ''[[#Array.String|Array.String]]'' studio ]
*[ ''string'' mpaa = "" ]
*[ ''[[#Array.String|Array.String]]'' tag ]
*[ ''[[#Video.Cast|Video.Cast]]'' cast ]
*[ ''string'' originaltitle = "" ]
*[ ''string'' votes = "" ]
*[ ''string'' premiered = "" ]
*[ ''string'' premiered = "" ]
*[ ''integer'' year = 0 ]
*[ ''integer'' episode = 0 ]
*[ ''integer'' watchedepisodes = 0 ]
*[ ''integer'' watchedepisodes = 0 ]
*[ ''string'' votes = "" ]
*[ ''number'' rating = 0 ]
*[ ''number'' rating = 0 ]
*[ ''string'' mpaa = "" ]
*[ ''integer'' year = 0 ]
*[ ''integer'' episode = 0 ]
*''[[#Library.Id|Library.Id]]'' tvshowid
*''[[#Library.Id|Library.Id]]'' tvshowid
*[ ''[[#Array.String|Array.String]]'' studio ]
*[ ''integer'' season = 0 ]
*[ ''[[#Array.String|Array.String]]'' genre ]
*[ ''[[#Video.Cast|Video.Cast]]'' cast ]
*[ ''string'' episodeguide = "" ]
*[ ''string'' episodeguide = "" ]
*[ ''[[#Array.String|Array.String]]'' tag ]
*[ ''string'' originaltitle = "" ]
*[ ''string'' imdbnumber = "" ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
   "id": "Video.Details.TVShow",  
   "id": "Video.Details.TVShow",  
  "extends": "Video.Details.Item",
   "properties": {
   "properties": {
     "imdbnumber": {
     "sorttitle": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "season": {
     "mpaa": {
       "type": "integer",  
       "type": "string",  
       "default": 0
       "default": ""
     },  
     },  
     "genre": {
     "premiered": {
      "$ref": "Array.String"
    },
    "sorttitle": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     },  
     },  
     "studio": {
     "year": {
       "$ref": "Array.String"
       "type": "integer",
      "default": 0
     },  
     },  
     "tag": {
     "episode": {
       "$ref": "Array.String"
       "type": "integer",
      "default": 0
     },  
     },  
     "cast": {
     "watchedepisodes": {
      "$ref": "Video.Cast"
       "type": "integer",  
    },
       "default": 0
    "originaltitle": {
       "type": "string",  
       "default": ""
     },  
     },  
     "votes": {
     "votes": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
    },
    "premiered": {
      "type": "string",
      "default": ""
    },
    "watchedepisodes": {
      "type": "integer",
      "default": 0
     },  
     },  
     "rating": {
     "rating": {
Line 10,120: Line 10,248:
       "default": 0
       "default": 0
     },  
     },  
     "mpaa": {
     "tvshowid": {
       "type": "string",  
       "$ref": "Library.Id",  
       "default": ""
       "required": true
    },
    "studio": {
      "$ref": "Array.String"
     },  
     },  
     "year": {
     "season": {
       "type": "integer",  
       "type": "integer",  
       "default": 0
       "default": 0
     },  
     },  
     "episode": {
     "genre": {
       "type": "integer",
       "$ref": "Array.String"
      "default": 0
     },  
     },  
     "tvshowid": {
     "cast": {
       "$ref": "Library.Id",
       "$ref": "Video.Cast"
      "required": true
     },  
     },  
     "episodeguide": {
     "episodeguide": {
      "type": "string",
      "default": ""
    },
    "tag": {
      "$ref": "Array.String"
    },
    "originaltitle": {
      "type": "string",
      "default": ""
    },
    "imdbnumber": {
       "type": "string",  
       "type": "string",  
       "default": ""
       "default": ""
     }
     }
   }
   },
  "extends": "Video.Details.Item"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,147: Line 10,288:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Video.Fields.Episode",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "description": "Requesting the cast field will result in increased response times",
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 10,178: Line 10,315:
       "uniqueid",  
       "uniqueid",  
       "art"
       "art"
     ]
     ],
   }
    "description": "Requesting the cast field will result in increased response times",
}</syntaxhighlight>}}
    "type": "string"
   },
  "id": "Video.Fields.Episode",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}


====Video.Fields.Movie====
====Video.Fields.Movie====
Line 10,186: Line 10,327:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Video.Fields.Movie",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "description": "Requesting the cast, showlink and/or tag field will result in increased response times",
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 10,225: Line 10,362:
       "tag",  
       "tag",  
       "art"
       "art"
     ]
     ],
   }
    "description": "Requesting the cast, showlink and/or tag field will result in increased response times",
    "type": "string"
   },
  "id": "Video.Fields.Movie",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,233: Line 10,374:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Video.Fields.MovieSet",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 10,243: Line 10,381:
       "thumbnail",  
       "thumbnail",  
       "art"
       "art"
     ]
     ],
   }
    "type": "string"
   },
  "id": "Video.Fields.MovieSet",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,251: Line 10,392:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Video.Fields.MusicVideo",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 10,276: Line 10,414:
       "tag",  
       "tag",  
       "art"
       "art"
     ]
     ],
   }
    "type": "string"
   },
  "id": "Video.Fields.MusicVideo",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,284: Line 10,425:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Video.Fields.Season",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "type": "string",
     "enums": [
     "enums": [
       "season",  
       "season",  
Line 10,298: Line 10,436:
       "watchedepisodes",  
       "watchedepisodes",  
       "art"
       "art"
     ]
     ],
   }
    "type": "string"
   },
  "id": "Video.Fields.Season",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,306: Line 10,447:
*''[[#Item.Fields.Base|Item.Fields.Base]]''
*''[[#Item.Fields.Base|Item.Fields.Base]]''
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "id": "Video.Fields.TVShow",
  "extends": "Item.Fields.Base",
   "items": {
   "items": {
    "description": "Requesting the cast field will result in increased response times",
    "type": "string",
     "enums": [
     "enums": [
       "title",  
       "title",  
Line 10,337: Line 10,474:
       "tag",  
       "tag",  
       "art"
       "art"
     ]
     ],
   }
    "description": "Requesting the cast field will result in increased response times",
    "type": "string"
   },
  "id": "Video.Fields.TVShow",
  "extends": "Item.Fields.Base"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,344: Line 10,485:
'''Type:''' ''object''<br />
'''Type:''' ''object''<br />
'''Properties:'''
'''Properties:'''
*[ ''number'' position = 0 ]
*[ ''number'' total = 0 ]
*[ ''number'' total = 0 ]
*[ ''number'' position = 0 ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "additionalProperties": false,
   "id": "Video.Resume",  
   "id": "Video.Resume",  
  "type": "object",
   "properties": {
   "properties": {
     "total": {
     "position": {
      "minimum": 0,
       "type": "number",  
       "type": "number",  
      "minimum": 0,
       "default": 0
       "default": 0
     },  
     },  
     "position": {
     "total": {
      "minimum": 0,
       "type": "number",  
       "type": "number",  
      "minimum": 0,
       "default": 0
       "default": 0
     }
     }
   },  
   },  
   "additionalProperties": false
   "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,368: Line 10,509:
'''Properties:'''
'''Properties:'''
*[ ''array''[1..X] video ]
*[ ''array''[1..X] video ]
*[ ''array''[1..X] audio ]
*[ ''array''[1..X] subtitle ]
*[ ''array''[1..X] subtitle ]
*[ ''array''[1..X] audio ]
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "additionalProperties": false,
   "id": "Video.Streams",  
   "id": "Video.Streams",  
  "type": "object",
   "properties": {
   "properties": {
     "video": {
     "video": {
       "type": "array",  
       "minItems": 1,  
       "items": {
       "items": {
        "additionalProperties": false,
         "properties": {
         "properties": {
           "height": {
           "height": {
            "type": "integer",
            "default": 0
          },
          "width": {
             "type": "integer",  
             "type": "integer",  
             "default": 0
             "default": 0
Line 10,389: Line 10,535:
             "type": "string",  
             "type": "string",  
             "default": ""
             "default": ""
          },
          "width": {
            "type": "integer",
            "default": 0
           },  
           },  
           "duration": {
           "duration": {
Line 10,399: Line 10,541:
           }
           }
         },  
         },  
         "type": "object",
         "type": "object"
        "additionalProperties": false
       },  
       },  
       "minItems": 1
       "type": "array"
     },  
     },  
     "subtitle": {
     "audio": {
       "type": "array",  
       "minItems": 1,  
       "items": {
       "items": {
        "additionalProperties": false,
         "properties": {
         "properties": {
          "channels": {
            "type": "integer",
            "default": 0
          },
           "language": {
           "language": {
             "type": "string",  
             "type": "string",  
             "default": ""
             "default": ""
           }
          },
          "codec": {
            "type": "string",
            "default": ""
           }
         },  
         },  
         "type": "object",
         "type": "object"
        "additionalProperties": false
       },  
       },  
       "minItems": 1
       "type": "array"
     },  
     },  
     "audio": {
     "subtitle": {
       "type": "array",  
       "minItems": 1,  
       "items": {
       "items": {
        "additionalProperties": false,
         "properties": {
         "properties": {
           "language": {
           "language": {
             "type": "string",  
             "type": "string",  
             "default": ""
             "default": ""
          },
          "codec": {
            "type": "string",
            "default": ""
          },
          "channels": {
            "type": "integer",
            "default": 0
           }
           }
         },  
         },  
         "type": "object",
         "type": "object"
        "additionalProperties": false
       },  
       },  
       "minItems": 1
       "type": "array"
     }
     }
   },  
   },  
   "additionalProperties": false
   "type": "object"
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,460: Line 10,601:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The volume of the application has changed.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "volume": {
         "volume": {
          "minimum": 0,
           "required": true,  
           "required": true,  
          "maximum": 100,
           "type": "integer",  
           "type": "integer",  
           "minimum": 0
           "maximum": 100
         },  
         },  
         "muted": {
         "muted": {
           "type": "boolean",  
           "required": true,  
           "required": true
           "type": "boolean"
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "The volume of the application has changed."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,497: Line 10,638:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The audio library has been cleaned.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "The audio library has been cleaned."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,521: Line 10,662:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "An audio library clean operation has started.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "An audio library clean operation has started."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,549: Line 10,690:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "An audio item has been removed.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "id": {
         "id": {
Line 10,569: Line 10,707:
           "required": true
           "required": true
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "An audio item has been removed."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,583: Line 10,724:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Scanning the audio library has been finished.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "Scanning the audio library has been finished."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,607: Line 10,748:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "An audio library scan has started.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "An audio library scan has started."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,635: Line 10,776:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "An audio item has been updated.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "id": {
         "id": {
Line 10,652: Line 10,790:
         },  
         },  
         "type": {
         "type": {
          "required": true,
          "id": "Notifications.Library.Audio.Type",
          "type": "string",
           "enum": [
           "enum": [
             "song"
             "song"
           ]
           ],
          "id": "Notifications.Library.Audio.Type",
          "required": true,
          "type": "string"
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "An audio item has been updated."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,674: Line 10,815:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The user has provided the requested input.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "The user has provided the requested input."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,696: Line 10,837:
#''object'' data<br />
#''object'' data<br />
'''Properties:'''
'''Properties:'''
*''string'' value
*[ ''string'' title ]
*[ ''string'' title ]
*''string'' value
*''string'' type
*''string'' type


Line 10,703: Line 10,844:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The user is requested to provide some information.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
        "value": {
          "required": true,
          "type": "string"
        },
         "title": {
         "title": {
           "type": "string"
           "type": "string"
        },
        "value": {
          "type": "string",
          "required": true
         },  
         },  
         "type": {
         "type": {
          "required": true,
          "type": "string",
           "enum": [
           "enum": [
             "keyboard",  
             "keyboard",  
Line 10,734: Line 10,870:
             "number",  
             "number",  
             "seconds"
             "seconds"
           ]
           ],
          "required": true,
          "type": "string"
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "The user is requested to provide some information."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,751: Line 10,892:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Playback of a media item has been paused. If there is no ID available extra information will be provided.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 10,763: Line 10,903:
       "required": true
       "required": true
     }
     }
   ]
   ],
  "description": "Playback of a media item has been paused. If there is no ID available extra information will be provided."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,775: Line 10,916:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Playback of a media item has been started or the playback speed has changed. If there is no ID available extra information will be provided.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 10,787: Line 10,927:
       "required": true
       "required": true
     }
     }
   ]
   ],
  "description": "Playback of a media item has been started or the playback speed has changed. If there is no ID available extra information will be provided."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,803: Line 10,944:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "A property of the playing items has changed.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "property": {
         "property": {
Line 10,822: Line 10,960:
           "required": true
           "required": true
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "A property of the playing items has changed."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,840: Line 10,981:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The playback position has been changed. If there is no ID available extra information will be provided.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "player": {
         "player": {
Line 10,859: Line 10,997:
           "$ref": "Notifications.Item"
           "$ref": "Notifications.Item"
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "The playback position has been changed. If there is no ID available extra information will be provided."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,873: Line 11,014:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
Line 10,885: Line 11,025:
       "required": true
       "required": true
     }
     }
   ]
   ],
  "description": "Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,901: Line 11,042:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Playback of a media item has been stopped. If there is no ID available extra information will be provided.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "end": {
         "end": {
           "description": "Whether the player has reached the end of the playable item(s) or not",  
           "description": "Whether the player has reached the end of the playable item(s) or not",  
           "type": "boolean",  
           "required": true,  
           "required": true
           "type": "boolean"
         },  
         },  
         "item": {
         "item": {
           "$ref": "Notifications.Item"
           "$ref": "Notifications.Item"
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "Playback of a media item has been stopped. If there is no ID available extra information will be provided."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,934: Line 11,075:
#''object'' data<br />
#''object'' data<br />
'''Properties:'''
'''Properties:'''
*''[[#Playlist.Id|Playlist.Id]]'' playlistid
*[ ''[[#Playlist.Position|Playlist.Position]]'' position ]
*[ ''[[#Playlist.Position|Playlist.Position]]'' position ]
*[ ''[[#Notifications.Item|Notifications.Item]]'' item ]
*[ ''[[#Notifications.Item|Notifications.Item]]'' item ]
*''[[#Playlist.Id|Playlist.Id]]'' playlistid


</div>
</div>


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "A playlist item has been added.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
        "playlistid": {
          "$ref": "Playlist.Id",
          "required": true
        },
         "position": {
         "position": {
           "$ref": "Playlist.Position"
           "$ref": "Playlist.Position"
Line 10,962: Line 11,096:
         "item": {
         "item": {
           "$ref": "Notifications.Item"
           "$ref": "Notifications.Item"
        },
        "playlistid": {
          "$ref": "Playlist.Id",
          "required": true
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "A playlist item has been added."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 10,980: Line 11,121:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "A playlist item has been cleared.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "playlistid": {
         "playlistid": {
Line 10,996: Line 11,134:
           "required": true
           "required": true
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "A playlist item has been cleared."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,008: Line 11,149:
#''object'' data<br />
#''object'' data<br />
'''Properties:'''
'''Properties:'''
*[ ''[[#Playlist.Position|Playlist.Position]]'' position ]
*''[[#Playlist.Id|Playlist.Id]]'' playlistid
*''[[#Playlist.Id|Playlist.Id]]'' playlistid
*[ ''[[#Playlist.Position|Playlist.Position]]'' position ]


</div>
</div>


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "A playlist item has been removed.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
        "position": {
          "$ref": "Playlist.Position"
        },
         "playlistid": {
         "playlistid": {
           "$ref": "Playlist.Id",  
           "$ref": "Playlist.Id",  
           "required": true
           "required": true
        },
        "position": {
          "$ref": "Playlist.Position"
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "A playlist item has been removed."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,048: Line 11,189:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The system is on low battery.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "The system is on low battery."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,072: Line 11,213:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "XBMC will be closed.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "XBMC will be closed."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,096: Line 11,237:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The system will be restarted.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "The system will be restarted."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,120: Line 11,261:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The system will be suspended.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "The system will be suspended."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,144: Line 11,285:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The system woke up from suspension.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "The system woke up from suspension."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,169: Line 11,310:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "The video library has been cleaned.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "The video library has been cleaned."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,193: Line 11,334:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "A video library clean operation has started.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "A video library clean operation has started."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,221: Line 11,362:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "A video item has been removed.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "id": {
         "id": {
Line 11,241: Line 11,379:
           "required": true
           "required": true
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "A video item has been removed."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,255: Line 11,396:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "Scanning the video library has been finished.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "Scanning the video library has been finished."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,279: Line 11,420:


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "A video library scan has started.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
       "type": "null",  
       "required": true,  
       "required": true
       "type": "null"
     }
     }
   ]
   ],
  "description": "A video library scan has started."
}</syntaxhighlight>}}
}</syntaxhighlight>}}


Line 11,302: Line 11,443:
'''Properties:'''
'''Properties:'''
*''[[#Library.Id|Library.Id]]'' id
*''[[#Library.Id|Library.Id]]'' id
*[ ''integer'' playcount = -1 ]
*''string'' type
*''string'' type
*[ ''integer'' playcount = -1 ]


</div>
</div>


{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight lang="javascript">{
  "description": "A video item has been updated.",
   "params": [
   "params": [
     {
     {
       "name": "sender",  
       "name": "sender",  
       "type": "string",  
       "required": true,  
       "required": true
       "type": "string"
     },  
     },  
     {
     {
       "name": "data",  
       "name": "data",  
      "type": "object",
      "required": true,
       "properties": {
       "properties": {
         "id": {
         "id": {
           "$ref": "Library.Id",  
           "$ref": "Library.Id",  
           "required": true
           "required": true
        },
        "playcount": {
          "minimum": 0,
          "type": "integer",
          "default": -1
         },  
         },  
         "type": {
         "type": {
          "required": true,
          "id": "Notifications.Library.Video.Type",
          "type": "string",
           "enum": [
           "enum": [
             "movie",  
             "movie",  
Line 11,333: Line 11,473:
             "episode",  
             "episode",  
             "musicvideo"
             "musicvideo"
           ]
           ],  
        },  
           "id": "Notifications.Library.Video.Type",  
        "playcount": {
           "required": true,  
           "type": "integer",  
           "type": "string"
           "minimum": 0,  
           "default": -1
         }
         }
       }
       },
      "required": true,
      "type": "object"
     }
     }
   ]
   ],
  "description": "A video item has been updated."
}</syntaxhighlight>}}
}</syntaxhighlight>}}



Revision as of 19:33, 2 December 2012

Template:DevsHeader

JSON-RPC Pages
Main JSON-RPC Page
- v8 (Krypton)
- v10 (Leia)
- v12 (Matrix)
- v13 (Nexus)
- v14 (Omega)
Examples
All JSON-RPC Pages


Template:Frodo
Version 6 is a stable version of XBMC's JSON-RPC API and is published with the release of Eden. It comes with support for WebSockets as an alternative transport for third party clients. Using WebSockets will allow webinterfaces (which are currently restricted to the HTTP transport only) to get access to a bidirectional transport with XBMC's JSON-RPC API and can therefore also profit from additional features like notifications.

A rough and incomplete list of changes compared to version 4 can be found here. A more complete and detailed list can be found in the forum.

JSON-RPC 2.0 compatibility

Version Method calls Notifications
(server-side)
Notifications
(client-side)
Parameters
by-name
Parameters
by-position
Batch requests
Version 5 Yes Yes Yes Yes Yes Yes

Documentation (JSON Schema)

Supported features of JSON Schema

Schema IETF Draft 03
type Yes
properties Yes
patternProperties No
additionalProperties Yes
items Yes
additionalItems Yes
required Yes
dependencies No
minimum Yes
maximum Yes
Schema IETF Draft 03
exclusiveMinimum Yes
exclusiveMaximum Yes
minItems Yes
maxItems Yes
uniqueItems Yes
pattern No
minLength Yes
maxLength Yes
enum Yes
default Yes
Schema IETF Draft 03
title No
description Yes
format No
divisibleBy Yes
disallow No
extends Yes
id Yes
$ref Yes
$schema No
Hyper Schema No

Error message

If XBMC detects a bad or missing parameter in a JSON-RPC request it returns an error object. The JSON schema description of that error object is

{
  "type": "object",
  "properties": {
    "code": { "type": "integer", "required": true },
    "message": { "type": "string", "required": true },
    "data": { "type": "object",
      "properties": {
        "method": { "type": "string", "required": true },
        "stack": { "type": "object", "id": "Error.Stack",
          "properties": {
            "name": { "type": "string", "required": true },
            "type": { "type": "string", "required": true },
            "message": { "type": "string", "required": true },
            "property": { "$ref": "Error.Stack" }
          }
        }
      }
    }
  }
}

Namespaces

The XBMC JSON-RPC API is split up into namespaces, which contain methods that can be called. These namespaces are:

JSONRPC          A variety of standard JSONRPC calls
Player           Manages all available players
Playlist         Playlist modification
Files            Shares information
AudioLibrary     Audio Library information
VideoLibrary     Video Library information
Input            Allows limited navigation within XBMC
Application      Application information and control
System           System controls and information
XBMC             Dumping ground for very XBMC specific operations

Methods

Addons

Addons.ExecuteAddon

Executes the given addon with the given parameters (if possible)
Permissions:

  • ExecuteAddon

Parameters:

  1. string addonid
  2. [ mixed params = null ]
  3. [ boolean wait = False ]

Returns: string

Addons.GetAddonDetails

Gets the details of a specific addon
Permissions:

  • ReadData

Parameters:

  1. string addonid
  2. [ Addon.Fields properties ]

Returns:

Type: object
Properties:

Addons.GetAddons

Gets all available addons
Permissions:

  • ReadData

Parameters:

  1. [ Addon.Types type = "unknown" ]
  2. [ Addon.Content content = "unknown" ]
  3. [ mixed enabled = "all" ]
  4. [ Addon.Fields properties ]
  5. [ List.Limits limits ]

Returns:

Type: object
Properties:

Addons.SetAddonEnabled

Enables/Disables a specific addon
Permissions:

  • ManageAddon

Parameters:

  1. string addonid
  2. Global.Toggle enabled

Returns: string

Application

Application.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. Application.Property.Name[] properties

Returns: Application.Property.Value

Application.Quit

Quit application
Permissions:

  • ControlPower

Parameters: None
Returns: string

Application.SetMute

Toggle mute/unmute
Permissions:

  • ControlPlayback

Parameters:

  1. Global.Toggle mute

Returns: boolean

Application.SetVolume

Set the current volume
Permissions:

  • ControlPlayback

Parameters:

  1. mixed volume

Returns: integer

AudioLibrary

AudioLibrary.Clean

Cleans the audio library from non-existent items
Permissions:

  • RemoveData

Parameters: None
Returns: string

AudioLibrary.Export

Exports all items from the audio library
Permissions:

  • WriteFile

Parameters:

  1. [ mixed options ]

Returns: string

AudioLibrary.GetAlbumDetails

Retrieve details about a specific album
Permissions:

  • ReadData

Parameters:

  1. Library.Id albumid
  2. [ Audio.Fields.Album properties ]

Returns:

Type: object
Properties:

AudioLibrary.GetAlbums

Retrieve all albums from specified artist or genre
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Album properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]

Returns:

Type: object
Properties:

AudioLibrary.GetArtistDetails

Retrieve details about a specific artist
Permissions:

  • ReadData

Parameters:

  1. Library.Id artistid
  2. [ Audio.Fields.Artist properties ]

Returns:

Type: object
Properties:

AudioLibrary.GetArtists

Retrieve all artists
Permissions:

  • ReadData

Parameters:

  1. [ Optional.Boolean albumartistsonly = null ]
  2. [ Audio.Fields.Artist properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]
  5. [ mixed filter ]

Returns:

Type: object
Properties:

AudioLibrary.GetGenres

Retrieve all genres
Permissions:

  • ReadData

Parameters:

  1. [ Library.Fields.Genre properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetRecentlyAddedAlbums

Retrieve recently added albums
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Album properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetRecentlyAddedSongs

Retrieve recently added songs
Permissions:

  • ReadData

Parameters:

  1. [ List.Amount albumlimit = -1 ]
  2. [ Audio.Fields.Song properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetRecentlyPlayedAlbums

Retrieve recently played albums
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Album properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetRecentlyPlayedSongs

Retrieve recently played songs
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Song properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

AudioLibrary.GetSongDetails

Retrieve details about a specific song
Permissions:

  • ReadData

Parameters:

  1. Library.Id songid
  2. [ Audio.Fields.Song properties ]

Returns:

Type: object
Properties:

AudioLibrary.GetSongs

Retrieve all songs from specified album, artist or genre
Permissions:

  • ReadData

Parameters:

  1. [ Audio.Fields.Song properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]

Returns:

Type: object
Properties:

AudioLibrary.Scan

Scans the audio sources for new library items
Permissions:

  • UpdateData

Parameters:

  1. [ string directory = "" ]

Returns: string

AudioLibrary.SetAlbumDetails

Update the given album with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id albumid
  2. [ Optional.String title = null ]
  3. [ mixed artist = null ]
  4. [ Optional.String description = null ]
  5. [ mixed genre = null ]
  6. [ mixed theme = null ]
  7. [ mixed mood = null ]
  8. [ mixed style = null ]
  9. [ Optional.String type = null ]
  10. [ Optional.String albumlabel = null ]
  11. [ Optional.Integer rating = null ]
  12. [ Optional.Integer year = null ]

Returns: string

AudioLibrary.SetArtistDetails

Update the given artist with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id artistid
  2. [ Optional.String artist = null ]
  3. [ mixed instrument = null ]
  4. [ mixed style = null ]
  5. [ mixed mood = null ]
  6. [ Optional.String born = null ]
  7. [ Optional.String formed = null ]
  8. [ Optional.String description = null ]
  9. [ mixed genre = null ]
  10. [ Optional.String died = null ]
  11. [ Optional.String disbanded = null ]
  12. [ mixed yearsactive = null ]

Returns: string

AudioLibrary.SetSongDetails

Update the given song with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id songid
  2. [ Optional.String title = null ]
  3. [ mixed artist = null ]
  4. [ mixed albumartist = null ]
  5. [ mixed genre = null ]
  6. [ Optional.Integer year = null ]
  7. [ Optional.Integer rating = null ]
  8. [ Optional.String album = null ]
  9. [ Optional.Integer track = null ]
  10. [ Optional.Integer disc = null ]
  11. [ Optional.Integer duration = null ]
  12. [ Optional.String comment = null ]
  13. [ Optional.String musicbrainztrackid = null ]
  14. [ Optional.String musicbrainzartistid = null ]
  15. [ Optional.String musicbrainzalbumid = null ]
  16. [ Optional.String musicbrainzalbumartistid = null ]

Returns: string

Files

Files.Download

Downloads the given file
Permissions:

  • ReadData

Parameters:

  1. string path

Returns: any

Files.GetDirectory

Get the directories and files in the given directory
Permissions:

  • ReadData

Parameters:

  1. string directory
  2. [ Files.Media media = "files" ]
  3. [ List.Fields.Files properties ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

Files.GetFileDetails

Get details for a specific file
Permissions:

  • ReadData

Parameters:

  1. string file
  2. [ Files.Media media = "files" ]
  3. [ List.Fields.Files properties ]

Returns:

Type: object
Properties:

Files.GetSources

Get the sources of the media windows
Permissions:

  • ReadData

Parameters:

  1. Files.Media media
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

Files.PrepareDownload

Provides a way to download a given file (e.g. providing an URL to the real file location)
Permissions:

  • ReadData

Parameters:

  1. string path

Returns:

Type: object
Properties:

  • string mode
  • string protocol
  • any details

GUI

GUI.ActivateWindow

Activates the given window
Permissions:

  • ControlGUI

Parameters:

  1. GUI.Window window
  2. [ array[1..X] parameters ]

Returns: string

GUI.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. GUI.Property.Name[] properties

Returns: GUI.Property.Value

GUI.SetFullscreen

Toggle fullscreen/GUI
Permissions:

  • ControlGUI

Parameters:

  1. Global.Toggle fullscreen

Returns: boolean

GUI.ShowNotification

Shows a GUI notification
Permissions:

  • ControlGUI

Parameters:

  1. string title
  2. string message
  3. [ mixed image = "" ]
  4. [ integer displaytime = 5000 ]

Returns: string

Input

Input.Back

Goes back in GUI
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.ContextMenu

Shows the context menu
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.Down

Navigate down in GUI
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.ExecuteAction

Execute a specific action
Permissions:

  • Navigate

Parameters:

  1. Input.Action action

Returns: string

Input.Home

Goes to home window in GUI
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.Info

Shows the information dialog
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.Left

Navigate left in GUI
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.Right

Navigate right in GUI
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.Select

Select current item in GUI
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.SendText

Send a generic (unicode) text
Permissions:

  • Navigate

Parameters:

  1. string text
  2. [ boolean done = True ]

Returns: string

Input.ShowCodec

Show codec information of the playing item
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.ShowOSD

Show the on-screen display for the current player
Permissions:

  • Navigate

Parameters: None
Returns: string

Input.Up

Navigate up in GUI
Permissions:

  • Navigate

Parameters: None
Returns: string

JSONRPC

JSONRPC.GetConfiguration

Get client-specific configurations
Permissions:

  • ReadData

Parameters: None
Returns: Configuration

JSONRPC.Introspect

Enumerates all actions and descriptions
Permissions:

  • ReadData

Parameters:

  1. [ boolean getdescriptions = True ]
  2. [ boolean getmetadata = False ]
  3. [ boolean filterbytransport = True ]
  4. [ object filter ]

Properties:

  • [ boolean getreferences = True ]
  • string id
  • string type

Returns:

Type: object

JSONRPC.NotifyAll

Notify all other connected clients
Permissions:

  • ReadData

Parameters:

  1. string sender
  2. string message
  3. [ any data = null ]

Returns: any

JSONRPC.Permission

Retrieve the clients permissions
Permissions:

  • ReadData

Parameters: None
Returns:

Type: object
Properties:

  • boolean readdata
  • boolean writefile
  • boolean controlpvr
  • boolean controlsystem
  • boolean removedata
  • boolean controlplayback
  • boolean navigate
  • boolean controlpower
  • boolean executeaddon
  • boolean manageaddon
  • boolean controlgui
  • boolean controlnotify
  • boolean updatedata

JSONRPC.Ping

Ping responder
Permissions:

  • ReadData

Parameters: None
Returns: string

JSONRPC.SetConfiguration

Change the client-specific configuration
Permissions:

  • ControlNotify

Parameters:

  1. [ object notifications ]

Properties:

Returns: Configuration

JSONRPC.Version

Retrieve the JSON-RPC protocol version.
Permissions:

  • ReadData

Parameters: None
Returns:

Type: object
Properties:

  • integer minor
  • integer patch
  • integer major

PVR

PVR.GetChannelDetails

Retrieves the details of a specific channel
Permissions:

  • ReadData

Parameters:

  1. Library.Id channelid
  2. [ PVR.Fields.Channel properties ]

Returns:

Type: object
Properties:

PVR.GetChannelGroupDetails

Retrieves the details of a specific channel group
Permissions:

  • ReadData

Parameters:

  1. PVR.ChannelGroup.Id channelgroupid
  2. [ object channels ]

Properties:

Returns:

Type: object
Properties:

PVR.GetChannelGroups

Retrieves the channel groups for the specified type
Permissions:

  • ReadData

Parameters:

  1. PVR.Channel.Type channeltype
  2. [ List.Limits limits ]

Returns:

Type: object
Properties:

PVR.GetChannels

Retrieves the channel list
Permissions:

  • ReadData

Parameters:

  1. PVR.ChannelGroup.Id channelgroupid
  2. [ PVR.Fields.Channel properties ]
  3. [ List.Limits limits ]

Returns:

Type: object
Properties:

PVR.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. PVR.Property.Name[] properties

Returns: PVR.Property.Value

PVR.Record

Toggle recording of a channel
Permissions:

  • ControlPVR

Parameters:

  1. [ Global.Toggle record = "toggle" ]
  2. [ mixed channel = "current" ]

Returns: string

PVR.Scan

Starts a channel scan
Permissions:

  • ControlPVR

Parameters: None
Returns: string

Player

Player.GetActivePlayers

Returns all active players
Permissions:

  • ReadData

Parameters: None
Returns:

Type: array

Player.GetItem

Retrieves the currently played item
Permissions:

  • ReadData

Parameters:

  1. Player.Id playerid
  2. [ List.Fields.All properties ]

Returns:

Type: object
Properties:

Player.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. Player.Id playerid
  2. Player.Property.Name[] properties

Returns: Player.Property.Value

Player.GoTo

Go to previous/next/specific item in the playlist
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed to

Returns: string

Player.Move

If picture is zoomed move viewport left/right/up/down otherwise skip previous/next
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. string direction

Returns: string

Player.Open

Start playback of either the playlist with the given ID, a slideshow with the pictures from the given directory or a single file or an item from the database.
Permissions:

  • ControlPlayback

Parameters:

  1. [ mixed item ]
  2. [ object options ]

Properties:

  • [ Optional.Boolean shuffled = null ]
  • [ mixed repeat = null ]
  • [ mixed resume = False ]

Returns: string

Player.PlayPause

Pauses or unpause playback and returns the new state
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. [ Global.Toggle play = "toggle" ]

Returns: Player.Speed

Player.Rotate

Rotates current picture
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. [ string value = "clockwise" ]

Returns: string

Player.Seek

Seek through the playing item
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed value

Returns:

Type: object
Properties:

Player.SetAudioStream

Set the audio stream played by the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed stream

Returns: string

Player.SetPartymode

Turn partymode on or off
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. Global.Toggle partymode

Returns: string

Player.SetRepeat

Set the repeat mode of the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed repeat

Returns: string

Player.SetShuffle

Shuffle/Unshuffle items in the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. Global.Toggle shuffle

Returns: string

Player.SetSpeed

Set the speed of the current playback
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed speed

Returns: Player.Speed

Player.SetSubtitle

Set the subtitle displayed by the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed subtitle
  3. [ boolean enable = False ]

Returns: string

Player.Stop

Stops playback
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid

Returns: string

Player.Zoom

Zoom current picture
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed zoom

Returns: string

Playlist

Playlist.Add

Add item(s) to playlist
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Item item

Returns: string

Playlist.Clear

Clear playlist
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid

Returns: string

Playlist.GetItems

Get all items from playlist
Permissions:

  • ReadData

Parameters:

  1. Playlist.Id playlistid
  2. [ List.Fields.All properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

Playlist.GetPlaylists

Returns all existing playlists
Permissions:

  • ReadData

Parameters: None
Returns:

Type: array

Playlist.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Property.Name[] properties

Returns: Playlist.Property.Value

Playlist.Insert

Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Position position
  3. Playlist.Item item

Returns: string

Playlist.Remove

Remove item from playlist. Does not work for picture playlists (aka slideshows).
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Position position

Returns: string

Playlist.Swap

Swap items in the playlist. Does not work for picture playlists (aka slideshows).
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. Playlist.Position position1
  3. Playlist.Position position2

Returns: string

System

System.EjectOpticalDrive

Ejects or closes the optical disc drive (if available)
Permissions:

  • ControlSystem

Parameters: None
Returns: string

System.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. System.Property.Name[] properties

Returns: System.Property.Value

System.Hibernate

Puts the system running XBMC into hibernate mode
Permissions:

  • ControlPower

Parameters: None
Returns: string

System.Reboot

Reboots the system running XBMC
Permissions:

  • ControlPower

Parameters: None
Returns: string

System.Shutdown

Shuts the system running XBMC down
Permissions:

  • ControlPower

Parameters: None
Returns: string

System.Suspend

Suspends the system running XBMC
Permissions:

  • ControlPower

Parameters: None
Returns: string

VideoLibrary

VideoLibrary.Clean

Cleans the video library from non-existent items
Permissions:

  • RemoveData

Parameters: None
Returns: string

VideoLibrary.Export

Exports all items from the video library
Permissions:

  • WriteFile

Parameters:

  1. [ mixed options ]

Returns: string

VideoLibrary.GetEpisodeDetails

Retrieve details about a specific tv show episode
Permissions:

  • ReadData

Parameters:

  1. Library.Id episodeid
  2. [ Video.Fields.Episode properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetEpisodes

Retrieve all tv show episodes
Permissions:

  • ReadData

Parameters:

  1. [ Library.Id tvshowid = -1 ]
  2. [ integer season = -1 ]
  3. [ Video.Fields.Episode properties ]
  4. [ List.Limits limits ]
  5. [ List.Sort sort ]
  6. [ mixed filter ]

Returns:

Type: object
Properties:

VideoLibrary.GetGenres

Retrieve all genres
Permissions:

  • ReadData

Parameters:

  1. string type
  2. [ Library.Fields.Genre properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetMovieDetails

Retrieve details about a specific movie
Permissions:

  • ReadData

Parameters:

  1. Library.Id movieid
  2. [ Video.Fields.Movie properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetMovieSetDetails

Retrieve details about a specific movie set
Permissions:

  • ReadData

Parameters:

  1. Library.Id setid
  2. [ Video.Fields.MovieSet properties ]
  3. [ object movies ]

Properties:

Returns:

Type: object
Properties:

VideoLibrary.GetMovieSets

Retrieve all movie sets
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.MovieSet properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetMovies

Retrieve all movies
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.Movie properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]

Returns:

Type: object
Properties:

VideoLibrary.GetMusicVideoDetails

Retrieve details about a specific music video
Permissions:

  • ReadData

Parameters:

  1. Library.Id musicvideoid
  2. [ Video.Fields.MusicVideo properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetMusicVideos

Retrieve all music videos
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.MusicVideo properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]

Returns:

Type: object
Properties:

VideoLibrary.GetRecentlyAddedEpisodes

Retrieve all recently added tv episodes
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.Episode properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetRecentlyAddedMovies

Retrieve all recently added movies
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.Movie properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetRecentlyAddedMusicVideos

Retrieve all recently added music videos
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.MusicVideo properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetSeasons

Retrieve all tv seasons
Permissions:

  • ReadData

Parameters:

  1. Library.Id tvshowid
  2. [ Video.Fields.Season properties ]
  3. [ List.Limits limits ]
  4. [ List.Sort sort ]

Returns:

Type: object
Properties:

VideoLibrary.GetTVShowDetails

Retrieve details about a specific tv show
Permissions:

  • ReadData

Parameters:

  1. Library.Id tvshowid
  2. [ Video.Fields.TVShow properties ]

Returns:

Type: object
Properties:

VideoLibrary.GetTVShows

Retrieve all tv shows
Permissions:

  • ReadData

Parameters:

  1. [ Video.Fields.TVShow properties ]
  2. [ List.Limits limits ]
  3. [ List.Sort sort ]
  4. [ mixed filter ]

Returns:

Type: object
Properties:

VideoLibrary.RemoveEpisode

Removes the given episode from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id episodeid

Returns: string

VideoLibrary.RemoveMovie

Removes the given movie from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id movieid

Returns: string

VideoLibrary.RemoveMusicVideo

Removes the given music video from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id musicvideoid

Returns: string

VideoLibrary.RemoveTVShow

Removes the given tv show from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id tvshowid

Returns: string

VideoLibrary.Scan

Scans the video sources for new library items
Permissions:

  • UpdateData

Parameters:

  1. [ string directory = "" ]

Returns: string

VideoLibrary.SetEpisodeDetails

Update the given episode with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id episodeid
  2. [ Optional.String title = null ]
  3. [ Optional.Integer playcount = null ]
  4. [ Optional.Integer runtime = null ]
  5. [ mixed director = null ]
  6. [ Optional.String plot = null ]
  7. [ Optional.Number rating = null ]
  8. [ Optional.String votes = null ]
  9. [ Optional.String lastplayed = null ]
  10. [ mixed writer = null ]
  11. [ Optional.String firstaired = null ]
  12. [ Optional.String productioncode = null ]
  13. [ Optional.Integer season = null ]
  14. [ Optional.Integer episode = null ]
  15. [ Optional.String originaltitle = null ]
  16. [ Optional.String thumbnail = null ]
  17. [ Optional.String fanart = null ]
  18. [ mixed art = null ]

Returns: string

VideoLibrary.SetMovieDetails

Update the given movie with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id movieid
  2. [ Optional.String title = null ]
  3. [ Optional.Integer playcount = null ]
  4. [ Optional.Integer runtime = null ]
  5. [ mixed director = null ]
  6. [ mixed studio = null ]
  7. [ Optional.Integer year = null ]
  8. [ Optional.String plot = null ]
  9. [ mixed genre = null ]
  10. [ Optional.Number rating = null ]
  11. [ Optional.String mpaa = null ]
  12. [ Optional.String imdbnumber = null ]
  13. [ Optional.String votes = null ]
  14. [ Optional.String lastplayed = null ]
  15. [ Optional.String originaltitle = null ]
  16. [ Optional.String trailer = null ]
  17. [ Optional.String tagline = null ]
  18. [ Optional.String plotoutline = null ]
  19. [ mixed writer = null ]
  20. [ mixed country = null ]
  21. [ Optional.Integer top250 = null ]
  22. [ Optional.String sorttitle = null ]
  23. [ Optional.String set = null ]
  24. [ mixed showlink = null ]
  25. [ Optional.String thumbnail = null ]
  26. [ Optional.String fanart = null ]
  27. [ mixed tag = null ]
  28. [ mixed art = null ]

Returns: string

VideoLibrary.SetMusicVideoDetails

Update the given music video with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id musicvideoid
  2. [ Optional.String title = null ]
  3. [ Optional.Integer playcount = null ]
  4. [ Optional.Integer runtime = null ]
  5. [ mixed director = null ]
  6. [ mixed studio = null ]
  7. [ Optional.Integer year = null ]
  8. [ Optional.String plot = null ]
  9. [ Optional.String album = null ]
  10. [ mixed artist = null ]
  11. [ mixed genre = null ]
  12. [ Optional.Integer track = null ]
  13. [ Optional.String lastplayed = null ]
  14. [ Optional.String thumbnail = null ]
  15. [ Optional.String fanart = null ]
  16. [ mixed tag = null ]
  17. [ mixed art = null ]

Returns: string

VideoLibrary.SetTVShowDetails

Update the given tvshow with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id tvshowid
  2. [ Optional.String title = null ]
  3. [ Optional.Integer playcount = null ]
  4. [ mixed studio = null ]
  5. [ Optional.String plot = null ]
  6. [ mixed genre = null ]
  7. [ Optional.Number rating = null ]
  8. [ Optional.String mpaa = null ]
  9. [ Optional.String imdbnumber = null ]
  10. [ Optional.String premiered = null ]
  11. [ Optional.String votes = null ]
  12. [ Optional.String lastplayed = null ]
  13. [ Optional.String originaltitle = null ]
  14. [ Optional.String sorttitle = null ]
  15. [ Optional.String episodeguide = null ]
  16. [ Optional.String thumbnail = null ]
  17. [ Optional.String fanart = null ]
  18. [ mixed tag = null ]
  19. [ mixed art = null ]

Returns: string

XBMC

XBMC.GetInfoBooleans

Retrieve info booleans about XBMC and the system
Permissions:

  • ReadData

Parameters:

  1. array[1..X] booleans

Returns:

Type: object

XBMC.GetInfoLabels

Retrieve info labels about XBMC and the system
Permissions:

  • ReadData

Parameters:

  1. array[1..X] labels

Returns:

Type: object


Global types

Addon

Addon.Content

Type: string

Addon.Details

Extends:


Properties:

  • string addonid
  • [ string disclaimer = "" ]
  • [ string fanart = "" ]
  • [ mixed broken = null ]
  • [ string author = "" ]
  • [ boolean enabled = False ]
  • [ array extrainfo ]
  • [ string thumbnail = "" ]
  • [ string path = "" ]
  • [ array dependencies ]
  • Addon.Types type
  • [ string description = "" ]
  • [ string name = "" ]
  • [ string version = "" ]
  • [ string summary = "" ]
  • [ integer rating = 0 ]

Addon.Fields

Extends:

Addon.Types

Type: string

Application

Application.Property.Name

Type: string

Application.Property.Value

Type: object
Properties:

  • [ object version ]

Properties:

    • integer minor
    • string tag
    • integer major
    • [ mixed revision = null ]
  • [ string name = "" ]
  • [ integer volume = 0 ]
  • [ boolean muted = False ]

Array

Array.Integer

Type: array

Array.String

Type: array

Audio

Audio.Details.Album

Extends:


Properties:

Audio.Details.Artist

Extends:


Properties:

  • [ string born = "" ]
  • [ string formed = "" ]
  • [ string died = "" ]
  • [ Array.String style ]
  • [ Array.String yearsactive ]
  • [ Array.String mood ]
  • [ string musicbrainzartistid = "" ]
  • [ string disbanded = "" ]
  • [ string description = "" ]
  • string artist
  • [ Array.String instrument ]
  • Library.Id artistid

Audio.Details.Base

Extends:


Properties:

Audio.Details.Media

Extends:


Properties:

  • [ string displayartist = "" ]
  • [ Array.String artist ]
  • [ Array.Integer genreid ]
  • [ string musicbrainzalbumartistid = "" ]
  • [ integer year = 0 ]
  • [ integer rating = 0 ]
  • [ Array.Integer artistid ]
  • [ string title = "" ]
  • [ string musicbrainzalbumid = "" ]

Audio.Details.Song

Extends:


Properties:

  • [ string lyrics = "" ]
  • Library.Id songid
  • [ Array.Integer albumartistid ]
  • [ integer disc = 0 ]
  • [ string comment = "" ]
  • [ integer playcount = 0 ]
  • [ string album = "" ]
  • [ string file = "" ]
  • [ string lastplayed = "" ]
  • [ Library.Id albumid = -1 ]
  • [ string musicbrainzartistid = "" ]
  • [ Array.String albumartist ]
  • [ integer duration = 0 ]
  • [ string musicbrainztrackid = "" ]
  • [ integer track = 0 ]

Audio.Fields.Album

Extends:

Audio.Fields.Artist

Extends:

Audio.Fields.Song

Extends:

Configuration

Configuration

Type: object
Properties:

Configuration.Notifications

Type: object
Properties:

  • boolean gui
  • boolean other
  • boolean input
  • boolean videolibrary
  • boolean audiolibrary
  • boolean pvr
  • boolean playlist
  • boolean system
  • boolean player
  • boolean application

Files

Files.Media

Type: string

GUI

GUI.Property.Name

Type: string

GUI.Property.Value

Type: object
Properties:

  • [ object currentwindow ]

Properties:

    • string label
    • integer id
  • [ boolean fullscreen = False ]
  • [ object skin ]

Properties:

    • string id
    • [ string name = "" ]
  • [ object currentcontrol ]

Properties:

    • string label

GUI.Window

Type: string

Global

Global.IncrementDecrement

Type: string

Global.String.NotEmpty

Type: string

Global.Time

Type: object
Properties:

  • integer hours
  • integer milliseconds
  • integer seconds
  • integer minutes

Global.Toggle

Type: mixed

Input

Input.Action

Type: string

Item

Item.Details.Base

Type: object
Properties:

  • string label

Item.Fields.Base

Type: array

Library

Library.Details.Genre

Extends:


Properties:

  • [ string thumbnail = "" ]
  • [ string title = "" ]
  • Library.Id genreid

Library.Fields.Genre

Extends:

Library.Id

Type: integer

List

List.Amount

Type: integer

List.Fields.All

Extends:

List.Fields.Files

Extends:

List.Filter.Albums

Type: mixed

List.Filter.Artists

Type: mixed

List.Filter.Episodes

Type: mixed

List.Filter.Fields.Albums

Type: string

List.Filter.Fields.Artists

Type: string

List.Filter.Fields.Episodes

Type: string

List.Filter.Fields.Movies

Type: string

List.Filter.Fields.MusicVideos

Type: string

List.Filter.Fields.Songs

Type: string

List.Filter.Fields.TVShows

Type: string

List.Filter.Movies

Type: mixed

List.Filter.MusicVideos

Type: mixed

List.Filter.Operators

Type: string

List.Filter.Rule

Type: object
Properties:

List.Filter.Rule.Albums

Extends:


Properties:

List.Filter.Rule.Artists

Extends:


Properties:

List.Filter.Rule.Episodes

Extends:


Properties:

List.Filter.Rule.Movies

Extends:


Properties:

List.Filter.Rule.MusicVideos

Extends:


Properties:

List.Filter.Rule.Songs

Extends:


Properties:

List.Filter.Rule.TVShows

Extends:


Properties:

List.Filter.Songs

Type: mixed

List.Filter.TVShows

Type: mixed

List.Item.All

Extends:


Properties:

  • [ PVR.Channel.Type channeltype = "tv" ]
  • [ string channel = "" ]
  • [ string starttime = "" ]
  • [ string endtime = "" ]
  • [ integer channelnumber = 0 ]
  • [ boolean hidden = False ]
  • [ boolean locked = False ]

List.Item.Base

Extends:


Properties:

  • [ string sorttitle = "" ]
  • [ string productioncode = "" ]
  • [ Video.Cast cast ]
  • [ string votes = "" ]
  • [ integer duration = 0 ]
  • [ string trailer = "" ]
  • [ Library.Id albumid = -1 ]
  • [ string musicbrainzartistid = "" ]
  • [ string mpaa = "" ]
  • [ string albumlabel = "" ]
  • [ string originaltitle = "" ]
  • [ Array.String writer ]
  • [ Array.Integer albumartistid ]
  • [ string type = "unknown" ]
  • [ integer episode = 0 ]
  • [ string firstaired = "" ]
  • [ string showtitle = "" ]
  • [ Array.String country ]
  • [ Array.String mood ]
  • [ string set = "" ]
  • [ string musicbrainztrackid = "" ]
  • [ Array.String tag ]
  • [ string lyrics = "" ]
  • [ integer top250 = 0 ]
  • [ string comment = "" ]
  • [ string premiered = "" ]
  • [ Array.String showlink ]
  • [ Array.String style ]
  • [ string album = "" ]
  • [ Library.Id tvshowid = -1 ]
  • [ integer season = 0 ]
  • [ Array.String theme ]
  • [ string description = "" ]
  • [ Library.Id setid = -1 ]
  • [ integer track = 0 ]
  • [ string tagline = "" ]
  • [ string plotoutline = "" ]
  • [ integer watchedepisodes = 0 ]
  • [ Library.Id id = -1 ]
  • [ integer disc = 0 ]
  • [ Array.String albumartist ]
  • [ Array.String studio ]
  • [ object uniqueid ]
  • [ string episodeguide = "" ]
  • [ string imdbnumber = "" ]

List.Item.File

Extends:


Properties:

  • string filetype
  • [ integer size = 0 ]
  • [ string mimetype = "" ]
  • string file
  • [ string lastmodified = "" ]

List.Items.Sources

Type: array

List.Limits

Type: object
Properties:

List.LimitsReturned

Type: object
Properties:

  • [ List.Amount end = -1 ]
  • integer total
  • [ integer start = 0 ]

List.Sort

Type: object
Properties:

  • [ string order = "ascending" ]
  • [ boolean ignorearticle = False ]
  • [ string method = "none" ]

Media

Media.Artwork

Type: object
Properties:

Media.Details.Base

Extends:


Properties:

  • [ string fanart = "" ]
  • [ string thumbnail = "" ]

Notifications

Notifications.Item

Type: mixed

Notifications.Item.Type

Type: string

Optional

Optional.Boolean

Type: mixed

Optional.Integer

Type: mixed

Optional.Number

Type: mixed

Optional.String

Type: mixed

PVR

PVR.Channel.Type

Type: string

PVR.ChannelGroup.Id

Type: mixed

PVR.Details.Channel

Extends:


Properties:

  • [ PVR.Channel.Type channeltype = "tv" ]
  • [ string thumbnail = "" ]
  • [ string channel = "" ]
  • [ boolean hidden = False ]
  • Library.Id channelid
  • [ boolean locked = False ]
  • [ string lastplayed = "" ]

PVR.Details.ChannelGroup

Extends:


Properties:

PVR.Details.ChannelGroup.Extended

Extends:


Properties:

PVR.Fields.Channel

Extends:

PVR.Property.Name

Type: string

PVR.Property.Value

Type: object
Properties:

  • [ boolean scanning = False ]
  • [ boolean recording = False ]
  • [ boolean available = False ]

Player

Player.Audio.Stream

Type: object
Properties:

  • integer index
  • string language
  • string name

Player.Audio.Stream.Extended

Extends:


Properties:

  • integer channels
  • string codec
  • integer bitrate

Player.Id

Type: integer

Player.Notifications.Data

Type: object
Properties:

Player.Notifications.Player

Type: object
Properties:

Player.Notifications.Player.Seek

Extends:


Properties:

Player.Position.Percentage

Type: number

Player.Position.Time

Type: object
Properties:

  • [ integer hours = 0 ]
  • [ integer milliseconds = 0 ]
  • [ integer seconds = 0 ]
  • [ integer minutes = 0 ]

Player.Property.Name

Type: string

Player.Property.Value

Type: object
Properties:

Player.Repeat

Type: string

Player.Speed

Type: object
Properties:

  • [ integer speed = 0 ]

Player.Subtitle

Type: object
Properties:

  • integer index
  • string language
  • string name

Player.Type

Type: string

Playlist

Playlist.Id

Type: integer

Playlist.Item

Type: mixed

Playlist.Position

Type: integer

Playlist.Property.Name

Type: string

Playlist.Property.Value

Type: object
Properties:

Playlist.Type

Type: string

System

System.Property.Name

Type: string

System.Property.Value

Type: object
Properties:

  • [ boolean canshutdown = False ]
  • [ boolean canhibernate = False ]
  • [ boolean cansuspend = False ]
  • [ boolean canreboot = False ]

Video

Video.Cast

Type: array

Video.Details.Base

Extends:


Properties:

Video.Details.Episode

Extends:


Properties:

  • [ Video.Cast cast ]
  • [ string productioncode = "" ]
  • [ number rating = 0 ]
  • [ string votes = "" ]
  • [ integer episode = 0 ]
  • [ string showtitle = "" ]
  • Library.Id episodeid
  • [ Library.Id tvshowid = -1 ]
  • [ integer season = 0 ]
  • [ string firstaired = "" ]
  • [ object uniqueid ]
  • [ Array.String writer ]
  • [ string originaltitle = "" ]

Video.Details.File

Extends:


Properties:

Video.Details.Item

Extends:


Properties:

  • [ string dateadded = "" ]
  • [ string file = "" ]
  • [ string lastplayed = "" ]
  • [ string plot = "" ]

Video.Details.Media

Extends:


Properties:

  • [ string title = "" ]

Video.Details.Movie

Extends:


Properties:

Video.Details.MovieSet

Extends:


Properties:

Video.Details.MovieSet.Extended

Extends:


Properties:

Video.Details.MusicVideo

Extends:


Properties:

Video.Details.Season

Extends:


Properties:

  • [ string showtitle = "" ]
  • [ integer watchedepisodes = 0 ]
  • [ Library.Id tvshowid = -1 ]
  • [ integer episode = 0 ]
  • integer season

Video.Details.TVShow

Extends:


Properties:

  • [ string sorttitle = "" ]
  • [ string mpaa = "" ]
  • [ string premiered = "" ]
  • [ integer year = 0 ]
  • [ integer episode = 0 ]
  • [ integer watchedepisodes = 0 ]
  • [ string votes = "" ]
  • [ number rating = 0 ]
  • Library.Id tvshowid
  • [ Array.String studio ]
  • [ integer season = 0 ]
  • [ Array.String genre ]
  • [ Video.Cast cast ]
  • [ string episodeguide = "" ]
  • [ Array.String tag ]
  • [ string originaltitle = "" ]
  • [ string imdbnumber = "" ]

Video.Fields.Episode

Extends:

Video.Fields.Movie

Extends:

Video.Fields.MovieSet

Extends:

Video.Fields.MusicVideo

Extends:

Video.Fields.Season

Extends:

Video.Fields.TVShow

Extends:

Video.Resume

Type: object
Properties:

  • [ number position = 0 ]
  • [ number total = 0 ]

Video.Streams

Type: object
Properties:

  • [ array[1..X] video ]
  • [ array[1..X] audio ]
  • [ array[1..X] subtitle ]


Notifications

Application

Application.OnVolumeChanged

The volume of the application has changed.
Parameters:

  1. string sender
  2. object data

Properties:

  • integer volume
  • boolean muted

AudioLibrary

AudioLibrary.OnCleanFinished

The audio library has been cleaned.
Parameters:

  1. string sender
  2. null data

AudioLibrary.OnCleanStarted

An audio library clean operation has started.
Parameters:

  1. string sender
  2. null data

AudioLibrary.OnRemove

An audio item has been removed.
Parameters:

  1. string sender
  2. object data

Properties:

AudioLibrary.OnScanFinished

Scanning the audio library has been finished.
Parameters:

  1. string sender
  2. null data

AudioLibrary.OnScanStarted

An audio library scan has started.
Parameters:

  1. string sender
  2. null data

AudioLibrary.OnUpdate

An audio item has been updated.
Parameters:

  1. string sender
  2. object data

Properties:

Input

Input.OnInputFinished

The user has provided the requested input.
Parameters:

  1. string sender
  2. null data

Input.OnInputRequested

The user is requested to provide some information.
Parameters:

  1. string sender
  2. object data

Properties:

  • string value
  • [ string title ]
  • string type

Player

Player.OnPause

Playback of a media item has been paused. If there is no ID available extra information will be provided.
Parameters:

  1. string sender
  2. Player.Notifications.Data data

Player.OnPlay

Playback of a media item has been started or the playback speed has changed. If there is no ID available extra information will be provided.
Parameters:

  1. string sender
  2. Player.Notifications.Data data

Player.OnPropertyChanged

A property of the playing items has changed.
Parameters:

  1. string sender
  2. object data

Properties:

Player.OnSeek

The playback position has been changed. If there is no ID available extra information will be provided.
Parameters:

  1. string sender
  2. object data

Properties:

Player.OnSpeedChanged

Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.
Parameters:

  1. string sender
  2. Player.Notifications.Data data

Player.OnStop

Playback of a media item has been stopped. If there is no ID available extra information will be provided.
Parameters:

  1. string sender
  2. object data

Properties:

Playlist

Playlist.OnAdd

A playlist item has been added.
Parameters:

  1. string sender
  2. object data

Properties:

Playlist.OnClear

A playlist item has been cleared.
Parameters:

  1. string sender
  2. object data

Properties:

Playlist.OnRemove

A playlist item has been removed.
Parameters:

  1. string sender
  2. object data

Properties:

System

System.OnLowBattery

The system is on low battery.
Parameters:

  1. string sender
  2. null data

System.OnQuit

XBMC will be closed.
Parameters:

  1. string sender
  2. null data

System.OnRestart

The system will be restarted.
Parameters:

  1. string sender
  2. null data

System.OnSleep

The system will be suspended.
Parameters:

  1. string sender
  2. null data

System.OnWake

The system woke up from suspension.
Parameters:

  1. string sender
  2. null data

VideoLibrary

VideoLibrary.OnCleanFinished

The video library has been cleaned.
Parameters:

  1. string sender
  2. null data

VideoLibrary.OnCleanStarted

A video library clean operation has started.
Parameters:

  1. string sender
  2. null data

VideoLibrary.OnRemove

A video item has been removed.
Parameters:

  1. string sender
  2. object data

Properties:

VideoLibrary.OnScanFinished

Scanning the video library has been finished.
Parameters:

  1. string sender
  2. null data

VideoLibrary.OnScanStarted

A video library scan has started.
Parameters:

  1. string sender
  2. null data

VideoLibrary.OnUpdate

A video item has been updated.
Parameters:

  1. string sender
  2. object data

Properties:

  • Library.Id id
  • [ integer playcount = -1 ]
  • string type

See also

External links