Difference between revisions of "JSON-RPC API/v12"

From Official Kodi Wiki
Jump to: navigation, search
Line 1: Line 1:
 
{{mininav|[[Development]]|[[JSON-RPC API]]}}
 
{{mininav|[[Development]]|[[JSON-RPC API]]}}
 
Version 12 is the current development version of Kodi's JSON-RPC API and will be published with the release of v19 (Matrix).<br />
 
Version 12 is the current development version of Kodi's JSON-RPC API and will be published with the release of v19 (Matrix).<br />
This document has been updated to version 11.10.1. Recent changes are announced on the [https://forum.kodi.tv/forumdisplay.php?fid=174 forum]
+
This document has been updated to version 11.11.0. Recent changes are announced on the [https://forum.kodi.tv/forumdisplay.php?fid=174 forum]
  
 
It comes with support for [http://en.wikipedia.org/wiki/WebSocket 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 Kodi's JSON-RPC API and can therefore also profit from additional features like notifications.
 
It comes with support for [http://en.wikipedia.org/wiki/WebSocket 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 Kodi's JSON-RPC API and can therefore also profit from additional features like notifications.
Line 940: Line 940:
 
</syntaxhighlight>}}
 
</syntaxhighlight>}}
 
==== AudioLibrary.GetArtists ====
 
==== AudioLibrary.GetArtists ====
Retrieve all artists. For backward compatibility by default this implicity does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true<br />
+
Retrieve all artists. For backward compatibility by default this implicitly does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true<br />
 
'''Permissions:'''
 
'''Permissions:'''
 
* ReadData
 
* ReadData
Line 961: Line 961:
 
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight enclose="div">
 
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight enclose="div">
 
{
 
{
   "description": "Retrieve all artists. For backward compatibility by default this implicity does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true",
+
   "description": "Retrieve all artists. For backward compatibility by default this implicitly does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true",
 
   "params": [
 
   "params": [
 
     {
 
     {
Line 1,615: Line 1,615:
 
# [''[[#List.Sort|List.Sort]]'' sort]<br />
 
# [''[[#List.Sort|List.Sort]]'' sort]<br />
 
# [''mixed: object|object|object|object|object|object|object|object|object|object|[[#List.Filter.Songs|List.Filter.Songs]]'' filter]<br />
 
# [''mixed: object|object|object|object|object|object|object|object|object|object|[[#List.Filter.Songs|List.Filter.Songs]]'' filter]<br />
# [''boolean'' includesingles = True] (Only songs from albums are returned when false, but overidden when singlesonly parameter is true)<br />
+
# [''boolean'' includesingles = True] (Only songs from albums are returned when false, but overridden when singlesonly parameter is true)<br />
 
# [''boolean'' allroles = False] (Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.)<br />
 
# [''boolean'' allroles = False] (Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.)<br />
# [''boolean'' singlesonly = False] (Only singles are returned when true, and overides includesingles parameter)<br />
+
# [''boolean'' singlesonly = False] (Only singles are returned when true, and overrides includesingles parameter)<br />
 
</div>
 
</div>
 
'''Returns:'''  
 
'''Returns:'''  
Line 1,777: Line 1,777:
 
     {
 
     {
 
       "default": true,
 
       "default": true,
       "description": "Only songs from albums are returned when false, but overidden when singlesonly parameter is true",
+
       "description": "Only songs from albums are returned when false, but overridden when singlesonly parameter is true",
 
       "name": "includesingles",
 
       "name": "includesingles",
 
       "type": "boolean"
 
       "type": "boolean"
Line 1,789: Line 1,789:
 
     {
 
     {
 
       "default": false,
 
       "default": false,
       "description": "Only singles are returned when true, and overides includesingles parameter",
+
       "description": "Only singles are returned when true, and overrides includesingles parameter",
 
       "name": "singlesonly",
 
       "name": "singlesonly",
 
       "type": "boolean"
 
       "type": "boolean"
Line 9,563: Line 9,563:
 
     "xbmc.player.musicviz",
 
     "xbmc.player.musicviz",
 
     "xbmc.gui.skin",
 
     "xbmc.gui.skin",
     "xbmc.pvrclient",
+
     "kodi.pvrclient",
 
     "kodi.inputstream",
 
     "kodi.inputstream",
 
     "kodi.gameclient",
 
     "kodi.gameclient",
Line 10,358: Line 10,358:
 
       "releasedate",
 
       "releasedate",
 
       "originaldate",
 
       "originaldate",
       "albumstatus"
+
       "albumstatus",
 +
      "datemodified",
 +
      "datenew"
 
     ],
 
     ],
 
     "type": "string"
 
     "type": "string"
Line 10,397: Line 10,399:
 
       "disambiguation",
 
       "disambiguation",
 
       "art",
 
       "art",
       "sourceid"
+
       "sourceid",
 +
      "datemodified",
 +
      "datenew"
 
     ],
 
     ],
 
     "type": "string"
 
     "type": "string"
Line 10,473: Line 10,477:
 
       "samplerate",
 
       "samplerate",
 
       "bitrate",
 
       "bitrate",
       "channels"
+
       "channels",
 +
      "datemodified",
 +
      "datenew"
 
     ],
 
     ],
 
     "type": "string"
 
     "type": "string"
Line 10,487: Line 10,493:
 
   "enums": [
 
   "enums": [
 
     "missingartistid",
 
     "missingartistid",
     "librarylastupdated"
+
     "librarylastupdated",
 +
    "librarylastcleaned",
 +
    "artistlinksupdated",
 +
    "songslastadded",
 +
    "albumslastadded",
 +
    "artistslastadded",
 +
    "genreslastadded",
 +
    "songsmodified",
 +
    "albumsmodified",
 +
    "artistsmodified"
 
   ],
 
   ],
 
   "id": "Audio.Property.Name",
 
   "id": "Audio.Property.Name",
Line 10,498: Line 10,513:
 
'''Properties:'''
 
'''Properties:'''
 
<div style="margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA">
 
<div style="margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA">
 +
* [''string'' albumslastadded]
 +
* [''string'' albumsmodified]
 +
* [''string'' artistlinksupdated]
 +
* [''string'' artistslastadded]
 +
* [''string'' artistsmodified]
 +
* [''string'' genreslastadded]
 +
* [''string'' librarylastcleaned]
 
* [''string'' librarylastupdated]
 
* [''string'' librarylastupdated]
 
* [''[[#Library.Id|Library.Id]]'' missingartistid = -1]
 
* [''[[#Library.Id|Library.Id]]'' missingartistid = -1]
 +
* [''string'' songslastadded]
 +
* [''string'' songsmodified]
 
</div>
 
</div>
 
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight enclose="div">
 
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|<syntaxhighlight enclose="div">
Line 10,505: Line 10,529:
 
   "id": "Audio.Property.Value",
 
   "id": "Audio.Property.Value",
 
   "properties": {
 
   "properties": {
 +
    "albumslastadded": {
 +
      "default": "",
 +
      "type": "string"
 +
    },
 +
    "albumsmodified": {
 +
      "default": "",
 +
      "type": "string"
 +
    },
 +
    "artistlinksupdated": {
 +
      "default": "",
 +
      "type": "string"
 +
    },
 +
    "artistslastadded": {
 +
      "default": "",
 +
      "type": "string"
 +
    },
 +
    "artistsmodified": {
 +
      "default": "",
 +
      "type": "string"
 +
    },
 +
    "genreslastadded": {
 +
      "default": "",
 +
      "type": "string"
 +
    },
 +
    "librarylastcleaned": {
 +
      "default": "",
 +
      "type": "string"
 +
    },
 
     "librarylastupdated": {
 
     "librarylastupdated": {
 
       "default": "",
 
       "default": "",
Line 10,512: Line 10,564:
 
       "$ref": "Library.Id",
 
       "$ref": "Library.Id",
 
       "default": -1
 
       "default": -1
 +
    },
 +
    "songslastadded": {
 +
      "default": "",
 +
      "type": "string"
 +
    },
 +
    "songsmodified": {
 +
      "default": "",
 +
      "type": "string"
 
     }
 
     }
 
   },
 
   },
Line 11,130: Line 11,190:
 
     "green",
 
     "green",
 
     "guiprofile",
 
     "guiprofile",
 +
    "hdrtoggle",
 
     "highlight",
 
     "highlight",
 
     "increasepar",
 
     "increasepar",
Line 11,585: Line 11,646:
 
       "samplerate",
 
       "samplerate",
 
       "channels",
 
       "channels",
       "albumstatus"
+
       "albumstatus",
 +
      "datemodified",
 +
      "datenew"
 
     ],
 
     ],
 
     "type": "string"
 
     "type": "string"
Line 11,680: Line 11,743:
 
       "bitrate",
 
       "bitrate",
 
       "samplerate",
 
       "samplerate",
       "channels"
+
       "channels",
 +
      "datemodified",
 +
      "datenew"
 
     ],
 
     ],
 
     "type": "string"
 
     "type": "string"
Line 11,819: Line 11,884:
 
     "albumartist",
 
     "albumartist",
 
     "year",
 
     "year",
 +
    "originalyear",
 
     "review",
 
     "review",
 
     "themes",
 
     "themes",
Line 11,832: Line 11,898:
 
     "path",
 
     "path",
 
     "albumstatus",
 
     "albumstatus",
 +
    "dateadded",
 +
    "datemodified",
 +
    "datenew",
 
     "playlist",
 
     "playlist",
 
     "virtualfolder"
 
     "virtualfolder"
Line 11,862: Line 11,931:
 
     "role",
 
     "role",
 
     "path",
 
     "path",
 +
    "dateadded",
 +
    "datemodified",
 +
    "datenew",
 
     "playlist",
 
     "playlist",
 
     "virtualfolder"
 
     "virtualfolder"
Line 12,022: Line 12,094:
 
     "title",
 
     "title",
 
     "year",
 
     "year",
 +
    "originalyear",
 
     "time",
 
     "time",
 
     "tracknumber",
 
     "tracknumber",
Line 12,036: Line 12,109:
 
     "bitrate",
 
     "bitrate",
 
     "channels",
 
     "channels",
 +
    "dateadded",
 +
    "datemodified",
 +
    "datenew",
 
     "playlist",
 
     "playlist",
 
     "virtualfolder"
 
     "virtualfolder"

Revision as of 13:33, 5 July 2020

Home icon grey.png   ▶ Development ▶ JSON-RPC API ▶ v12

Version 12 is the current development version of Kodi's JSON-RPC API and will be published with the release of v19 (Matrix).
This document has been updated to version 11.11.0. Recent changes are announced on the forum

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 Kodi's JSON-RPC API and can therefore also profit from additional features like notifications.


Contents

1 JSON-RPC 2.0 compatibility

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

2 Documentation (JSON Schema)

2.1 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

3 Error message

If Kodi 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" }
          }
        }
      }
    }
  }
}

4 Namespaces

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

Namespace Description
Addons List, enable and execute addons.
Application Application information and control.
AudioLibrary Audio Library information.
Favourites Favourites GetFavourites and AddFavourite.
Files Shares information & filesystem listings.
GUI Window properties and activation.
Input Allows limited navigation within Kodi.
JSONRPC A variety of standard JSONRPC calls.
PVR Live TV control.
Player Manages all available players.
Playlist Playlist modification.
Profiles Support for Profiles operations to Kodi.
Settings Allows manipulation of Kodi settings.
System System controls and information.
Textures Supplies GetTextures and RemoveTexture. Textures are images.
VideoLibrary Video Library information.
XBMC Dumping ground for very Kodi specific operations.

5 Methods

5.1 Addons

5.1.1 Addons.ExecuteAddon

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

  • ExecuteAddon

Parameters:

  1. string addonid
  2. [mixed: object|array|string params = ""]
  3. [boolean wait = False]

Returns:

Type: string

5.1.2 Addons.GetAddonDetails

Gets the details of a specific addon
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. Addon.Details addon
  2. List.LimitsReturned limits

5.1.3 Addons.GetAddons

Gets all available addons
Permissions:

  • ReadData

Parameters:

  1. [Addon.Types type = unknown]
  2. [Addon.Content content = unknown] (Content provided by the addon. Only considered for plugins and scripts.)
  3. [mixed: boolean|string enabled = all]
  4. [Addon.Fields properties]
  5. [List.Limits limits]
  6. [mixed: boolean|string installed = True]

Returns:

Type: object
Properties:

  1. [array[ Addon.Details ] addons]
  2. List.LimitsReturned limits

5.1.4 Addons.SetAddonEnabled

Enables/Disables a specific addon
Permissions:

  • ManageAddon

Parameters:

  1. string addonid
  2. Global.Toggle enabled

Returns:

Type: string

5.2 Application

5.2.1 Application.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. array[ Application.Property.Name ] properties

Returns:

Type: Application.Property.Value

5.2.2 Application.Quit

Quit application
Permissions:

  • ControlPower

Returns:

Type: string

5.2.3 Application.SetMute

Toggle mute/unmute
Permissions:

  • ControlPlayback

Parameters:

  1. Global.Toggle mute

Returns:

Type: boolean (Mute state)

5.2.4 Application.SetVolume

Set the current volume
Permissions:

  • ControlPlayback

Parameters:

  1. mixed: integer|Global.IncrementDecrement volume

Returns:

Type: integer

5.3 AudioLibrary

5.3.1 AudioLibrary.Clean

Cleans the audio library from non-existent items
Permissions:

  • RemoveData

Parameters:

  1. [boolean showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)

Returns:

Type: string

5.3.2 AudioLibrary.Export

Exports all items from the audio library
Permissions:

  • WriteFile

Parameters:

  1. [mixed: object|object options]

Returns:

Type: string

5.3.3 AudioLibrary.GetAlbumDetails

Retrieve details about a specific album
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. [Audio.Details.Album albumdetails]

5.3.4 AudioLibrary.GetAlbums

Retrieve all albums from specified artist (and role) or that has songs of the specified genre
Permissions:

  • ReadData

Parameters:

  1. [Audio.Fields.Album properties]
  2. [List.Limits limits]
  3. [List.Sort sort]
  4. [mixed: object|object|object|object|object|object|object|object|List.Filter.Albums filter]
  5. [boolean includesingles = False]
  6. [boolean allroles = False] (Whether or not to include all roles when filtering by artist, rather than the default of excluding other contributions. When true it overrides any role filter value.)

Returns:

Type: object
Properties:

  1. [array[ Audio.Details.Album ] albums]
  2. List.LimitsReturned limits

5.3.5 AudioLibrary.GetArtistDetails

Retrieve details about a specific artist
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. [Audio.Details.Artist artistdetails]

5.3.6 AudioLibrary.GetArtists

Retrieve all artists. For backward compatibility by default this implicitly does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true
Permissions:

  • ReadData

Parameters:

  1. [Optional.Boolean albumartistsonly = None] (Whether or not to only include album artists rather than the artists of only individual songs as well. If the parameter is not passed or is passed as null the GUI setting will be used)
  2. [Audio.Fields.Artist properties]
  3. [List.Limits limits]
  4. [List.Sort sort]
  5. [mixed: object|object|object|object|object|object|object|object|object|object|object|object|object|object|object|List.Filter.Artists filter]
  6. [boolean allroles = False] (Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value.)

Returns:

Type: object
Properties:

  1. [array[ Audio.Details.Artist ] artists]
  2. List.LimitsReturned limits

5.3.7 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:

  1. array[ Library.Details.Genre ] genres
  2. List.LimitsReturned limits

5.3.8 AudioLibrary.GetProperties

Retrieves the values of the music library properties
Permissions:

  • ReadData

Parameters:

  1. array[ Audio.Property.Name ] properties

Returns:

Type: Audio.Property.Value

5.3.9 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:

  1. [array[ Audio.Details.Album ] albums]
  2. List.LimitsReturned limits

5.3.10 AudioLibrary.GetRecentlyAddedSongs

Retrieve recently added songs
Permissions:

  • ReadData

Parameters:

  1. [List.Amount albumlimit = -1] (The amount of recently added albums from which to return the songs)
  2. [Audio.Fields.Song properties]
  3. [List.Limits limits]
  4. [List.Sort sort]

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. [array[ Audio.Details.Song ] songs]

5.3.11 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:

  1. [array[ Audio.Details.Album ] albums]
  2. List.LimitsReturned limits

5.3.12 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:

  1. List.LimitsReturned limits
  2. [array[ Audio.Details.Song ] songs]

5.3.13 AudioLibrary.GetRoles

Retrieve all contributor roles
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. array[ Audio.Details.Role ] roles

5.3.14 AudioLibrary.GetSongDetails

Retrieve details about a specific song
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. [Audio.Details.Song songdetails]

5.3.15 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: object|object|object|object|object|object|object|object|object|object|List.Filter.Songs filter]
  5. [boolean includesingles = True] (Only songs from albums are returned when false, but overridden when singlesonly parameter is true)
  6. [boolean allroles = False] (Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.)
  7. [boolean singlesonly = False] (Only singles are returned when true, and overrides includesingles parameter)

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. [array[ Audio.Details.Song ] songs]

5.3.16 AudioLibrary.GetSources

Get all music sources, including unique ID
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. array[ Library.Details.Source ] sources

5.3.17 AudioLibrary.Scan

Scans the audio sources for new library items
Permissions:

  • UpdateData

Parameters:

  1. [string directory = ""]
  2. [boolean showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)

Returns:

Type: string

5.3.18 AudioLibrary.SetAlbumDetails

Update the given album with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id albumid
  2. [Optional.String title = None]
  3. [mixed: null|Array.String artist = None]
  4. [Optional.String description = None]
  5. [mixed: null|Array.String genre = None]
  6. [mixed: null|Array.String theme = None]
  7. [mixed: null|Array.String mood = None]
  8. [mixed: null|Array.String style = None]
  9. [Optional.String type = None]
  10. [Optional.String albumlabel = None]
  11. [Optional.Number rating = None]
  12. [Optional.Integer year = None]
  13. [Optional.Integer userrating = None]
  14. [Optional.Integer votes = None]
  15. [Optional.String musicbrainzalbumid = None]
  16. [Optional.String musicbrainzreleasegroupid = None]
  17. [Optional.String sortartist = None]
  18. [Optional.String displayartist = None]
  19. [mixed: null|Array.String musicbrainzalbumartistid = None]
  20. [mixed: null|Media.Artwork.Set art = None]
  21. [Optional.Boolean isboxset = None]
  22. [Optional.String releasedate = None]
  23. [Optional.String originaldate = None]

Returns:

Type: string

5.3.19 AudioLibrary.SetArtistDetails

Update the given artist with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id artistid
  2. [Optional.String artist = None]
  3. [mixed: null|Array.String instrument = None]
  4. [mixed: null|Array.String style = None]
  5. [mixed: null|Array.String mood = None]
  6. [Optional.String born = None]
  7. [Optional.String formed = None]
  8. [Optional.String description = None]
  9. [mixed: null|Array.String genre = None]
  10. [Optional.String died = None]
  11. [Optional.String disbanded = None]
  12. [mixed: null|Array.String yearsactive = None]
  13. [Optional.String musicbrainzartistid = None]
  14. [Optional.String sortname = None]
  15. [Optional.String type = None]
  16. [Optional.String gender = None]
  17. [Optional.String disambiguation = None]
  18. [mixed: null|Media.Artwork.Set art = None]

Returns:

Type: string

5.3.20 AudioLibrary.SetSongDetails

Update the given song with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id songid
  2. [Optional.String title = None]
  3. [mixed: null|Array.String artist = None]
  4. [mixed: null|Array.String genre = None]
  5. [Optional.Integer year = None]
  6. [Optional.Number rating = None]
  7. [Optional.Integer track = None]
  8. [Optional.Integer disc = None]
  9. [Optional.Integer duration = None]
  10. [Optional.String comment = None]
  11. [Optional.String musicbrainztrackid = None]
  12. [Optional.String musicbrainzartistid = None]
  13. [Optional.Integer playcount = None]
  14. [Optional.String lastplayed = None]
  15. [Optional.Integer userrating = None]
  16. [Optional.Integer votes = None]
  17. [Optional.String displayartist = None]
  18. [Optional.String sortartist = None]
  19. [Optional.String mood = None]
  20. [mixed: null|Media.Artwork.Set art = None]
  21. [Optional.String disctitle = None]
  22. [Optional.String releasedate = None]
  23. [Optional.String originaldate = None]
  24. [Optional.Integer bpm = None]

Returns:

Type: string

5.4 Favourites

5.4.1 Favourites.AddFavourite

Add a favourite with the given details
Permissions:

  • UpdateData

Parameters:

  1. string title
  2. Favourite.Type type
  3. [Optional.String path = None] (Required for media, script and androidapp favourites types)
  4. [Optional.String window = None] (Required for window favourite type)
  5. [Optional.String windowparameter = None]
  6. [Optional.String thumbnail = None]

Returns:

Type: string

5.4.2 Favourites.GetFavourites

Retrieve all favourites
Permissions:

  • ReadData

Parameters:

  1. [mixed: null|Favourite.Type type = None]
  2. [Favourite.Fields.Favourite properties]

Returns:

Type: object
Properties:

  1. [array[ Favourite.Details.Favourite ] favourites]
  2. List.LimitsReturned limits

5.5 Files

5.5.1 Files.Download

Downloads the given file
Permissions:

  • ReadData

Parameters:

  1. string path

Returns:

Type: any

5.5.2 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]
  5. [List.Limits limits] (Limits are applied after getting the directory content thus retrieval is not faster when they are applied.)

Returns:

Type: object
Properties:

  1. array[ List.Item.File ] files
  2. List.LimitsReturned limits

5.5.3 Files.GetFileDetails

Get details for a specific file
Permissions:

  • ReadData

Parameters:

  1. string file (Full path to the file)
  2. [Files.Media media = files]
  3. [List.Fields.Files properties]

Returns:

Type: object
Properties:

  1. List.Item.File filedetails

5.5.4 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:

  1. List.LimitsReturned limits
  2. List.Items.Sources sources

5.5.5 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:

  1. any details (Transport specific details on how/from where to download the given file)
  2. string mode (Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol)
  3. string protocol

5.5.6 Files.SetFileDetails

Update the given specific file with the given details
Permissions:

  • UpdateData

Parameters:

  1. string file (Full path to the file)
  2. Files.Media media (File type to update correct database. Currently only "video" is supported.)
  3. [Optional.Integer playcount = None]
  4. [Optional.String lastplayed = None] (Setting a valid lastplayed without a playcount will force playcount to 1.)
  5. [mixed: null|Video.Resume resume = None]

Returns:

Type: string

5.6 GUI

5.6.1 GUI.ActivateWindow

Activates the given window
Permissions:

  • ControlGUI

Parameters:

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

Returns:

Type: string

5.6.2 GUI.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. array[ GUI.Property.Name ] properties

Returns:

Type: GUI.Property.Value

5.6.3 GUI.GetStereoscopicModes

Returns the supported stereoscopic modes of the GUI
Permissions:

  • ReadData

Returns:

Type: object
Properties:

  1. [array[ GUI.Stereoscopy.Mode ] stereoscopicmodes]

5.6.4 GUI.SetFullscreen

Toggle fullscreen/GUI
Permissions:

  • ControlGUI

Parameters:

  1. Global.Toggle fullscreen

Returns:

Type: boolean (Fullscreen state)

5.6.5 GUI.SetStereoscopicMode

Sets the stereoscopic mode of the GUI to the given mode
Permissions:

  • ControlGUI

Parameters:

  1. string mode

Returns:

Type: string

5.6.6 GUI.ShowNotification

Shows a GUI notification
Permissions:

  • ControlGUI

Parameters:

  1. string title
  2. string message
  3. [mixed: string|string image = ""]
  4. [integer displaytime = 5000] (The time in milliseconds the notification will be visible)

Returns:

Type: string

5.7 Input

5.7.1 Input.Back

Goes back in GUI
Permissions:

  • Navigate

Returns:

Type: string

5.7.2 Input.ButtonEvent

Send a button press event
Permissions:

  • Navigate

Parameters:

  1. string button (Button name)
  2. string keymap (Keymap name (KB, XG, R1, or R2))
  3. [integer holdtime = 0] (Number of milliseconds to simulate button hold.)

Returns:

Type: string

5.7.3 Input.ContextMenu

Shows the context menu
Permissions:

  • Navigate

Returns:

Type: string

5.7.4 Input.Down

Navigate down in GUI
Permissions:

  • Navigate

Returns:

Type: string

5.7.5 Input.ExecuteAction

Execute a specific action
Permissions:

  • Navigate

Parameters:

  1. Input.Action action

Returns:

Type: string

5.7.6 Input.Home

Goes to home window in GUI
Permissions:

  • Navigate

Returns:

Type: string

5.7.7 Input.Info

Shows the information dialog
Permissions:

  • Navigate

Returns:

Type: string

5.7.8 Input.Left

Navigate left in GUI
Permissions:

  • Navigate

Returns:

Type: string

5.7.9 Input.Right

Navigate right in GUI
Permissions:

  • Navigate

Returns:

Type: string

5.7.10 Input.Select

Select current item in GUI
Permissions:

  • Navigate

Returns:

Type: string

5.7.11 Input.SendText

Send a generic (unicode) text
Permissions:

  • Navigate

Parameters:

  1. string text (Unicode text)
  2. [boolean done = True] (Whether this is the whole input or not (closes an open input dialog if true).)

Returns:

Type: string

5.7.12 Input.ShowCodec

Show codec information of the playing item
Permissions:

  • Navigate

Returns:

Type: string

5.7.13 Input.ShowOSD

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

  • Navigate

Returns:

Type: string

5.7.14 Input.ShowPlayerProcessInfo

Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...
Permissions:

  • Navigate

Returns:

Type: string

5.7.15 Input.Up

Navigate up in GUI
Permissions:

  • Navigate

Returns:

Type: string

5.8 JSONRPC

5.8.1 JSONRPC.GetConfiguration

Get client-specific configurations
Permissions:

  • ReadData

Returns:

Type: Configuration

5.8.2 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]

Returns:

Type: object

5.8.3 JSONRPC.NotifyAll

Notify all other connected clients
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: any

5.8.4 JSONRPC.Permission

Retrieve the clients permissions
Permissions:

  • ReadData

Returns:

Type: object
Properties:

  1. boolean controlgui
  2. boolean controlnotify
  3. boolean controlplayback
  4. boolean controlpower
  5. boolean controlpvr
  6. boolean controlsystem
  7. boolean executeaddon
  8. boolean manageaddon
  9. boolean navigate
  10. boolean readdata
  11. boolean removedata
  12. boolean updatedata
  13. boolean writefile

5.8.5 JSONRPC.Ping

Ping responder
Permissions:

  • ReadData

Returns:

Type: string

5.8.6 JSONRPC.SetConfiguration

Change the client-specific configuration
Permissions:

  • ControlNotify

Parameters:

  1. [object notifications]

Returns:

Type: Configuration

5.8.7 JSONRPC.Version

Retrieve the JSON-RPC protocol version.
Permissions:

  • ReadData

Returns:

Type: object
Properties:

  1. object version

5.9 PVR

5.9.1 PVR.AddTimer

Adds a timer to record the given show one times or a timer rule to record all showings of the given show
Permissions:

  • ControlPVR

Parameters:

  1. Library.Id broadcastid (the broadcast id of the item to record)
  2. [boolean timerrule = False] (controls whether to create a timer rule or a onetime timer)

Returns:

Type: string

5.9.2 PVR.DeleteTimer

Deletes a onetime timer or a timer rule
Permissions:

  • ControlPVR

Parameters:

  1. Library.Id timerid (the id of the onetime timer or timer rule to delete)

Returns:

Type: string

5.9.3 PVR.GetBroadcastDetails

Retrieves the details of a specific broadcast
Permissions:

  • ReadData

Parameters:

  1. Library.Id broadcastid
  2. [PVR.Fields.Broadcast properties]

Returns:

Type: object
Properties:

  1. [PVR.Details.Broadcast broadcastdetails]

5.9.4 PVR.GetBroadcasts

Retrieves the program of a specific channel
Permissions:

  • ReadData

Parameters:

  1. Library.Id channelid
  2. [PVR.Fields.Broadcast properties]
  3. [List.Limits limits]

Returns:

Type: object
Properties:

  1. array[ PVR.Details.Broadcast ] broadcasts
  2. List.LimitsReturned limits

5.9.5 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:

  1. [PVR.Details.Channel channeldetails]

5.9.6 PVR.GetChannelGroupDetails

Retrieves the details of a specific channel group
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. [PVR.Details.ChannelGroup.Extended channelgroupdetails]

5.9.7 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:

  1. array[ PVR.Details.ChannelGroup ] channelgroups
  2. List.LimitsReturned limits

5.9.8 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:

  1. array[ PVR.Details.Channel ] channels
  2. List.LimitsReturned limits

5.9.9 PVR.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. array[ PVR.Property.Name ] properties

Returns:

Type: PVR.Property.Value

5.9.10 PVR.GetRecordingDetails

Retrieves the details of a specific recording
Permissions:

  • ReadData

Parameters:

  1. Library.Id recordingid
  2. [PVR.Fields.Recording properties]

Returns:

Type: object
Properties:

  1. [PVR.Details.Recording recordingdetails]

5.9.11 PVR.GetRecordings

Retrieves the recordings
Permissions:

  • ReadData

Parameters:

  1. [PVR.Fields.Recording properties]
  2. [List.Limits limits]

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. array[ PVR.Details.Recording ] recordings

5.9.12 PVR.GetTimerDetails

Retrieves the details of a specific timer
Permissions:

  • ReadData

Parameters:

  1. Library.Id timerid
  2. [PVR.Fields.Timer properties]

Returns:

Type: object
Properties:

  1. [PVR.Details.Timer timerdetails]

5.9.13 PVR.GetTimers

Retrieves the timers
Permissions:

  • ReadData

Parameters:

  1. [PVR.Fields.Timer properties]
  2. [List.Limits limits]

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. array[ PVR.Details.Timer ] timers

5.9.14 PVR.Record

Toggle recording of a channel
Permissions:

  • ControlPVR

Parameters:

  1. [Global.Toggle record = toggle]
  2. [mixed: string|Library.Id channel = current]

Returns:

Type: string

5.9.15 PVR.Scan

Starts a channel scan
Permissions:

  • ControlPVR

Returns:

Type: string

5.9.16 PVR.ToggleTimer

Creates or deletes a onetime timer or timer rule for a given show. If it exists, it will be deleted. If it does not exist, it will be created
Permissions:

  • ControlPVR

Parameters:

  1. Library.Id broadcastid (the broadcast id of the item to toggle a onetime timer or time rule for)
  2. [boolean timerrule = False] (controls whether to create / delete a timer rule or a onetime timer)

Returns:

Type: string

5.10 Player

5.10.1 Player.GetActivePlayers

Returns all active players
Permissions:

  • ReadData

Returns:

Type: array

5.10.2 Player.GetItem

Retrieves the currently played item
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. List.Item.All item

5.10.3 Player.GetPlayers

Get a list of available players
Permissions:

  • ReadData

Parameters:

  1. [string media = all]

Returns:

Type: array

5.10.4 Player.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: Player.Property.Value

5.10.5 Player.GetViewMode

Get view mode of video player
Permissions:

  • ReadData

Returns:

Type: object
Properties:

  1. boolean nonlinearstretch
  2. number pixelratio
  3. number verticalshift
  4. Player.ViewMode viewmode
  5. number zoom

5.10.6 Player.GoTo

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

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|Playlist.Position to

Returns:

Type: string

5.10.7 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:

Type: string

5.10.8 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: object|Playlist.Item|object|object|object|object item]
  2. [object options]

Returns:

Type: string

5.10.9 Player.PlayPause

Pauses or unpause playback and returns the new state
Permissions:

  • ControlPlayback

Parameters:

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

Returns:

Type: Player.Speed

5.10.10 Player.Rotate

Rotates current picture
Permissions:

  • ControlPlayback

Parameters:

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

Returns:

Type: string

5.10.11 Player.Seek

Seek through the playing item
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: object|object|object|object value

Returns:

Type: object
Properties:

  1. [Player.Position.Percentage percentage]
  2. [Global.Time time]
  3. [Global.Time totaltime]

5.10.12 Player.SetAudioStream

Set the audio stream played by the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|integer stream

Returns:

Type: string

5.10.13 Player.SetPartymode

Turn partymode on or off
Permissions:

  • ControlPlayback

Parameters:

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

Returns:

Type: string

5.10.14 Player.SetRepeat

Set the repeat mode of the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: Player.Repeat|string repeat

Returns:

Type: string

5.10.15 Player.SetShuffle

Shuffle/Unshuffle items in the player
Permissions:

  • ControlPlayback

Parameters:

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

Returns:

Type: string

5.10.16 Player.SetSpeed

Set the speed of the current playback
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: integer|Global.IncrementDecrement speed

Returns:

Type: Player.Speed

5.10.17 Player.SetSubtitle

Set the subtitle displayed by the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|integer subtitle
  3. [boolean enable = False] (Whether to enable subtitles to be displayed after setting the new subtitle)

Returns:

Type: string

5.10.18 Player.SetVideoStream

Set the video stream played by the player
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|integer stream

Returns:

Type: string

5.10.19 Player.SetViewMode

Set view mode of video player
Permissions:

  • ControlPlayback

Parameters:

  1. mixed: Player.CustomViewMode|Player.ViewMode viewmode

Returns:

Type: string

5.10.20 Player.Stop

Stops playback
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid

Returns:

Type: string

5.10.21 Player.Zoom

Zoom current picture
Permissions:

  • ControlPlayback

Parameters:

  1. Player.Id playerid
  2. mixed: string|integer zoom

Returns:

Type: string

5.11 Playlist

5.11.1 Playlist.Add

Add item(s) to playlist
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid
  2. mixed: Playlist.Item|array item

Returns:

Type: string

5.11.2 Playlist.Clear

Clear playlist
Permissions:

  • ControlPlayback

Parameters:

  1. Playlist.Id playlistid

Returns:

Type: string

5.11.3 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:

  1. array[ List.Item.All ] items
  2. List.LimitsReturned limits

5.11.4 Playlist.GetPlaylists

Returns all existing playlists
Permissions:

  • ReadData

Returns:

Type: array

5.11.5 Playlist.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: Playlist.Property.Value

5.11.6 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. mixed: Playlist.Item|array item

Returns:

Type: string

5.11.7 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:

Type: string

5.11.8 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:

Type: string

5.12 Profiles

5.12.1 Profiles.GetCurrentProfile

Retrieve the current profile
Permissions:

  • ReadData

Parameters:

  1. [Profiles.Fields.Profile properties]

Returns:

Type: Profiles.Details.Profile

5.12.2 Profiles.GetProfiles

Retrieve all profiles
Permissions:

  • ReadData

Parameters:

  1. [Profiles.Fields.Profile properties]
  2. [List.Limits limits]
  3. [List.Sort sort]

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. array[ Profiles.Details.Profile ] profiles

5.12.3 Profiles.LoadProfile

Load the specified profile
Permissions:

  • Navigate

Parameters:

  1. string profile (Profile name)
  2. [boolean prompt = False] (Prompt for password)
  3. [Profiles.Password password]

Returns:

Type: string

5.13 Settings

5.13.1 Settings.GetCategories

Retrieves all setting categories
Permissions:

  • ReadData

Parameters:

  1. [Setting.Level level = standard]
  2. [string section = ""]
  3. [string properties]

Returns:

Type: object
Properties:

  1. [array[ Setting.Details.Category ] categories]

5.13.2 Settings.GetSections

Retrieves all setting sections
Permissions:

  • ReadData

Parameters:

  1. [Setting.Level level = standard]
  2. [Setting.Level properties]

Returns:

Type: object
Properties:

  1. [array[ Setting.Details.Section ] sections]

5.13.3 Settings.GetSettingValue

Retrieves the value of a setting
Permissions:

  • ReadData

Parameters:

  1. string setting

Returns:

Type: object
Properties:

  1. Setting.Value.Extended value

5.13.4 Settings.GetSettings

Retrieves all settings
Permissions:

  • ReadData

Parameters:

  1. [Setting.Level level = standard]
  2. [mixed: object filter]

Returns:

Type: object
Properties:

  1. [array[ Setting.Details.Setting ] settings]

5.13.5 Settings.ResetSettingValue

Resets the value of a setting
Permissions:

  • ReadData

Parameters:

  1. string setting

Returns:

Type: string

5.13.6 Settings.SetSettingValue

Changes the value of a setting
Permissions:

  • ReadData

Parameters:

  1. string setting
  2. Setting.Value.Extended value

Returns:

Type: boolean

5.14 System

5.14.1 System.EjectOpticalDrive

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

  • ControlSystem

Returns:

Type: string

5.14.2 System.GetProperties

Retrieves the values of the given properties
Permissions:

  • ReadData

Parameters:

  1. array[ System.Property.Name ] properties

Returns:

Type: System.Property.Value

5.14.3 System.Hibernate

Puts the system running Kodi into hibernate mode
Permissions:

  • ControlPower

Returns:

Type: string

5.14.4 System.Reboot

Reboots the system running Kodi
Permissions:

  • ControlPower

Returns:

Type: string

5.14.5 System.Shutdown

Shuts the system running Kodi down
Permissions:

  • ControlPower

Returns:

Type: string

5.14.6 System.Suspend

Suspends the system running Kodi
Permissions:

  • ControlPower

Returns:

Type: string

5.15 Textures

5.15.1 Textures.GetTextures

Retrieve all textures
Permissions:

  • ReadData

Parameters:

  1. [Textures.Fields.Texture properties]
  2. [List.Filter.Textures filter]

Returns:

Type: object
Properties:

  1. array[ Textures.Details.Texture ] textures

5.15.2 Textures.RemoveTexture

Remove the specified texture
Permissions:

  • RemoveData

Parameters:

  1. Library.Id textureid (Texture database identifier)

Returns:

Type: string

5.16 VideoLibrary

5.16.1 VideoLibrary.Clean

Cleans the video library for non-existent items
Permissions:

  • RemoveData

Parameters:

  1. [boolean showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)
  2. [string content = video] (Content type to clean for)

Returns:

Type: string

5.16.2 VideoLibrary.Export

Exports all items from the video library
Permissions:

  • WriteFile

Parameters:

  1. [mixed: object|object options]

Returns:

Type: string

5.16.3 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:

  1. [Video.Details.Episode episodedetails]

5.16.4 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: object|object|object|object|object|List.Filter.Episodes filter]

Returns:

Type: object
Properties:

  1. [array[ Video.Details.Episode ] episodes]
  2. List.LimitsReturned limits

5.16.5 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:

  1. array[ Library.Details.Genre ] genres
  2. List.LimitsReturned limits

5.16.6 VideoLibrary.GetInProgressTVShows

Retrieve all in progress tvshows
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. [array[ Video.Details.TVShow ] tvshows]

5.16.7 VideoLibrary.GetMovieDetails

Retrieve details about a specific movie
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. [Video.Details.Movie moviedetails]

5.16.8 VideoLibrary.GetMovieSetDetails

Retrieve details about a specific movie set
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. [Video.Details.MovieSet.Extended setdetails]

5.16.9 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:

  1. List.LimitsReturned limits
  2. [array[ Video.Details.MovieSet ] sets]

5.16.10 VideoLibrary.GetMovies

Retrieve all movies
Permissions:

  • ReadData

Parameters:

  1. [Video.Fields.Movie properties]
  2. [List.Limits limits]
  3. [List.Sort sort]
  4. [mixed: object|object|object|object|object|object|object|object|object|object|List.Filter.Movies filter]

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. [array[ Video.Details.Movie ] movies]

5.16.11 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:

  1. [Video.Details.MusicVideo musicvideodetails]

5.16.12 VideoLibrary.GetMusicVideos

Retrieve all music videos
Permissions:

  • ReadData

Parameters:

  1. [Video.Fields.MusicVideo properties]
  2. [List.Limits limits]
  3. [List.Sort sort]
  4. [mixed: object|object|object|object|object|object|object|List.Filter.MusicVideos filter]

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. [array[ Video.Details.MusicVideo ] musicvideos]

5.16.13 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:

  1. [array[ Video.Details.Episode ] episodes]
  2. List.LimitsReturned limits

5.16.14 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:

  1. List.LimitsReturned limits
  2. [array[ Video.Details.Movie ] movies]

5.16.15 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:

  1. List.LimitsReturned limits
  2. [array[ Video.Details.MusicVideo ] musicvideos]

5.16.16 VideoLibrary.GetSeasonDetails

Retrieve details about a specific tv show season
Permissions:

  • ReadData

Parameters:

  1. Library.Id seasonid
  2. [Video.Fields.Season properties]

Returns:

Type: object
Properties:

  1. [Video.Details.Season seasondetails]

5.16.17 VideoLibrary.GetSeasons

Retrieve all tv seasons
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. [array[ Video.Details.Season ] seasons]

5.16.18 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:

  1. [Video.Details.TVShow tvshowdetails]

5.16.19 VideoLibrary.GetTVShows

Retrieve all tv shows
Permissions:

  • ReadData

Parameters:

  1. [Video.Fields.TVShow properties]
  2. [List.Limits limits]
  3. [List.Sort sort]
  4. [mixed: object|object|object|object|object|object|List.Filter.TVShows filter]

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. [array[ Video.Details.TVShow ] tvshows]

5.16.20 VideoLibrary.GetTags

Retrieve all tags
Permissions:

  • ReadData

Parameters:

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

Returns:

Type: object
Properties:

  1. List.LimitsReturned limits
  2. array[ Library.Details.Tag ] tags

5.16.21 VideoLibrary.RefreshEpisode

Refresh the given episode in the library
Permissions:

  • UpdateData

Parameters:

  1. Library.Id episodeid
  2. [boolean ignorenfo = False] (Whether or not to ignore a local NFO if present.)
  3. [string title = ""] (Title to use for searching (instead of determining it from the item's filename/path).)

Returns:

Type: string

5.16.22 VideoLibrary.RefreshMovie

Refresh the given movie in the library
Permissions:

  • UpdateData

Parameters:

  1. Library.Id movieid
  2. [boolean ignorenfo = False] (Whether or not to ignore a local NFO if present.)
  3. [string title = ""] (Title to use for searching (instead of determining it from the item's filename/path).)

Returns:

Type: string

5.16.23 VideoLibrary.RefreshMusicVideo

Refresh the given music video in the library
Permissions:

  • UpdateData

Parameters:

  1. Library.Id musicvideoid
  2. [boolean ignorenfo = False] (Whether or not to ignore a local NFO if present.)
  3. [string title = ""] (Title to use for searching (instead of determining it from the item's filename/path).)

Returns:

Type: string

5.16.24 VideoLibrary.RefreshTVShow

Refresh the given tv show in the library
Permissions:

  • UpdateData

Parameters:

  1. Library.Id tvshowid
  2. [boolean ignorenfo = False] (Whether or not to ignore a local NFO if present.)
  3. [boolean refreshepisodes = False] (Whether or not to refresh all episodes belonging to the TV show.)
  4. [string title = ""] (Title to use for searching (instead of determining it from the item's filename/path).)

Returns:

Type: string

5.16.25 VideoLibrary.RemoveEpisode

Removes the given episode from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id episodeid

Returns:

Type: string

5.16.26 VideoLibrary.RemoveMovie

Removes the given movie from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id movieid

Returns:

Type: string

5.16.27 VideoLibrary.RemoveMusicVideo

Removes the given music video from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id musicvideoid

Returns:

Type: string

5.16.28 VideoLibrary.RemoveTVShow

Removes the given tv show from the library
Permissions:

  • RemoveData

Parameters:

  1. Library.Id tvshowid

Returns:

Type: string

5.16.29 VideoLibrary.Scan

Scans the video sources for new library items
Permissions:

  • UpdateData

Parameters:

  1. [string directory = ""]
  2. [boolean showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)

Returns:

Type: string

5.16.30 VideoLibrary.SetEpisodeDetails

Update the given episode with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id episodeid
  2. [Optional.String title = None]
  3. [Optional.Integer playcount = None]
  4. [Optional.Integer runtime = None] (Runtime in seconds)
  5. [mixed: null|Array.String director = None]
  6. [Optional.String plot = None]
  7. [Optional.Number rating = None]
  8. [Optional.String votes = None]
  9. [Optional.String lastplayed = None]
  10. [mixed: null|Array.String writer = None]
  11. [Optional.String firstaired = None]
  12. [Optional.String productioncode = None]
  13. [Optional.Integer season = None]
  14. [Optional.Integer episode = None]
  15. [Optional.String originaltitle = None]
  16. [Optional.String thumbnail = None]
  17. [Optional.String fanart = None]
  18. [mixed: null|Media.Artwork.Set art = None]
  19. [mixed: null|Video.Resume resume = None]
  20. [Optional.Integer userrating = None]
  21. [Video.Ratings.Set ratings]
  22. [Optional.String dateadded = None]
  23. [mixed: null|Media.UniqueID.Set uniqueid = None]

Returns:

Type: string

5.16.31 VideoLibrary.SetMovieDetails

Update the given movie with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id movieid
  2. [Optional.String title = None]
  3. [Optional.Integer playcount = None]
  4. [Optional.Integer runtime = None] (Runtime in seconds)
  5. [mixed: null|Array.String director = None]
  6. [mixed: null|Array.String studio = None]
  7. [Optional.Integer year = None] (linked with premiered. Overridden by premiered parameter)
  8. [Optional.String plot = None]
  9. [mixed: null|Array.String genre = None]
  10. [Optional.Number rating = None]
  11. [Optional.String mpaa = None]
  12. [Optional.String imdbnumber = None]
  13. [Optional.String votes = None]
  14. [Optional.String lastplayed = None]
  15. [Optional.String originaltitle = None]
  16. [Optional.String trailer = None]
  17. [Optional.String tagline = None]
  18. [Optional.String plotoutline = None]
  19. [mixed: null|Array.String writer = None]
  20. [mixed: null|Array.String country = None]
  21. [Optional.Integer top250 = None]
  22. [Optional.String sorttitle = None]
  23. [Optional.String set = None]
  24. [mixed: null|Array.String showlink = None]
  25. [Optional.String thumbnail = None]
  26. [Optional.String fanart = None]
  27. [mixed: null|Array.String tag = None]
  28. [mixed: null|Media.Artwork.Set art = None]
  29. [mixed: null|Video.Resume resume = None]
  30. [Optional.Integer userrating = None]
  31. [Video.Ratings.Set ratings]
  32. [Optional.String dateadded = None]
  33. [Optional.String premiered = None] (linked with year. Overrides year)
  34. [mixed: null|Media.UniqueID.Set uniqueid = None]

Returns:

Type: string

5.16.32 VideoLibrary.SetMovieSetDetails

Update the given movie set with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id setid
  2. [Optional.String title = None]
  3. [mixed: null|Media.Artwork.Set art = None]
  4. [Optional.String plot = None]

Returns:

Type: string

5.16.33 VideoLibrary.SetMusicVideoDetails

Update the given music video with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id musicvideoid
  2. [Optional.String title = None]
  3. [Optional.Integer playcount = None]
  4. [Optional.Integer runtime = None] (Runtime in seconds)
  5. [mixed: null|Array.String director = None]
  6. [mixed: null|Array.String studio = None]
  7. [Optional.Integer year = None] (linked with premiered. Overridden by premiered parameter)
  8. [Optional.String plot = None]
  9. [Optional.String album = None]
  10. [mixed: null|Array.String artist = None]
  11. [mixed: null|Array.String genre = None]
  12. [Optional.Integer track = None]
  13. [Optional.String lastplayed = None]
  14. [Optional.String thumbnail = None]
  15. [Optional.String fanart = None]
  16. [mixed: null|Array.String tag = None]
  17. [mixed: null|Media.Artwork.Set art = None]
  18. [mixed: null|Video.Resume resume = None]
  19. [Optional.Number rating = None]
  20. [Optional.Integer userrating = None]
  21. [Optional.String dateadded = None]
  22. [Optional.String premiered = None] (linked with year. Overrides year)

Returns:

Type: string

5.16.34 VideoLibrary.SetSeasonDetails

Update the given season with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id seasonid
  2. [mixed: null|Media.Artwork.Set art = None]
  3. [Optional.Integer userrating = None]
  4. [Optional.String title = None]

Returns:

Type: string

5.16.35 VideoLibrary.SetTVShowDetails

Update the given tvshow with the given details
Permissions:

  • UpdateData

Parameters:

  1. Library.Id tvshowid
  2. [Optional.String title = None]
  3. [Optional.Integer playcount = None]
  4. [mixed: null|Array.String studio = None]
  5. [Optional.String plot = None]
  6. [mixed: null|Array.String genre = None]
  7. [Optional.Number rating = None]
  8. [Optional.String mpaa = None]
  9. [Optional.String imdbnumber = None]
  10. [Optional.String premiered = None]
  11. [Optional.String votes = None]
  12. [Optional.String lastplayed = None]
  13. [Optional.String originaltitle = None]
  14. [Optional.String sorttitle = None]
  15. [Optional.String episodeguide = None]
  16. [Optional.String thumbnail = None]
  17. [Optional.String fanart = None]
  18. [mixed: null|Array.String tag = None]
  19. [mixed: null|Media.Artwork.Set art = None]
  20. [Optional.Integer userrating = None]
  21. [Video.Ratings.Set ratings]
  22. [Optional.String dateadded = None]
  23. [Optional.Integer runtime = None] (Runtime in seconds)
  24. [Optional.String status = None] (Valid values: 'returning series', 'in production', 'planned', 'cancelled', 'ended')
  25. [mixed: null|Media.UniqueID.Set uniqueid = None]

Returns:

Type: string

5.17 XBMC

5.17.1 XBMC.GetInfoBooleans

Retrieve info booleans about Kodi and the system
Permissions:

  • ReadData

Parameters:

  1. array[string] booleans

Returns:

Type: object (Object containing key-value pairs of the retrieved info booleans)

5.17.2 XBMC.GetInfoLabels

Retrieve info labels about Kodi and the system
Permissions:

  • ReadData

Parameters:

  1. array[string] labels (See http://kodi.wiki/view/InfoLabels for a list of possible info labels)

Returns:

Type: object (Object containing key-value pairs of the retrieved info labels)

6 Global Types

6.1 Addon

6.1.1 Addon.Content

Type: string

6.1.2 Addon.Details

Extends:

Properties:

  • string addonid
  • [string author]
  • [mixed: boolean|string broken]
  • [array dependencies]
  • [string description]
  • [string disclaimer]
  • [boolean enabled]
  • [array extrainfo]
  • [string fanart]
  • [boolean installed]
  • [string name]
  • [string path]
  • [integer rating]
  • [string summary]
  • [string thumbnail]
  • Addon.Types type
  • [string version]

6.1.3 Addon.Fields

Extends:

6.1.4 Addon.Types

Type: string

6.2 Application

6.2.1 Application.Property.Name

Type: string

6.2.2 Application.Property.Value

Type: object
Properties:

  • [string language]
  • [boolean muted]
  • [string name]
  • [Array.String sorttokens]
  • [object version]
  • [integer volume]

6.3 Array

6.3.1 Array.Integer

Type: array

6.3.2 Array.String

Type: array

6.4 Audio

6.4.1 Audio.Album.ReleaseType

Type: string

6.4.2 Audio.Artist.Roles

Type: array

6.4.3 Audio.Contributors

Type: array

6.4.4 Audio.Details.Album

Extends:

Properties:

6.4.5 Audio.Details.Artist

Extends:

Properties:

6.4.6 Audio.Details.Base

Extends:

Properties:

6.4.7 Audio.Details.Genres

Type: array

6.4.8 Audio.Details.Media

Extends:

Properties:

  • [Array.String artist]
  • [Array.Integer artistid]
  • [string displayartist]
  • [Array.String musicbrainzalbumartistid]
  • [string originaldate]
  • [number rating]
  • [string releasedate]
  • [string sortartist]
  • [string title]
  • [integer userrating]
  • [integer votes]
  • [integer year]

6.4.9 Audio.Details.Role

Extends:

Properties:

6.4.10 Audio.Details.Song

Extends:

Properties:

  • [string album]
  • [Array.String albumartist]
  • [Array.Integer albumartistid]
  • [Library.Id albumid = -1]
  • [Audio.Album.ReleaseType albumreleasetype = album]
  • [any bitrate]
  • [any bpm]
  • [any channels]
  • [string comment]
  • [Audio.Contributors contributors]
  • [integer disc]
  • [string disctitle]
  • [string displaycomposer]
  • [string displayconductor]
  • [string displaylyricist]
  • [string displayorchestra]
  • [integer duration]
  • [string file]
  • [Array.Integer genreid]
  • [string lastplayed]
  • [string lyrics]
  • [string mood]
  • [Array.String musicbrainzartistid]
  • [string musicbrainztrackid]
  • [integer playcount]
  • [any samplerate]
  • Library.Id songid
  • [Array.Integer sourceid]
  • [integer track]

6.4.11 Audio.Fields.Album

Extends:

6.4.12 Audio.Fields.Artist

Extends:

6.4.13 Audio.Fields.Role

Extends:

6.4.14 Audio.Fields.Song

Extends:

6.4.15 Audio.Property.Name

Type: string

6.4.16 Audio.Property.Value

Type: object
Properties:

  • [string albumslastadded]
  • [string albumsmodified]
  • [string artistlinksupdated]
  • [string artistslastadded]
  • [string artistsmodified]
  • [string genreslastadded]
  • [string librarylastcleaned]
  • [string librarylastupdated]
  • [Library.Id missingartistid = -1]
  • [string songslastadded]
  • [string songsmodified]

6.5 Configuration

6.5.1 Configuration

Type: object
Properties:

6.5.2 Configuration.Notifications

Type: object
Properties:

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

6.6 Favourite

6.6.1 Favourite.Details.Favourite

Type: object
Properties:

  • [string path]
  • [string thumbnail]
  • string title
  • Favourite.Type type
  • [string window]
  • [string windowparameter]

6.6.2 Favourite.Fields.Favourite

Extends:

6.6.3 Favourite.Type

Type: string

6.7 Files

6.7.1 Files.Media

Type: string

6.8 GUI

6.8.1 GUI.Property.Name

Type: string

6.8.2 GUI.Property.Value

Type: object
Properties:

  • [object currentcontrol]
  • [object currentwindow]
  • [boolean fullscreen]
  • [object skin]
  • [GUI.Stereoscopy.Mode stereoscopicmode]

6.8.3 GUI.Stereoscopy.Mode

Type: object
Properties:

  • string label
  • string mode

6.8.4 GUI.Window

Type: string

6.9 Global

6.9.1 Global.IncrementDecrement

Type: string

6.9.2 Global.String.NotEmpty

Type: string

6.9.3 Global.Time

Type: object
Properties:

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

6.9.4 Global.Toggle

Type: mixed

6.9.5 Global.Weekday

Type: string

6.10 Input

6.10.1 Input.Action

Type: string

6.11 Item

6.11.1 Item.Details.Base

Type: object
Properties:

  • string label

6.11.2 Item.Fields.Base

Type: array

6.12 Library

6.12.1 Library.Details.Genre

Extends:

Properties:

6.12.2 Library.Details.Source

Extends:

Properties:

6.12.3 Library.Details.Tag

Extends:

Properties:

6.12.4 Library.Fields.Genre

Extends:

6.12.5 Library.Fields.Source

Extends:

6.12.6 Library.Fields.Tag

Extends:

6.12.7 Library.Id

Type: integer

6.13 List

6.13.1 List.Amount

Type: integer

6.13.2 List.Fields.All

Extends:

6.13.3 List.Fields.Files

Extends:

6.13.4 List.Filter.Albums

Type: mixed

6.13.5 List.Filter.Artists

Type: mixed

6.13.6 List.Filter.Episodes

Type: mixed

6.13.7 List.Filter.Fields.Albums

Type: string

6.13.8 List.Filter.Fields.Artists

Type: string

6.13.9 List.Filter.Fields.Episodes

Type: string

6.13.10 List.Filter.Fields.Movies

Type: string

6.13.11 List.Filter.Fields.MusicVideos

Type: string

6.13.12 List.Filter.Fields.Songs

Type: string

6.13.13 List.Filter.Fields.TVShows

Type: string

6.13.14 List.Filter.Fields.Textures

Type: string

6.13.15 List.Filter.Movies

Type: mixed

6.13.16 List.Filter.MusicVideos

Type: mixed

6.13.17 List.Filter.Operators

Type: string

6.13.18 List.Filter.Rule

Type: object
Properties:

6.13.19 List.Filter.Rule.Albums

Extends:

Properties:

6.13.20 List.Filter.Rule.Artists

Extends:

Properties:

6.13.21 List.Filter.Rule.Episodes

Extends:

Properties:

6.13.22 List.Filter.Rule.Movies

Extends:

Properties:

6.13.23 List.Filter.Rule.MusicVideos

Extends:

Properties:

6.13.24 List.Filter.Rule.Songs

Extends:

Properties:

6.13.25 List.Filter.Rule.TVShows

Extends:

Properties:

6.13.26 List.Filter.Rule.Textures

Extends:

Properties:

6.13.27 List.Filter.Songs

Type: mixed

6.13.28 List.Filter.TVShows

Type: mixed

6.13.29 List.Filter.Textures

Type: mixed

6.13.30 List.Item.All

Extends:

Properties:

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

6.13.31 List.Item.Base

Extends:

Properties:

  • [string album]
  • [Array.String albumartist]
  • [Array.Integer albumartistid]
  • [Library.Id albumid = -1]
  • [string albumlabel]
  • [Audio.Album.ReleaseType albumreleasetype = album]
  • [string albumstatus]
  • [integer bitrate]
  • [integer bpm]
  • [Video.Cast cast]
  • [integer channels]
  • [string comment]
  • [boolean compilation]
  • [Audio.Contributors contributors]
  • [Array.String country]
  • [string description]
  • [integer disc]
  • [string disctitle]
  • [string displaycomposer]
  • [string displayconductor]
  • [string displaylyricist]
  • [string displayorchestra]
  • [integer duration]
  • [string dynpath]
  • [integer episode]
  • [string episodeguide]
  • [string firstaired]
  • [Library.Id id = -1]
  • [string imdbnumber]
  • [boolean isboxset]
  • [string lyrics]
  • [string mediapath]
  • [Array.String mood]
  • [string mpaa]
  • [Array.String musicbrainzartistid]
  • [string musicbrainztrackid]
  • [string originaldate]
  • [string originaltitle]
  • [string plotoutline]
  • [string premiered]
  • [string productioncode]
  • [string releasedate]
  • [Audio.Album.ReleaseType releasetype = album]
  • [integer samplerate]
  • [integer season]
  • [string set]
  • [Library.Id setid = -1]
  • [Array.String showlink]
  • [string showtitle]
  • [string sorttitle]
  • [integer specialsortepisode]
  • [integer specialsortseason]
  • [Array.String studio]
  • [Array.String style]
  • [Array.String tag]
  • [string tagline]
  • [Array.String theme]
  • [integer top250]
  • [integer totaldiscs]
  • [integer track]
  • [string trailer]
  • [Library.Id tvshowid = -1]
  • [string type = unknown]
  • [Media.UniqueID uniqueid]
  • [string votes]
  • [integer watchedepisodes]
  • [Array.String writer]

6.13.32 List.Item.File

Extends:

Properties:

  • string file
  • string filetype
  • [string lastmodified]
  • [string mimetype]
  • [integer size]

6.13.33 List.Items.Sources

Type: array

6.13.34 List.Limits

Type: object
Properties:

6.13.35 List.LimitsReturned

Type: object
Properties:

6.13.36 List.Sort

Type: object
Properties:

  • [boolean ignorearticle]
  • [string method = none]
  • [string order = ascending]
  • [boolean useartistsortname]

6.14 Media

6.14.1 Media.Artwork

Type: object
Properties:

6.14.2 Media.Artwork.Set

Type: object
Properties:

6.14.3 Media.Details.Base

Extends:

Properties:

  • [string fanart]
  • [string thumbnail]

6.14.4 Media.UniqueID

Type: object

6.14.5 Media.UniqueID.Set

Type: object

6.15 Notifications

6.15.1 Notifications.Item

Type: mixed

6.15.2 Notifications.Item.Type

Type: string

6.16 Optional

6.16.1 Optional.Boolean

Type: mixed

6.16.2 Optional.Integer

Type: mixed

6.16.3 Optional.Number

Type: mixed

6.16.4 Optional.String

Type: mixed

6.17 PVR

6.17.1 PVR.Channel.Type

Type: string

6.17.2 PVR.ChannelGroup.Id

Type: mixed

6.17.3 PVR.Details.Broadcast

Extends:

Properties:

  • Library.Id broadcastid
  • [string cast]
  • [string director]
  • [string endtime]
  • [string episodename]
  • [integer episodenum]
  • [integer episodepart]
  • [string firstaired]
  • [string genre]
  • [boolean hasrecording]
  • [boolean hastimer]
  • [boolean hastimerrule]
  • [integer imdbnumber]
  • [boolean isactive]
  • [boolean isplayable]
  • [boolean isseries]
  • [string originaltitle]
  • [integer parentalrating]
  • [string plot]
  • [string plotoutline]
  • [integer progress]
  • [number progresspercentage]
  • [integer rating]
  • [string recording]
  • [integer runtime]
  • [string starttime]
  • [string thumbnail]
  • [string title]
  • [boolean wasactive]
  • [string writer]
  • [integer year]

6.17.4 PVR.Details.Channel

Extends:

Properties:

  • [PVR.Details.Broadcast broadcastnext]
  • [PVR.Details.Broadcast broadcastnow]
  • [string channel]
  • Library.Id channelid
  • [integer channelnumber]
  • [PVR.Channel.Type channeltype = tv]
  • [boolean hasarchive]
  • [boolean hidden]
  • [string icon]
  • [boolean isrecording]
  • [string lastplayed]
  • [boolean locked]
  • [integer subchannelnumber]
  • [string thumbnail]
  • integer uniqueid

6.17.5 PVR.Details.ChannelGroup

Extends:

Properties:

6.17.6 PVR.Details.ChannelGroup.Extended

Extends:

Properties:

6.17.7 PVR.Details.Recording

Extends:

Properties:

  • [Media.Artwork art]
  • [string channel]
  • [integer channeluid]
  • [string directory]
  • [string endtime]
  • [integer epgeventid]
  • [integer episode]
  • [string file]
  • [string genre]
  • [string icon]
  • [boolean isdeleted]
  • [integer lifetime]
  • [integer playcount]
  • [string plot]
  • [string plotoutline]
  • [boolean radio]
  • Library.Id recordingid
  • [Video.Resume resume]
  • [integer runtime]
  • [integer season]
  • [string showtitle]
  • [string starttime]
  • [string streamurl]
  • [string title]

6.17.8 PVR.Details.Timer

Extends:

Properties:

  • [Library.Id channelid = -1]
  • [string directory]
  • [boolean endanytime]
  • [integer endmargin]
  • [string endtime]
  • [string epgsearchstring]
  • [integer epguid]
  • [string file]
  • [string firstday]
  • [boolean fulltextepgsearch]
  • [boolean ismanual]
  • [boolean isradio]
  • [boolean isreadonly]
  • [boolean istimerrule]
  • [integer lifetime]
  • [integer maxrecordings]
  • [integer preventduplicateepisodes]
  • [integer priority]
  • [integer recordinggroup]
  • [integer runtime]
  • [boolean startanytime]
  • [integer startmargin]
  • [string starttime]
  • [PVR.TimerState state = unknown]
  • [string summary]
  • Library.Id timerid
  • [string title]
  • [array weekdays]

6.17.9 PVR.Fields.Broadcast

Extends:

6.17.10 PVR.Fields.Channel

Extends:

6.17.11 PVR.Fields.Recording

Extends:

6.17.12 PVR.Fields.Timer

Extends:

6.17.13 PVR.Property.Name

Type: string

6.17.14 PVR.Property.Value

Type: object
Properties:

  • [boolean available]
  • [boolean recording]
  • [boolean scanning]

6.17.15 PVR.TimerState

Type: string

6.18 Player

6.18.1 Player.Audio.Stream

Type: object
Properties:

  • integer bitrate
  • integer channels
  • string codec
  • integer index
  • boolean isdefault
  • boolean isimpaired
  • boolean isoriginal
  • string language
  • string name
  • integer samplerate

6.18.2 Player.CustomViewMode

Type: object
Properties:

6.18.3 Player.Id

Type: integer

6.18.4 Player.Notifications.Data

Type: object
Properties:

6.18.5 Player.Notifications.Player

Type: object
Properties:

6.18.6 Player.Notifications.Player.Seek

Extends:

Properties:

6.18.7 Player.Position.Percentage

Type: number

6.18.8 Player.Position.Time

Type: object
Properties:

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

6.18.9 Player.Property.Name

Type: string

6.18.10 Player.Property.Value

Type: object
Properties:

6.18.11 Player.Repeat

Type: string

6.18.12 Player.Speed

Type: object
Properties:

  • [integer speed]

6.18.13 Player.Subtitle

Type: object
Properties:

  • integer index
  • boolean isdefault
  • boolean isforced
  • boolean isimpaired
  • string language
  • string name

6.18.14 Player.Type

Type: string

6.18.15 Player.Video.Stream

Type: object
Properties:

  • string codec
  • integer height
  • integer index
  • string language
  • string name
  • integer width

6.18.16 Player.ViewMode

Type: string

6.19 Playlist

6.19.1 Playlist.Id

Type: integer

6.19.2 Playlist.Item

Type: mixed

6.19.3 Playlist.Position

Type: integer

6.19.4 Playlist.Property.Name

Type: string

6.19.5 Playlist.Property.Value

Type: object
Properties:

6.19.6 Playlist.Type

Type: string

6.20 Profiles

6.20.1 Profiles.Details.Profile

Extends:

Properties:

  • [integer lockmode]
  • [string thumbnail]

6.20.2 Profiles.Fields.Profile

Extends:

6.20.3 Profiles.Password

Type: object
Properties:

  • [string encryption = md5]
  • string value

6.21 Setting

6.21.1 Setting.Details.Base

Type: object
Properties:

  • [string help]
  • string id
  • string label

6.21.2 Setting.Details.Category

Extends:

Properties:

  • [array groups]

6.21.3 Setting.Details.Control

Type: mixed

6.21.4 Setting.Details.ControlBase

Type: object
Properties:

  • boolean delayed
  • string format
  • string type

6.21.5 Setting.Details.ControlButton

Extends:

Properties:

  • string type

6.21.6 Setting.Details.ControlCheckmark

Extends:

Properties:

  • string format
  • string type

6.21.7 Setting.Details.ControlEdit

Extends:

Properties:

  • boolean hidden
  • string type
  • boolean verifynewvalue

6.21.8 Setting.Details.ControlHeading

Extends:

Properties:

  • [string heading]

6.21.9 Setting.Details.ControlLabel

Extends:

Properties:

  • string format
  • string type

6.21.10 Setting.Details.ControlList

Extends:

Properties:

  • boolean multiselect
  • string type

6.21.11 Setting.Details.ControlRange

Extends:

Properties:

  • string formatlabel
  • string formatvalue
  • string type

6.21.12 Setting.Details.ControlSlider

Extends:

Properties:

  • string formatlabel
  • boolean popup
  • string type

6.21.13 Setting.Details.ControlSpinner

Extends:

Properties:

  • [string formatlabel]
  • [string minimumlabel]
  • string type

6.21.14 Setting.Details.Group

Type: object
Properties:

  • string id
  • [array settings]

6.21.15 Setting.Details.Section

Extends:

Properties:

  • [array categories]

6.21.16 Setting.Details.Setting

Type: mixed

6.21.17 Setting.Details.SettingAction

Extends:

Properties:

  • string data

6.21.18 Setting.Details.SettingAddon

Extends:

Properties:

6.21.19 Setting.Details.SettingBase

Extends:

Properties:

6.21.20 Setting.Details.SettingBool

Extends:

Properties:

  • boolean default
  • boolean value

6.21.21 Setting.Details.SettingDate

Extends:

6.21.22 Setting.Details.SettingInt

Extends:

Properties:

  • integer default
  • [integer maximum]
  • [integer minimum]
  • [array options]
  • [integer step]
  • integer value

6.21.23 Setting.Details.SettingList

Extends:

Properties:

6.21.24 Setting.Details.SettingNumber

Extends:

Properties:

  • number default
  • number maximum
  • number minimum
  • number step
  • number value

6.21.25 Setting.Details.SettingPath

Extends:

Properties:

  • [array sources]
  • boolean writable

6.21.26 Setting.Details.SettingString

Extends:

Properties:

  • boolean allowempty
  • string default
  • [array options]
  • string value

6.21.27 Setting.Details.SettingTime

Extends:

6.21.28 Setting.Level

Type: string

6.21.29 Setting.Type

Type: string

6.21.30 Setting.Value

Type: mixed

6.21.31 Setting.Value.Extended

Type: mixed

6.21.32 Setting.Value.List

Type: array

6.22 System

6.22.1 System.Property.Name

Type: string

6.22.2 System.Property.Value

Type: object
Properties:

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

6.23 Textures

6.23.1 Textures.Details.Size

Type: object
Properties:

  • [integer height]
  • [string lastused]
  • [integer size]
  • [integer usecount]
  • [integer width]

6.23.2 Textures.Details.Texture

Type: object
Properties:

  • [string cachedurl]
  • [string imagehash]
  • [string lasthashcheck]
  • [array sizes]
  • [Library.Id textureid = -1]
  • [string url]

6.23.3 Textures.Fields.Texture

Extends:

6.24 Video

6.24.1 Video.Cast

Type: array

6.24.2 Video.Details.Base

Extends:

Properties:

6.24.3 Video.Details.Episode

Extends:

Properties:

  • [Video.Cast cast]
  • [integer episode]
  • Library.Id episodeid
  • [string firstaired]
  • [string originaltitle]
  • [string productioncode]
  • [number rating]
  • [any ratings]
  • [integer season]
  • [Library.Id seasonid = -1]
  • [string showtitle]
  • [integer specialsortepisode]
  • [integer specialsortseason]
  • [Library.Id tvshowid = -1]
  • [Media.UniqueID uniqueid]
  • [integer userrating]
  • [string votes]
  • [Array.String writer]

6.24.4 Video.Details.File

Extends:

Properties:

6.24.5 Video.Details.Item

Extends:

Properties:

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

6.24.6 Video.Details.Media

Extends:

Properties:

  • [string title]

6.24.7 Video.Details.Movie

Extends:

Properties:

6.24.8 Video.Details.MovieSet

Extends:

Properties:

6.24.9 Video.Details.MovieSet.Extended

Extends:

Properties:

6.24.10 Video.Details.MusicVideo

Extends:

Properties:

6.24.11 Video.Details.Season

Extends:

Properties:

  • [integer episode]
  • integer season
  • Library.Id seasonid
  • [string showtitle]
  • [string title]
  • [Library.Id tvshowid = -1]
  • [integer userrating]
  • [integer watchedepisodes]

6.24.12 Video.Details.TVShow

Extends:

Properties:

  • [Video.Cast cast]
  • [integer episode]
  • [string episodeguide]
  • [Array.String genre]
  • [string imdbnumber]
  • [string mpaa]
  • [string originaltitle]
  • [string premiered]
  • [number rating]
  • [any ratings]
  • [integer runtime]
  • [integer season]
  • [string sorttitle]
  • [string status]
  • [Array.String studio]
  • [Array.String tag]
  • Library.Id tvshowid
  • [Media.UniqueID uniqueid]
  • [integer userrating]
  • [string votes]
  • [integer watchedepisodes]
  • [integer year]

6.24.13 Video.Fields.Episode

Extends:

6.24.14 Video.Fields.Movie

Extends:

6.24.15 Video.Fields.MovieSet

Extends:

6.24.16 Video.Fields.MusicVideo

Extends:

6.24.17 Video.Fields.Season

Extends:

6.24.18 Video.Fields.TVShow

Extends:

6.24.19 Video.Rating

Type: object
Properties:

  • [boolean default]
  • number rating
  • [integer votes]

6.24.20 Video.Ratings

Type: object

6.24.21 Video.Ratings.Set

Type: object

6.24.22 Video.Resume

Type: object
Properties:

  • [number position]
  • [number total]

6.24.23 Video.Streams

Type: object
Properties:

  • [array audio]
  • [array subtitle]
  • [array video]

7 Notifications

7.1 Application

7.1.1 Application.OnVolumeChanged

The volume of the application has changed.
Parameters:

  1. string sender
  2. object data:
    • boolean muted
    • integer volume

7.2 AudioLibrary

7.2.1 AudioLibrary.OnCleanFinished

The audio library has been cleaned.
Parameters:

  1. string sender
  2. string data

7.2.2 AudioLibrary.OnCleanStarted

An audio library clean operation has started.
Parameters:

  1. string sender
  2. string data

7.2.3 AudioLibrary.OnExport

An audio library export has finished.
Parameters:

  1. string sender
  2. [object data]:
    • [integer failcount = 0]
    • [string file = ""]

7.2.4 AudioLibrary.OnRemove

An audio item has been removed.
Parameters:

  1. string sender
  2. object data:

7.2.5 AudioLibrary.OnScanFinished

Scanning the audio library has been finished.
Parameters:

  1. string sender
  2. string data

7.2.6 AudioLibrary.OnScanStarted

An audio library scan has started.
Parameters:

  1. string sender
  2. string data

7.2.7 AudioLibrary.OnUpdate

An audio item has been updated.
Parameters:

  1. string sender
  2. object data:

7.3 GUI

7.3.1 GUI.OnDPMSActivated

Energy saving/DPMS has been activated.
Parameters:

  1. string sender
  2. string data

7.3.2 GUI.OnDPMSDeactivated

Energy saving/DPMS has been deactivated.
Parameters:

  1. string sender
  2. string data

7.3.3 GUI.OnScreensaverActivated

The screensaver has been activated.
Parameters:

  1. string sender
  2. string data

7.3.4 GUI.OnScreensaverDeactivated

The screensaver has been deactivated.
Parameters:

  1. string sender
  2. object data:
    • boolean shuttingdown

7.4 Input

7.4.1 Input.OnInputFinished

The user has provided the requested input.
Parameters:

  1. string sender
  2. string data

7.4.2 Input.OnInputRequested

The user is requested to provide some information.
Parameters:

  1. string sender
  2. object data:
    • string title
    • string type
    • string value

7.5 Player

7.5.1 Player.OnAVChange

Audio- or videostream has changed. If there is no ID available extra information will be provided.
Parameters:

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

7.5.2 Player.OnAVStart

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

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

7.5.3 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

7.5.4 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

7.5.5 Player.OnPropertyChanged

A property of the playing items has changed.
Parameters:

  1. string sender
  2. object data:

7.5.6 Player.OnResume

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

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

7.5.7 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:

7.5.8 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

7.5.9 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:

7.6 Playlist

7.6.1 Playlist.OnAdd

A playlist item has been added.
Parameters:

  1. string sender
  2. object data:

7.6.2 Playlist.OnClear

A playlist item has been cleared.
Parameters:

  1. string sender
  2. object data:

7.6.3 Playlist.OnRemove

A playlist item has been removed.
Parameters:

  1. string sender
  2. object data:

7.7 System

7.7.1 System.OnLowBattery

The system is on low battery.
Parameters:

  1. string sender
  2. string data

7.7.2 System.OnQuit

Kodi will be closed.
Parameters:

  1. string sender
  2. object data:
    • integer exitcode

7.7.3 System.OnRestart

The system will be restarted.
Parameters:

  1. string sender
  2. string data

7.7.4 System.OnSleep

The system will be suspended.
Parameters:

  1. string sender
  2. string data

7.7.5 System.OnWake

The system woke up from suspension.
Parameters:

  1. string sender
  2. string data

7.8 VideoLibrary

7.8.1 VideoLibrary.OnCleanFinished

The video library has been cleaned.
Parameters:

  1. string sender
  2. string data

7.8.2 VideoLibrary.OnCleanStarted

A video library clean operation has started.
Parameters:

  1. string sender
  2. string data

7.8.3 VideoLibrary.OnExport

A video library export has finished.
Parameters:

  1. string sender
  2. [object data]:
    • [integer failcount = 0]
    • [string file = ""]
    • [string root = ""]

7.8.4 VideoLibrary.OnRefresh

The video library has been refreshed and a home screen reload might be necessary.
Parameters:

  1. string sender
  2. string data

7.8.5 VideoLibrary.OnRemove

A video item has been removed.
Parameters:

  1. string sender
  2. object data:

7.8.6 VideoLibrary.OnScanFinished

Scanning the video library has been finished.
Parameters:

  1. string sender
  2. string data

7.8.7 VideoLibrary.OnScanStarted

A video library scan has started.
Parameters:

  1. string sender
  2. string data

7.8.8 VideoLibrary.OnUpdate

A video item has been updated.
Parameters:

  1. string sender
  2. object data:

8 See also

9 External links