12594 lines
313 KiB
JSON
12594 lines
313 KiB
JSON
{
|
|
"id": 19,
|
|
"jsonrpc": "2.0",
|
|
"result": {
|
|
"description": "JSON-RPC API of XBMC",
|
|
"id": "http://xbmc.org/jsonrpc/ServiceDescription.json",
|
|
"methods": {
|
|
"Addons.ExecuteAddon": {
|
|
"description": "Executes the given addon with the given parameters (if possible)",
|
|
"params": [
|
|
{
|
|
"name": "addonid",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"default": "",
|
|
"name": "params",
|
|
"type": [
|
|
{
|
|
"additionalProperties": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"description": "URL path (must start with / or ?",
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": false,
|
|
"name": "wait",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Addons.GetAddonDetails": {
|
|
"description": "Gets the details of a specific addon",
|
|
"params": [
|
|
{
|
|
"name": "addonid",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Addon.Fields",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"addon": {
|
|
"$ref": "Addon.Details",
|
|
"required": true
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Addons.GetAddons": {
|
|
"description": "Gets all available addons",
|
|
"params": [
|
|
{
|
|
"$ref": "Addon.Types",
|
|
"default": "unknown",
|
|
"name": "type"
|
|
},
|
|
{
|
|
"$ref": "Addon.Content",
|
|
"default": "unknown",
|
|
"description": "Content provided by the addon. Only considered for plugins and scripts.",
|
|
"name": "content"
|
|
},
|
|
{
|
|
"default": "all",
|
|
"name": "enabled",
|
|
"type": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"enums": [
|
|
"all"
|
|
],
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Addon.Fields",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"default": true,
|
|
"name": "installed",
|
|
"type": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"enums": [
|
|
"all"
|
|
],
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"addons": {
|
|
"items": {
|
|
"$ref": "Addon.Details"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Addons.SetAddonEnabled": {
|
|
"description": "Enables/Disables a specific addon",
|
|
"params": [
|
|
{
|
|
"name": "addonid",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Global.Toggle",
|
|
"name": "enabled",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Application.GetProperties": {
|
|
"description": "Retrieves the values of the given properties",
|
|
"params": [
|
|
{
|
|
"items": {
|
|
"$ref": "Application.Property.Name"
|
|
},
|
|
"name": "properties",
|
|
"required": true,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "Application.Property.Value"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Application.Quit": {
|
|
"description": "Quit application",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Application.SetMute": {
|
|
"description": "Toggle mute/unmute",
|
|
"params": [
|
|
{
|
|
"$ref": "Global.Toggle",
|
|
"name": "mute",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"description": "Mute state",
|
|
"type": "boolean"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Application.SetVolume": {
|
|
"description": "Set the current volume",
|
|
"params": [
|
|
{
|
|
"name": "volume",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "Global.IncrementDecrement"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "integer"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.Clean": {
|
|
"description": "Cleans the audio library from non-existent items",
|
|
"params": [
|
|
{
|
|
"default": true,
|
|
"description": "Whether or not to show the progress bar or any other GUI dialog",
|
|
"name": "showdialogs",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.Export": {
|
|
"description": "Exports all items from the audio library",
|
|
"params": [
|
|
{
|
|
"name": "options",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"path": {
|
|
"description": "Path to the directory to where the data should be exported",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"images": {
|
|
"default": false,
|
|
"description": "Whether to export thumbnails and fanart images",
|
|
"type": "boolean"
|
|
},
|
|
"overwrite": {
|
|
"default": false,
|
|
"description": "Whether to overwrite existing exported files",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetAlbumDetails": {
|
|
"description": "Retrieve details about a specific album",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "albumid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Audio.Fields.Album",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"albumdetails": {
|
|
"$ref": "Audio.Details.Album"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetAlbums": {
|
|
"description": "Retrieve all albums from specified artist (and role) or that has songs of the specified genre",
|
|
"params": [
|
|
{
|
|
"$ref": "Audio.Fields.Album",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"description": "Song genre. Filter for existence of songs with this genre",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"description": "Song genre. Filter for existence of songs with this genre",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"role": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Albums"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": false,
|
|
"name": "includesingles",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "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.",
|
|
"name": "allroles",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"albums": {
|
|
"items": {
|
|
"$ref": "Audio.Details.Album"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetArtistDetails": {
|
|
"description": "Retrieve details about a specific artist",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "artistid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Audio.Fields.Artist",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"artistdetails": {
|
|
"$ref": "Audio.Details.Artist"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetArtists": {
|
|
"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",
|
|
"params": [
|
|
{
|
|
"$ref": "Optional.Boolean",
|
|
"default": null,
|
|
"description": "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",
|
|
"name": "albumartistsonly"
|
|
},
|
|
{
|
|
"$ref": "Audio.Fields.Artist",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"description": "Deprecated, use songgenreid. Filter for existence of songs with this genre",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"songgenreid": {
|
|
"$ref": "Library.Id",
|
|
"description": "Song genreid. Filter for existence of songs with this genre",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"songgenreid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"role": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"songgenreid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"description": "Deprecated, use songgenre. Filter for existence of songs with this genre",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"songgenre": {
|
|
"description": "Song genre. Filter for existence of songs with this genre",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"songgenre": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"role": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"songgenre": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"albumid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"album": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"songid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"songid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"role": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"songid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"description": "Role contributed by artist. Overridden by allroles parameter",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"role": {
|
|
"description": "Role contributed by artist. Overridden by allroles parameter",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Artists"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value.",
|
|
"name": "allroles",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"artists": {
|
|
"items": {
|
|
"$ref": "Audio.Details.Artist"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetGenres": {
|
|
"description": "Retrieve all genres",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Fields.Genre",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"genres": {
|
|
"items": {
|
|
"$ref": "Library.Details.Genre"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetProperties": {
|
|
"description": "Retrieves the values of the music library properties",
|
|
"params": [
|
|
{
|
|
"items": {
|
|
"$ref": "Audio.Property.Name"
|
|
},
|
|
"name": "properties",
|
|
"required": true,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "Audio.Property.Value"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetRecentlyAddedAlbums": {
|
|
"description": "Retrieve recently added albums",
|
|
"params": [
|
|
{
|
|
"$ref": "Audio.Fields.Album",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"albums": {
|
|
"items": {
|
|
"$ref": "Audio.Details.Album"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetRecentlyAddedSongs": {
|
|
"description": "Retrieve recently added songs",
|
|
"params": [
|
|
{
|
|
"$ref": "List.Amount",
|
|
"default": -1,
|
|
"description": "The amount of recently added albums from which to return the songs",
|
|
"name": "albumlimit"
|
|
},
|
|
{
|
|
"$ref": "Audio.Fields.Song",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"songs": {
|
|
"items": {
|
|
"$ref": "Audio.Details.Song"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetRecentlyPlayedAlbums": {
|
|
"description": "Retrieve recently played albums",
|
|
"params": [
|
|
{
|
|
"$ref": "Audio.Fields.Album",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"albums": {
|
|
"items": {
|
|
"$ref": "Audio.Details.Album"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetRecentlyPlayedSongs": {
|
|
"description": "Retrieve recently played songs",
|
|
"params": [
|
|
{
|
|
"$ref": "Audio.Fields.Song",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"songs": {
|
|
"items": {
|
|
"$ref": "Audio.Details.Song"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetRoles": {
|
|
"description": "Retrieve all contributor roles",
|
|
"params": [
|
|
{
|
|
"$ref": "Audio.Fields.Role",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"roles": {
|
|
"items": {
|
|
"$ref": "Audio.Details.Role"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetSongDetails": {
|
|
"description": "Retrieve details about a specific song",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "songid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Audio.Fields.Song",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"songdetails": {
|
|
"$ref": "Audio.Details.Song"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.GetSongs": {
|
|
"description": "Retrieve all songs from specified album, artist or genre",
|
|
"params": [
|
|
{
|
|
"$ref": "Audio.Fields.Song",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"description": "Song genre. Filter for existence of songs with this genre",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"description": "Song genre. Filter for existence of songs with this genre",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"role": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"albumid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"album": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Songs"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": true,
|
|
"name": "includesingles",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "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.",
|
|
"name": "allroles",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"songs": {
|
|
"items": {
|
|
"$ref": "Audio.Details.Song"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.Scan": {
|
|
"description": "Scans the audio sources for new library items",
|
|
"params": [
|
|
{
|
|
"default": "",
|
|
"name": "directory",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"default": true,
|
|
"description": "Whether or not to show the progress bar or any other GUI dialog",
|
|
"name": "showdialogs",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.SetAlbumDetails": {
|
|
"description": "Update the given album with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "albumid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "title"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "artist",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "description"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "genre",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "theme",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "mood",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "style",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "type"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "albumlabel"
|
|
},
|
|
{
|
|
"$ref": "Optional.Number",
|
|
"default": null,
|
|
"name": "rating"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "year"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "userrating"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "votes"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "musicbrainzalbumid"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "musicbrainzreleasegroupid"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "sortartist"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "displayartist"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "musicbrainzalbumartistid",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.SetArtistDetails": {
|
|
"description": "Update the given artist with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "artistid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "artist"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "instrument",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "style",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "mood",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "born"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "formed"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "description"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "genre",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "died"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "disbanded"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "yearsactive",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "musicbrainzartistid"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "sortname"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "type"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "gender"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "disambiguation"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"AudioLibrary.SetSongDetails": {
|
|
"description": "Update the given song with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "songid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "title"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "artist",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "genre",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "year"
|
|
},
|
|
{
|
|
"$ref": "Optional.Number",
|
|
"default": null,
|
|
"name": "rating"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "track"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "disc"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "duration"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "comment"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "musicbrainztrackid"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "musicbrainzartistid"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "playcount"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "lastplayed"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "userrating"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "votes"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "displayartist"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "sortartist"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "mood"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Favourites.AddFavourite": {
|
|
"description": "Add a favourite with the given details",
|
|
"params": [
|
|
{
|
|
"name": "title",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Favourite.Type",
|
|
"name": "type",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"description": "Required for media and script favourites types",
|
|
"name": "path"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"description": "Required for window favourite type",
|
|
"name": "window"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "windowparameter"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "thumbnail"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Favourites.GetFavourites": {
|
|
"description": "Retrieve all favourites",
|
|
"params": [
|
|
{
|
|
"default": null,
|
|
"name": "type",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Favourite.Type"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Favourite.Fields.Favourite",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"favourites": {
|
|
"items": {
|
|
"$ref": "Favourite.Details.Favourite"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Files.GetDirectory": {
|
|
"description": "Get the directories and files in the given directory",
|
|
"params": [
|
|
{
|
|
"name": "directory",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Files.Media",
|
|
"default": "files",
|
|
"name": "media"
|
|
},
|
|
{
|
|
"$ref": "List.Fields.Files",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"description": "Limits are applied after getting the directory content thus retrieval is not faster when they are applied.",
|
|
"name": "limits"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"files": {
|
|
"items": {
|
|
"$ref": "List.Item.File"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Files.GetFileDetails": {
|
|
"description": "Get details for a specific file",
|
|
"params": [
|
|
{
|
|
"description": "Full path to the file",
|
|
"name": "file",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Files.Media",
|
|
"default": "files",
|
|
"name": "media"
|
|
},
|
|
{
|
|
"$ref": "List.Fields.Files",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"filedetails": {
|
|
"$ref": "List.Item.File",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Files.GetSources": {
|
|
"description": "Get the sources of the media windows",
|
|
"params": [
|
|
{
|
|
"$ref": "Files.Media",
|
|
"name": "media",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"sources": {
|
|
"$ref": "List.Items.Sources",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Files.PrepareDownload": {
|
|
"description": "Provides a way to download a given file (e.g. providing an URL to the real file location)",
|
|
"params": [
|
|
{
|
|
"name": "path",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"details": {
|
|
"description": "Transport specific details on how/from where to download the given file",
|
|
"required": true,
|
|
"type": "any"
|
|
},
|
|
"mode": {
|
|
"description": "Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol",
|
|
"enums": [
|
|
"redirect",
|
|
"direct"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"protocol": {
|
|
"enums": [
|
|
"http"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Files.SetFileDetails": {
|
|
"description": "Update the given specific file with the given details",
|
|
"params": [
|
|
{
|
|
"description": "Full path to the file",
|
|
"name": "file",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Files.Media",
|
|
"description": "File type to update correct database. Currently only \"video\" is supported.",
|
|
"name": "media",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "playcount"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"description": "Setting a valid lastplayed without a playcount will force playcount to 1.",
|
|
"name": "lastplayed"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "resume",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Video.Resume"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"GUI.ActivateWindow": {
|
|
"description": "Activates the given window",
|
|
"params": [
|
|
{
|
|
"$ref": "GUI.Window",
|
|
"name": "window",
|
|
"required": true
|
|
},
|
|
{
|
|
"items": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"minItems": 1,
|
|
"name": "parameters",
|
|
"type": "array"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"GUI.GetProperties": {
|
|
"description": "Retrieves the values of the given properties",
|
|
"params": [
|
|
{
|
|
"items": {
|
|
"$ref": "GUI.Property.Name"
|
|
},
|
|
"name": "properties",
|
|
"required": true,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "GUI.Property.Value"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"GUI.GetStereoscopicModes": {
|
|
"description": "Returns the supported stereoscopic modes of the GUI",
|
|
"params": [],
|
|
"returns": {
|
|
"properties": {
|
|
"stereoscopicmodes": {
|
|
"items": {
|
|
"$ref": "GUI.Stereoscopy.Mode"
|
|
},
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"GUI.SetFullscreen": {
|
|
"description": "Toggle fullscreen/GUI",
|
|
"params": [
|
|
{
|
|
"$ref": "Global.Toggle",
|
|
"name": "fullscreen",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"description": "Fullscreen state",
|
|
"type": "boolean"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"GUI.SetStereoscopicMode": {
|
|
"description": "Sets the stereoscopic mode of the GUI to the given mode",
|
|
"params": [
|
|
{
|
|
"enums": [
|
|
"toggle",
|
|
"tomono",
|
|
"next",
|
|
"previous",
|
|
"select",
|
|
"off",
|
|
"split_vertical",
|
|
"split_horizontal",
|
|
"row_interleaved",
|
|
"hardware_based",
|
|
"anaglyph_cyan_red",
|
|
"anaglyph_green_magenta",
|
|
"monoscopic"
|
|
],
|
|
"name": "mode",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"GUI.ShowNotification": {
|
|
"description": "Shows a GUI notification",
|
|
"params": [
|
|
{
|
|
"name": "title",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "message",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"default": "",
|
|
"name": "image",
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
"info",
|
|
"warning",
|
|
"error"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": 5000,
|
|
"description": "The time in milliseconds the notification will be visible",
|
|
"minimum": 1500,
|
|
"name": "displaytime",
|
|
"type": "integer"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.Back": {
|
|
"description": "Goes back in GUI",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.ContextMenu": {
|
|
"description": "Shows the context menu",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.Down": {
|
|
"description": "Navigate down in GUI",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.ExecuteAction": {
|
|
"description": "Execute a specific action",
|
|
"params": [
|
|
{
|
|
"$ref": "Input.Action",
|
|
"name": "action",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.Home": {
|
|
"description": "Goes to home window in GUI",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.Info": {
|
|
"description": "Shows the information dialog",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.Left": {
|
|
"description": "Navigate left in GUI",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.Right": {
|
|
"description": "Navigate right in GUI",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.Select": {
|
|
"description": "Select current item in GUI",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.SendText": {
|
|
"description": "Send a generic (unicode) text",
|
|
"params": [
|
|
{
|
|
"description": "Unicode text",
|
|
"name": "text",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"default": true,
|
|
"description": "Whether this is the whole input or not (closes an open input dialog if true).",
|
|
"name": "done",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.ShowCodec": {
|
|
"description": "Show codec information of the playing item",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.ShowOSD": {
|
|
"description": "Show the on-screen display for the current player",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.ShowPlayerProcessInfo": {
|
|
"description": "Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Input.Up": {
|
|
"description": "Navigate up in GUI",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"JSONRPC.Introspect": {
|
|
"description": "Enumerates all actions and descriptions",
|
|
"params": [
|
|
{
|
|
"default": true,
|
|
"name": "getdescriptions",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": false,
|
|
"name": "getmetadata",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": true,
|
|
"name": "filterbytransport",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"properties": {
|
|
"getreferences": {
|
|
"default": true,
|
|
"description": "Whether or not to print the schema for referenced types",
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"description": "Name of a namespace, method or type",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "Type of the given name",
|
|
"enums": [
|
|
"method",
|
|
"namespace",
|
|
"type",
|
|
"notification"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": {
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"JSONRPC.NotifyAll": {
|
|
"description": "Notify all other connected clients",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "message",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "data",
|
|
"type": "any"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "any"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"JSONRPC.Permission": {
|
|
"description": "Retrieve the clients permissions",
|
|
"params": [],
|
|
"returns": {
|
|
"properties": {
|
|
"controlgui": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"controlnotify": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"controlplayback": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"controlpower": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"controlpvr": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"controlsystem": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"executeaddon": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"manageaddon": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"navigate": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"readdata": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"removedata": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"updatedata": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"writefile": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"JSONRPC.Ping": {
|
|
"description": "Ping responder",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"JSONRPC.Version": {
|
|
"description": "Retrieve the JSON-RPC protocol version.",
|
|
"params": [],
|
|
"returns": {
|
|
"properties": {
|
|
"version": {
|
|
"properties": {
|
|
"major": {
|
|
"description": "Bumped on backwards incompatible changes to the API definition",
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"minor": {
|
|
"description": "Bumped on backwards compatible additions/changes to the API definition",
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"patch": {
|
|
"description": "Bumped on any changes to the internal implementation but not to the API definition",
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.AddTimer": {
|
|
"description": "Adds a timer to record the given show one times or a timer rule to record all showings of the given show",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"description": "the broadcast id of the item to record",
|
|
"name": "broadcastid",
|
|
"required": true
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "controls whether to create a timer rule or a onetime timer",
|
|
"name": "timerrule",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.DeleteTimer": {
|
|
"description": "Deletes a onetime timer or a timer rule",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"description": "the id of the onetime timer or timer rule to delete",
|
|
"name": "timerid",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetBroadcastDetails": {
|
|
"description": "Retrieves the details of a specific broadcast",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "broadcastid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "PVR.Fields.Broadcast",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"broadcastdetails": {
|
|
"$ref": "PVR.Details.Broadcast"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetBroadcasts": {
|
|
"description": "Retrieves the program of a specific channel",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "channelid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "PVR.Fields.Broadcast",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"broadcasts": {
|
|
"items": {
|
|
"$ref": "PVR.Details.Broadcast"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetChannelDetails": {
|
|
"description": "Retrieves the details of a specific channel",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "channelid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "PVR.Fields.Channel",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"channeldetails": {
|
|
"$ref": "PVR.Details.Channel"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetChannelGroupDetails": {
|
|
"description": "Retrieves the details of a specific channel group",
|
|
"params": [
|
|
{
|
|
"$ref": "PVR.ChannelGroup.Id",
|
|
"name": "channelgroupid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "channels",
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.Limits"
|
|
},
|
|
"properties": {
|
|
"$ref": "PVR.Fields.Channel"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"channelgroupdetails": {
|
|
"$ref": "PVR.Details.ChannelGroup.Extended"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetChannelGroups": {
|
|
"description": "Retrieves the channel groups for the specified type",
|
|
"params": [
|
|
{
|
|
"$ref": "PVR.Channel.Type",
|
|
"name": "channeltype",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"channelgroups": {
|
|
"items": {
|
|
"$ref": "PVR.Details.ChannelGroup"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetChannels": {
|
|
"description": "Retrieves the channel list",
|
|
"params": [
|
|
{
|
|
"$ref": "PVR.ChannelGroup.Id",
|
|
"name": "channelgroupid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "PVR.Fields.Channel",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"channels": {
|
|
"items": {
|
|
"$ref": "PVR.Details.Channel"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetProperties": {
|
|
"description": "Retrieves the values of the given properties",
|
|
"params": [
|
|
{
|
|
"items": {
|
|
"$ref": "PVR.Property.Name"
|
|
},
|
|
"name": "properties",
|
|
"required": true,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "PVR.Property.Value"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetRecordingDetails": {
|
|
"description": "Retrieves the details of a specific recording",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "recordingid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "PVR.Fields.Recording",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"recordingdetails": {
|
|
"$ref": "PVR.Details.Recording"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetRecordings": {
|
|
"description": "Retrieves the recordings",
|
|
"params": [
|
|
{
|
|
"$ref": "PVR.Fields.Recording",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"recordings": {
|
|
"items": {
|
|
"$ref": "PVR.Details.Recording"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetTimerDetails": {
|
|
"description": "Retrieves the details of a specific timer",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "timerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "PVR.Fields.Timer",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"timerdetails": {
|
|
"$ref": "PVR.Details.Timer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.GetTimers": {
|
|
"description": "Retrieves the timers",
|
|
"params": [
|
|
{
|
|
"$ref": "PVR.Fields.Timer",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"timers": {
|
|
"items": {
|
|
"$ref": "PVR.Details.Timer"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.Record": {
|
|
"description": "Toggle recording of a channel",
|
|
"params": [
|
|
{
|
|
"$ref": "Global.Toggle",
|
|
"default": "toggle",
|
|
"name": "record"
|
|
},
|
|
{
|
|
"default": "current",
|
|
"name": "channel",
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
"current"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Library.Id"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.Scan": {
|
|
"description": "Starts a channel scan",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"PVR.ToggleTimer": {
|
|
"description": "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",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"description": "the broadcast id of the item to toggle a onetime timer or time rule for",
|
|
"name": "broadcastid",
|
|
"required": true
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "controls whether to create / delete a timer rule or a onetime timer",
|
|
"name": "timerrule",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.GetActivePlayers": {
|
|
"description": "Returns all active players",
|
|
"params": [],
|
|
"returns": {
|
|
"items": {
|
|
"properties": {
|
|
"playerid": {
|
|
"$ref": "Player.Id",
|
|
"required": true
|
|
},
|
|
"type": {
|
|
"$ref": "Player.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.GetItem": {
|
|
"description": "Retrieves the currently played item",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "List.Fields.All",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"item": {
|
|
"$ref": "List.Item.All",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.GetPlayers": {
|
|
"description": "Get a list of available players",
|
|
"params": [
|
|
{
|
|
"default": "all",
|
|
"enums": [
|
|
"all",
|
|
"video",
|
|
"audio"
|
|
],
|
|
"name": "media",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"items": {
|
|
"properties": {
|
|
"name": {
|
|
"$ref": "Global.String.NotEmpty",
|
|
"required": true
|
|
},
|
|
"playsaudio": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"playsvideo": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"type": {
|
|
"enums": [
|
|
"internal",
|
|
"external",
|
|
"remote"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.GetProperties": {
|
|
"description": "Retrieves the values of the given properties",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"items": {
|
|
"$ref": "Player.Property.Name"
|
|
},
|
|
"name": "properties",
|
|
"required": true,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "Player.Property.Value"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.GoTo": {
|
|
"description": "Go to previous/next/specific item in the playlist",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "to",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
"previous",
|
|
"next"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Playlist.Position",
|
|
"description": "position in playlist"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.Move": {
|
|
"description": "If picture is zoomed move viewport left/right/up/down otherwise skip previous/next",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"enums": [
|
|
"left",
|
|
"right",
|
|
"up",
|
|
"down"
|
|
],
|
|
"name": "direction",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.Open": {
|
|
"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": [
|
|
{
|
|
"name": "item",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"playlistid": {
|
|
"$ref": "Playlist.Id",
|
|
"required": true
|
|
},
|
|
"position": {
|
|
"$ref": "Playlist.Position",
|
|
"default": 0
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "Playlist.Item"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"path": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"random": {
|
|
"default": true,
|
|
"description": "Deprecated, use the shuffled property of the options parameter instead",
|
|
"type": "boolean"
|
|
},
|
|
"recursive": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"partymode": {
|
|
"default": "",
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
"music",
|
|
"video"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"description": "Path to a smartplaylist (*.xsp) file",
|
|
"minLength": 5,
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"channelid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"recordingid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"name": "options",
|
|
"properties": {
|
|
"playername": {
|
|
"default": null,
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"enums": [
|
|
"default"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"description": "name of player",
|
|
"minLength": 1,
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"repeat": {
|
|
"default": null,
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Player.Repeat"
|
|
}
|
|
]
|
|
},
|
|
"resume": {
|
|
"default": false,
|
|
"type": [
|
|
{
|
|
"description": "Whether to resume from the resume point or not",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"$ref": "Player.Position.Percentage",
|
|
"description": "Percentage value to start from"
|
|
},
|
|
{
|
|
"$ref": "Player.Position.Time",
|
|
"description": "Time to start from"
|
|
}
|
|
]
|
|
},
|
|
"shuffled": {
|
|
"$ref": "Optional.Boolean",
|
|
"default": null
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.PlayPause": {
|
|
"description": "Pauses or unpause playback and returns the new state",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Global.Toggle",
|
|
"default": "toggle",
|
|
"name": "play"
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "Player.Speed"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.Rotate": {
|
|
"description": "Rotates current picture",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"default": "clockwise",
|
|
"enums": [
|
|
"clockwise",
|
|
"counterclockwise"
|
|
],
|
|
"name": "value",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.Seek": {
|
|
"description": "Seek through the playing item",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "value",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"$ref": "Player.Position.Percentage",
|
|
"description": "Percentage value to seek to"
|
|
},
|
|
{
|
|
"$ref": "Player.Position.Time",
|
|
"description": "Time to seek to"
|
|
},
|
|
{
|
|
"description": "Seek by predefined jumps",
|
|
"enums": [
|
|
"smallforward",
|
|
"smallbackward",
|
|
"bigforward",
|
|
"bigbackward"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"percentage": {
|
|
"$ref": "Player.Position.Percentage",
|
|
"description": "Percentage value to seek to",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"time": {
|
|
"$ref": "Player.Position.Time",
|
|
"description": "Time to seek to",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"step": {
|
|
"description": "Seek by predefined jumps",
|
|
"enums": [
|
|
"smallforward",
|
|
"smallbackward",
|
|
"bigforward",
|
|
"bigbackward"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"seconds": {
|
|
"description": "Seek by the given number of seconds",
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"percentage": {
|
|
"$ref": "Player.Position.Percentage",
|
|
"default": 0
|
|
},
|
|
"time": {
|
|
"$ref": "Global.Time"
|
|
},
|
|
"totaltime": {
|
|
"$ref": "Global.Time"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.SetAudioStream": {
|
|
"description": "Set the audio stream played by the player",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "stream",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
"previous",
|
|
"next"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"description": "Index of the audio stream to play",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.SetPartymode": {
|
|
"description": "Turn partymode on or off",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Global.Toggle",
|
|
"name": "partymode",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.SetRepeat": {
|
|
"description": "Set the repeat mode of the player",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "repeat",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"$ref": "Player.Repeat"
|
|
},
|
|
{
|
|
"enums": [
|
|
"cycle"
|
|
],
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.SetShuffle": {
|
|
"description": "Shuffle/Unshuffle items in the player",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Global.Toggle",
|
|
"name": "shuffle",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.SetSpeed": {
|
|
"description": "Set the speed of the current playback",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "speed",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
-32,
|
|
-16,
|
|
-8,
|
|
-4,
|
|
-2,
|
|
-1,
|
|
0,
|
|
1,
|
|
2,
|
|
4,
|
|
8,
|
|
16,
|
|
32
|
|
],
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "Global.IncrementDecrement"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "Player.Speed"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.SetSubtitle": {
|
|
"description": "Set the subtitle displayed by the player",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "subtitle",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
"previous",
|
|
"next",
|
|
"off",
|
|
"on"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"description": "Index of the subtitle to display",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "Whether to enable subtitles to be displayed after setting the new subtitle",
|
|
"name": "enable",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.SetVideoStream": {
|
|
"description": "Set the video stream played by the player",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "stream",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
"previous",
|
|
"next"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"description": "Index of the video stream to play",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.Stop": {
|
|
"description": "Stops playback",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Player.Zoom": {
|
|
"description": "Zoom current picture",
|
|
"params": [
|
|
{
|
|
"$ref": "Player.Id",
|
|
"name": "playerid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "zoom",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"enums": [
|
|
"in",
|
|
"out"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"description": "zoom level",
|
|
"maximum": 10,
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Playlist.Add": {
|
|
"description": "Add item(s) to playlist",
|
|
"params": [
|
|
{
|
|
"$ref": "Playlist.Id",
|
|
"name": "playlistid",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "item",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"$ref": "Playlist.Item"
|
|
},
|
|
{
|
|
"items": {
|
|
"$ref": "Playlist.Item"
|
|
},
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Playlist.Clear": {
|
|
"description": "Clear playlist",
|
|
"params": [
|
|
{
|
|
"$ref": "Playlist.Id",
|
|
"name": "playlistid",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Playlist.GetItems": {
|
|
"description": "Get all items from playlist",
|
|
"params": [
|
|
{
|
|
"$ref": "Playlist.Id",
|
|
"name": "playlistid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "List.Fields.All",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"items": {
|
|
"items": {
|
|
"$ref": "List.Item.All"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Playlist.GetPlaylists": {
|
|
"description": "Returns all existing playlists",
|
|
"params": [],
|
|
"returns": {
|
|
"items": {
|
|
"properties": {
|
|
"playlistid": {
|
|
"$ref": "Playlist.Id",
|
|
"required": true
|
|
},
|
|
"type": {
|
|
"$ref": "Playlist.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Playlist.GetProperties": {
|
|
"description": "Retrieves the values of the given properties",
|
|
"params": [
|
|
{
|
|
"$ref": "Playlist.Id",
|
|
"name": "playlistid",
|
|
"required": true
|
|
},
|
|
{
|
|
"items": {
|
|
"$ref": "Playlist.Property.Name"
|
|
},
|
|
"name": "properties",
|
|
"required": true,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "Playlist.Property.Value"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Playlist.Insert": {
|
|
"description": "Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).",
|
|
"params": [
|
|
{
|
|
"$ref": "Playlist.Id",
|
|
"name": "playlistid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Playlist.Position",
|
|
"name": "position",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "item",
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"$ref": "Playlist.Item"
|
|
},
|
|
{
|
|
"items": {
|
|
"$ref": "Playlist.Item"
|
|
},
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Playlist.Remove": {
|
|
"description": "Remove item from playlist. Does not work for picture playlists (aka slideshows).",
|
|
"params": [
|
|
{
|
|
"$ref": "Playlist.Id",
|
|
"name": "playlistid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Playlist.Position",
|
|
"name": "position",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Playlist.Swap": {
|
|
"description": "Swap items in the playlist. Does not work for picture playlists (aka slideshows).",
|
|
"params": [
|
|
{
|
|
"$ref": "Playlist.Id",
|
|
"name": "playlistid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Playlist.Position",
|
|
"name": "position1",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Playlist.Position",
|
|
"name": "position2",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Profiles.GetCurrentProfile": {
|
|
"description": "Retrieve the current profile",
|
|
"params": [
|
|
{
|
|
"$ref": "Profiles.Fields.Profile",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "Profiles.Details.Profile"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Profiles.GetProfiles": {
|
|
"description": "Retrieve all profiles",
|
|
"params": [
|
|
{
|
|
"$ref": "Profiles.Fields.Profile",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"profiles": {
|
|
"items": {
|
|
"$ref": "Profiles.Details.Profile"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Profiles.LoadProfile": {
|
|
"description": "Load the specified profile",
|
|
"params": [
|
|
{
|
|
"description": "Profile name",
|
|
"name": "profile",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "Prompt for password",
|
|
"name": "prompt",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"$ref": "Profiles.Password",
|
|
"name": "password"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Settings.GetCategories": {
|
|
"description": "Retrieves all setting categories",
|
|
"params": [
|
|
{
|
|
"$ref": "Setting.Level",
|
|
"default": "standard",
|
|
"name": "level"
|
|
},
|
|
{
|
|
"default": "",
|
|
"name": "section",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"extends": "Item.Fields.Base",
|
|
"items": {
|
|
"enums": [
|
|
"settings"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"categories": {
|
|
"items": {
|
|
"$ref": "Setting.Details.Category"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Settings.GetSections": {
|
|
"description": "Retrieves all setting sections",
|
|
"params": [
|
|
{
|
|
"$ref": "Setting.Level",
|
|
"default": "standard",
|
|
"name": "level"
|
|
},
|
|
{
|
|
"extends": "Item.Fields.Base",
|
|
"items": {
|
|
"enums": [
|
|
"categories"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"sections": {
|
|
"items": {
|
|
"$ref": "Setting.Details.Section"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Settings.GetSettingValue": {
|
|
"description": "Retrieves the value of a setting",
|
|
"params": [
|
|
{
|
|
"minLength": 1,
|
|
"name": "setting",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"value": {
|
|
"$ref": "Setting.Value.Extended",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Settings.GetSettings": {
|
|
"description": "Retrieves all settings",
|
|
"params": [
|
|
{
|
|
"$ref": "Setting.Level",
|
|
"default": "standard",
|
|
"name": "level"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"category": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"section": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"settings": {
|
|
"items": {
|
|
"$ref": "Setting.Details.Setting"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Settings.ResetSettingValue": {
|
|
"description": "Resets the value of a setting",
|
|
"params": [
|
|
{
|
|
"minLength": 1,
|
|
"name": "setting",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Settings.SetSettingValue": {
|
|
"description": "Changes the value of a setting",
|
|
"params": [
|
|
{
|
|
"minLength": 1,
|
|
"name": "setting",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Setting.Value.Extended",
|
|
"name": "value",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "boolean"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.EjectOpticalDrive": {
|
|
"description": "Ejects or closes the optical disc drive (if available)",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.GetProperties": {
|
|
"description": "Retrieves the values of the given properties",
|
|
"params": [
|
|
{
|
|
"items": {
|
|
"$ref": "System.Property.Name"
|
|
},
|
|
"name": "properties",
|
|
"required": true,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"$ref": "System.Property.Value"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.Hibernate": {
|
|
"description": "Puts the system running Kodi into hibernate mode",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.Reboot": {
|
|
"description": "Reboots the system running Kodi",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.Shutdown": {
|
|
"description": "Shuts the system running Kodi down",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.Suspend": {
|
|
"description": "Suspends the system running Kodi",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Textures.GetTextures": {
|
|
"description": "Retrieve all textures",
|
|
"params": [
|
|
{
|
|
"$ref": "Textures.Fields.Texture",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Textures",
|
|
"name": "filter"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"textures": {
|
|
"items": {
|
|
"$ref": "Textures.Details.Texture"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"Textures.RemoveTexture": {
|
|
"description": "Remove the specified texture",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"description": "Texture database identifier",
|
|
"name": "textureid",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.Clean": {
|
|
"description": "Cleans the video library for non-existent items",
|
|
"params": [
|
|
{
|
|
"default": true,
|
|
"description": "Whether or not to show the progress bar or any other GUI dialog",
|
|
"name": "showdialogs",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": "video",
|
|
"description": "Content type to clean for",
|
|
"enums": [
|
|
"video",
|
|
"movies",
|
|
"tvshows",
|
|
"musicvideos"
|
|
],
|
|
"name": "content",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.Export": {
|
|
"description": "Exports all items from the video library",
|
|
"params": [
|
|
{
|
|
"name": "options",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"path": {
|
|
"description": "Path to the directory to where the data should be exported",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"actorthumbs": {
|
|
"default": false,
|
|
"description": "Whether to export actor thumbnails",
|
|
"type": "boolean"
|
|
},
|
|
"images": {
|
|
"default": false,
|
|
"description": "Whether to export thumbnails and fanart images",
|
|
"type": "boolean"
|
|
},
|
|
"overwrite": {
|
|
"default": false,
|
|
"description": "Whether to overwrite existing exported files",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetEpisodeDetails": {
|
|
"description": "Retrieve details about a specific tv show episode",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "episodeid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Video.Fields.Episode",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"episodedetails": {
|
|
"$ref": "Video.Details.Episode"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetEpisodes": {
|
|
"description": "Retrieve all tv show episodes",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"default": -1,
|
|
"name": "tvshowid"
|
|
},
|
|
{
|
|
"default": -1,
|
|
"minimum": 0,
|
|
"name": "season",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "Video.Fields.Episode",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"description": "Requires tvshowid to be set",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"description": "Requires tvshowid to be set",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"year": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"actor": {
|
|
"description": "Requires tvshowid to be set",
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"director": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Episodes"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"episodes": {
|
|
"items": {
|
|
"$ref": "Video.Details.Episode"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetGenres": {
|
|
"description": "Retrieve all genres",
|
|
"params": [
|
|
{
|
|
"enums": [
|
|
"movie",
|
|
"tvshow",
|
|
"musicvideo"
|
|
],
|
|
"name": "type",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Library.Fields.Genre",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"genres": {
|
|
"items": {
|
|
"$ref": "Library.Details.Genre"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetInProgressTVShows": {
|
|
"description": "Retrieve all in progress tvshows",
|
|
"params": [
|
|
{
|
|
"$ref": "Video.Fields.TVShow",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"tvshows": {
|
|
"items": {
|
|
"$ref": "Video.Details.TVShow"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetMovieDetails": {
|
|
"description": "Retrieve details about a specific movie",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "movieid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Video.Fields.Movie",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"moviedetails": {
|
|
"$ref": "Video.Details.Movie"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetMovieSetDetails": {
|
|
"description": "Retrieve details about a specific movie set",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "setid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Video.Fields.MovieSet",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"name": "movies",
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.Limits"
|
|
},
|
|
"properties": {
|
|
"$ref": "Video.Fields.Movie"
|
|
},
|
|
"sort": {
|
|
"$ref": "List.Sort"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"setdetails": {
|
|
"$ref": "Video.Details.MovieSet.Extended"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetMovieSets": {
|
|
"description": "Retrieve all movie sets",
|
|
"params": [
|
|
{
|
|
"$ref": "Video.Fields.MovieSet",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"sets": {
|
|
"items": {
|
|
"$ref": "Video.Details.MovieSet"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetMovies": {
|
|
"description": "Retrieve all movies",
|
|
"params": [
|
|
{
|
|
"$ref": "Video.Fields.Movie",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"year": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"actor": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"director": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"studio": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"country": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"setid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"set": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"tag": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Movies"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"movies": {
|
|
"items": {
|
|
"$ref": "Video.Details.Movie"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetMusicVideoDetails": {
|
|
"description": "Retrieve details about a specific music video",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "musicvideoid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Video.Fields.MusicVideo",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"musicvideodetails": {
|
|
"$ref": "Video.Details.MusicVideo"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetMusicVideos": {
|
|
"description": "Retrieve all music videos",
|
|
"params": [
|
|
{
|
|
"$ref": "Video.Fields.MusicVideo",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"year": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"director": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"studio": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"tag": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.MusicVideos"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"musicvideos": {
|
|
"items": {
|
|
"$ref": "Video.Details.MusicVideo"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetRecentlyAddedEpisodes": {
|
|
"description": "Retrieve all recently added tv episodes",
|
|
"params": [
|
|
{
|
|
"$ref": "Video.Fields.Episode",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"episodes": {
|
|
"items": {
|
|
"$ref": "Video.Details.Episode"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetRecentlyAddedMovies": {
|
|
"description": "Retrieve all recently added movies",
|
|
"params": [
|
|
{
|
|
"$ref": "Video.Fields.Movie",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"movies": {
|
|
"items": {
|
|
"$ref": "Video.Details.Movie"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetRecentlyAddedMusicVideos": {
|
|
"description": "Retrieve all recently added music videos",
|
|
"params": [
|
|
{
|
|
"$ref": "Video.Fields.MusicVideo",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"musicvideos": {
|
|
"items": {
|
|
"$ref": "Video.Details.MusicVideo"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetSeasonDetails": {
|
|
"description": "Retrieve details about a specific tv show season",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "seasonid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Video.Fields.Season",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"seasondetails": {
|
|
"$ref": "Video.Details.Season"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetSeasons": {
|
|
"description": "Retrieve all tv seasons",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"default": -1,
|
|
"name": "tvshowid"
|
|
},
|
|
{
|
|
"$ref": "Video.Fields.Season",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"seasons": {
|
|
"items": {
|
|
"$ref": "Video.Details.Season"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetTVShowDetails": {
|
|
"description": "Retrieve details about a specific tv show",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "tvshowid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Video.Fields.TVShow",
|
|
"name": "properties"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"tvshowdetails": {
|
|
"$ref": "Video.Details.TVShow"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetTVShows": {
|
|
"description": "Retrieve all tv shows",
|
|
"params": [
|
|
{
|
|
"$ref": "Video.Fields.TVShow",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"year": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"actor": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"studio": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"tag": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.TVShows"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"tvshows": {
|
|
"items": {
|
|
"$ref": "Video.Details.TVShow"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.GetTags": {
|
|
"description": "Retrieve all tags",
|
|
"params": [
|
|
{
|
|
"enums": [
|
|
"movie",
|
|
"tvshow",
|
|
"musicvideo"
|
|
],
|
|
"name": "type",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Library.Fields.Tag",
|
|
"name": "properties"
|
|
},
|
|
{
|
|
"$ref": "List.Limits",
|
|
"name": "limits"
|
|
},
|
|
{
|
|
"$ref": "List.Sort",
|
|
"name": "sort"
|
|
}
|
|
],
|
|
"returns": {
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"tags": {
|
|
"items": {
|
|
"$ref": "Library.Details.Tag"
|
|
},
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.RefreshEpisode": {
|
|
"description": "Refresh the given episode in the library",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "episodeid",
|
|
"required": true
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "Whether or not to ignore a local NFO if present.",
|
|
"name": "ignorenfo",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": "",
|
|
"description": "Title to use for searching (instead of determining it from the item's filename/path).",
|
|
"name": "title",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.RefreshMovie": {
|
|
"description": "Refresh the given movie in the library",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "movieid",
|
|
"required": true
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "Whether or not to ignore a local NFO if present.",
|
|
"name": "ignorenfo",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": "",
|
|
"description": "Title to use for searching (instead of determining it from the item's filename/path).",
|
|
"name": "title",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.RefreshMusicVideo": {
|
|
"description": "Refresh the given music video in the library",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "musicvideoid",
|
|
"required": true
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "Whether or not to ignore a local NFO if present.",
|
|
"name": "ignorenfo",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": "",
|
|
"description": "Title to use for searching (instead of determining it from the item's filename/path).",
|
|
"name": "title",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.RefreshTVShow": {
|
|
"description": "Refresh the given tv show in the library",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "tvshowid",
|
|
"required": true
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "Whether or not to ignore a local NFO if present.",
|
|
"name": "ignorenfo",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": false,
|
|
"description": "Whether or not to refresh all episodes belonging to the TV show.",
|
|
"name": "refreshepisodes",
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"default": "",
|
|
"description": "Title to use for searching (instead of determining it from the item's filename/path).",
|
|
"name": "title",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.RemoveEpisode": {
|
|
"description": "Removes the given episode from the library",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "episodeid",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.RemoveMovie": {
|
|
"description": "Removes the given movie from the library",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "movieid",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.RemoveMusicVideo": {
|
|
"description": "Removes the given music video from the library",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "musicvideoid",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.RemoveTVShow": {
|
|
"description": "Removes the given tv show from the library",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "tvshowid",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.Scan": {
|
|
"description": "Scans the video sources for new library items",
|
|
"params": [
|
|
{
|
|
"default": "",
|
|
"name": "directory",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"default": true,
|
|
"description": "Whether or not to show the progress bar or any other GUI dialog",
|
|
"name": "showdialogs",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.SetEpisodeDetails": {
|
|
"description": "Update the given episode with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "episodeid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "title"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "playcount"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"description": "Runtime in seconds",
|
|
"name": "runtime"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "director",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "plot"
|
|
},
|
|
{
|
|
"$ref": "Optional.Number",
|
|
"default": null,
|
|
"name": "rating"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "votes"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "lastplayed"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "writer",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "firstaired"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "productioncode"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "season"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "episode"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "originaltitle"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "thumbnail"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "fanart"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "resume",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Video.Resume"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "userrating"
|
|
},
|
|
{
|
|
"$ref": "Video.Ratings.Set",
|
|
"name": "ratings"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "dateadded"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "uniqueid",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.UniqueID.Set"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.SetMovieDetails": {
|
|
"description": "Update the given movie with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "movieid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "title"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "playcount"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"description": "Runtime in seconds",
|
|
"name": "runtime"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "director",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "studio",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"description": "linked with premiered. Overridden by premiered parameter",
|
|
"name": "year"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "plot"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "genre",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Number",
|
|
"default": null,
|
|
"name": "rating"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "mpaa"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "imdbnumber"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "votes"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "lastplayed"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "originaltitle"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "trailer"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "tagline"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "plotoutline"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "writer",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "country",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "top250"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "sorttitle"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "set"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "showlink",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "thumbnail"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "fanart"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "tag",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "resume",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Video.Resume"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "userrating"
|
|
},
|
|
{
|
|
"$ref": "Video.Ratings.Set",
|
|
"name": "ratings"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "dateadded"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"description": "linked with year. Overrides year",
|
|
"name": "premiered"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "uniqueid",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.UniqueID.Set"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.SetMovieSetDetails": {
|
|
"description": "Update the given movie set with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "setid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "title"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.SetMusicVideoDetails": {
|
|
"description": "Update the given music video with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "musicvideoid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "title"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "playcount"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"description": "Runtime in seconds",
|
|
"name": "runtime"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "director",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "studio",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"description": "linked with premiered. Overridden by premiered parameter",
|
|
"name": "year"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "plot"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "album"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "artist",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "genre",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "track"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "lastplayed"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "thumbnail"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "fanart"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "tag",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "resume",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Video.Resume"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Number",
|
|
"default": null,
|
|
"name": "rating"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "userrating"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "dateadded"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"description": "linked with year. Overrides year",
|
|
"name": "premiered"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.SetSeasonDetails": {
|
|
"description": "Update the given season with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "seasonid",
|
|
"required": true
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "userrating"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.SetTVShowDetails": {
|
|
"description": "Update the given tvshow with the given details",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "tvshowid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "title"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "playcount"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "studio",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "plot"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "genre",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Number",
|
|
"default": null,
|
|
"name": "rating"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "mpaa"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "imdbnumber"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "premiered"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "votes"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "lastplayed"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "originaltitle"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "sorttitle"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "episodeguide"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "thumbnail"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "fanart"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "tag",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Array.String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "art",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.Artwork.Set"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "userrating"
|
|
},
|
|
{
|
|
"$ref": "Video.Ratings.Set",
|
|
"name": "ratings"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "dateadded"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"description": "Runtime in seconds",
|
|
"name": "runtime"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "status"
|
|
},
|
|
{
|
|
"default": null,
|
|
"name": "uniqueid",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Media.UniqueID.Set"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"XBMC.GetInfoBooleans": {
|
|
"description": "Retrieve info booleans about Kodi and the system",
|
|
"params": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 1,
|
|
"name": "booleans",
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
],
|
|
"returns": {
|
|
"additionalProperties": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"description": "Object containing key-value pairs of the retrieved info booleans",
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"XBMC.GetInfoLabels": {
|
|
"description": "Retrieve info labels about Kodi and the system",
|
|
"params": [
|
|
{
|
|
"description": "See http://kodi.wiki/view/InfoLabels for a list of possible info labels",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 1,
|
|
"name": "labels",
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
],
|
|
"returns": {
|
|
"additionalProperties": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"description": "Object containing key-value pairs of the retrieved info labels",
|
|
"type": "object"
|
|
},
|
|
"type": "method"
|
|
}
|
|
},
|
|
"notifications": {
|
|
"Application.OnVolumeChanged": {
|
|
"description": "The volume of the application has changed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"muted": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"volume": {
|
|
"maximum": 100,
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"AudioLibrary.OnCleanFinished": {
|
|
"description": "The audio library has been cleaned.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"AudioLibrary.OnCleanStarted": {
|
|
"description": "An audio library clean operation has started.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"AudioLibrary.OnExport": {
|
|
"description": "An audio library export has finished.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"failcount": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"required": false,
|
|
"type": "integer"
|
|
},
|
|
"file": {
|
|
"default": "",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": false,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"AudioLibrary.OnRemove": {
|
|
"description": "An audio item has been removed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"transaction": {
|
|
"$ref": "Optional.Boolean",
|
|
"description": "True if the removal is being performed within a transaction."
|
|
},
|
|
"type": {
|
|
"$ref": "Notifications.Library.Audio.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"AudioLibrary.OnScanFinished": {
|
|
"description": "Scanning the audio library has been finished.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"AudioLibrary.OnScanStarted": {
|
|
"description": "An audio library scan has started.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"AudioLibrary.OnUpdate": {
|
|
"description": "An audio item has been updated.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"added": {
|
|
"$ref": "Optional.Boolean",
|
|
"description": "True if the update is for a newly added item."
|
|
},
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"transaction": {
|
|
"$ref": "Optional.Boolean",
|
|
"description": "True if the update is being performed within a transaction."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"song"
|
|
],
|
|
"id": "Notifications.Library.Audio.Type",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"GUI.OnDPMSActivated": {
|
|
"description": "Energy saving/DPMS has been activated.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"GUI.OnDPMSDeactivated": {
|
|
"description": "Energy saving/DPMS has been deactivated.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"GUI.OnScreensaverActivated": {
|
|
"description": "The screensaver has been activated.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"GUI.OnScreensaverDeactivated": {
|
|
"description": "The screensaver has been deactivated.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"shuttingdown": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Input.OnInputFinished": {
|
|
"description": "The user has provided the requested input.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Input.OnInputRequested": {
|
|
"description": "The user is requested to provide some information.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"keyboard",
|
|
"time",
|
|
"date",
|
|
"ip",
|
|
"password",
|
|
"numericpassword",
|
|
"number",
|
|
"seconds"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Player.OnPause": {
|
|
"description": "Playback of a media item has been paused. If there is no ID available extra information will be provided.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Player.Notifications.Data",
|
|
"name": "data",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Player.OnPlay": {
|
|
"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": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Player.Notifications.Data",
|
|
"name": "data",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Player.OnPropertyChanged": {
|
|
"description": "A property of the playing items has changed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"player": {
|
|
"$ref": "Player.Notifications.Player",
|
|
"required": true
|
|
},
|
|
"property": {
|
|
"$ref": "Player.Property.Value"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Player.OnSeek": {
|
|
"description": "The playback position has been changed. If there is no ID available extra information will be provided.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"item": {
|
|
"$ref": "Notifications.Item"
|
|
},
|
|
"player": {
|
|
"$ref": "Player.Notifications.Player.Seek",
|
|
"required": true
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Player.OnSpeedChanged": {
|
|
"description": "Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Player.Notifications.Data",
|
|
"name": "data",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Player.OnStop": {
|
|
"description": "Playback of a media item has been stopped. If there is no ID available extra information will be provided.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"end": {
|
|
"description": "Whether the player has reached the end of the playable item(s) or not",
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"item": {
|
|
"$ref": "Notifications.Item"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Playlist.OnAdd": {
|
|
"description": "A playlist item has been added.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"item": {
|
|
"$ref": "Notifications.Item"
|
|
},
|
|
"playlistid": {
|
|
"$ref": "Playlist.Id",
|
|
"required": true
|
|
},
|
|
"position": {
|
|
"$ref": "Playlist.Position"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Playlist.OnClear": {
|
|
"description": "A playlist item has been cleared.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"playlistid": {
|
|
"$ref": "Playlist.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"Playlist.OnRemove": {
|
|
"description": "A playlist item has been removed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"playlistid": {
|
|
"$ref": "Playlist.Id",
|
|
"required": true
|
|
},
|
|
"position": {
|
|
"$ref": "Playlist.Position"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"System.OnLowBattery": {
|
|
"description": "The system is on low battery.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"System.OnQuit": {
|
|
"description": "Kodi will be closed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"exitcode": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"System.OnRestart": {
|
|
"description": "The system will be restarted.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"System.OnSleep": {
|
|
"description": "The system will be suspended.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"System.OnWake": {
|
|
"description": "The system woke up from suspension.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"VideoLibrary.OnCleanFinished": {
|
|
"description": "The video library has been cleaned.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"VideoLibrary.OnCleanStarted": {
|
|
"description": "A video library clean operation has started.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"VideoLibrary.OnExport": {
|
|
"description": "A video library export has finished.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"failcount": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"required": false,
|
|
"type": "integer"
|
|
},
|
|
"file": {
|
|
"default": "",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
"root": {
|
|
"default": "",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": false,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"VideoLibrary.OnRemove": {
|
|
"description": "A video item has been removed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"transaction": {
|
|
"$ref": "Optional.Boolean",
|
|
"description": "True if the removal is being performed within a transaction."
|
|
},
|
|
"type": {
|
|
"$ref": "Notifications.Library.Video.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"VideoLibrary.OnScanFinished": {
|
|
"description": "Scanning the video library has been finished.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"VideoLibrary.OnScanStarted": {
|
|
"description": "A video library scan has started.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
},
|
|
"VideoLibrary.OnUpdate": {
|
|
"description": "A video item has been updated.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"added": {
|
|
"$ref": "Optional.Boolean",
|
|
"description": "True if the update is for a newly added item."
|
|
},
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"playcount": {
|
|
"default": -1,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"transaction": {
|
|
"$ref": "Optional.Boolean",
|
|
"description": "True if the update is being performed within a transaction."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"movie",
|
|
"tvshow",
|
|
"episode",
|
|
"musicvideo"
|
|
],
|
|
"id": "Notifications.Library.Video.Type",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
}
|
|
],
|
|
"returns": null,
|
|
"type": "notification"
|
|
}
|
|
},
|
|
"types": {
|
|
"Addon.Content": {
|
|
"default": "unknown",
|
|
"enums": [
|
|
"unknown",
|
|
"video",
|
|
"audio",
|
|
"image",
|
|
"executable"
|
|
],
|
|
"id": "Addon.Content",
|
|
"type": "string"
|
|
},
|
|
"Addon.Details": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "Addon.Details",
|
|
"properties": {
|
|
"addonid": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"author": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"broken": {
|
|
"default": null,
|
|
"type": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"items": {
|
|
"properties": {
|
|
"addonid": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"optional": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"version": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"description": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"disclaimer": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"extrainfo": {
|
|
"items": {
|
|
"properties": {
|
|
"key": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"fanart": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"summary": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"$ref": "Addon.Types",
|
|
"required": true
|
|
},
|
|
"version": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Addon.Fields": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Addon.Fields",
|
|
"items": {
|
|
"enums": [
|
|
"name",
|
|
"version",
|
|
"summary",
|
|
"description",
|
|
"path",
|
|
"author",
|
|
"thumbnail",
|
|
"disclaimer",
|
|
"fanart",
|
|
"dependencies",
|
|
"broken",
|
|
"extrainfo",
|
|
"rating",
|
|
"enabled",
|
|
"installed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Addon.Types": {
|
|
"default": "unknown",
|
|
"enums": [
|
|
"unknown",
|
|
"xbmc.player.musicviz",
|
|
"xbmc.gui.skin",
|
|
"xbmc.pvrclient",
|
|
"kodi.adsp",
|
|
"kodi.inputstream",
|
|
"kodi.gameclient",
|
|
"kodi.peripheral",
|
|
"xbmc.python.script",
|
|
"xbmc.python.weather",
|
|
"xbmc.subtitle.module",
|
|
"xbmc.python.lyrics",
|
|
"xbmc.metadata.scraper.albums",
|
|
"xbmc.metadata.scraper.artists",
|
|
"xbmc.metadata.scraper.movies",
|
|
"xbmc.metadata.scraper.musicvideos",
|
|
"xbmc.metadata.scraper.tvshows",
|
|
"xbmc.ui.screensaver",
|
|
"xbmc.python.pluginsource",
|
|
"xbmc.addon.repository",
|
|
"xbmc.webinterface",
|
|
"xbmc.service",
|
|
"kodi.audioencoder",
|
|
"kodi.context.item",
|
|
"kodi.audiodecoder",
|
|
"kodi.resource.images",
|
|
"kodi.resource.language",
|
|
"kodi.resource.uisounds",
|
|
"kodi.resource.games",
|
|
"kodi.resource.font",
|
|
"kodi.vfs",
|
|
"kodi.imagedecoder",
|
|
"xbmc.metadata.scraper.library",
|
|
"xbmc.python.library",
|
|
"xbmc.python.module",
|
|
"kodi.game.controller",
|
|
"",
|
|
"xbmc.addon.video",
|
|
"xbmc.addon.audio",
|
|
"xbmc.addon.image",
|
|
"xbmc.addon.executable",
|
|
"kodi.addon.game"
|
|
],
|
|
"id": "Addon.Types",
|
|
"type": "string"
|
|
},
|
|
"Application.Property.Name": {
|
|
"default": "volume",
|
|
"enums": [
|
|
"volume",
|
|
"muted",
|
|
"name",
|
|
"version"
|
|
],
|
|
"id": "Application.Property.Name",
|
|
"type": "string"
|
|
},
|
|
"Application.Property.Value": {
|
|
"id": "Application.Property.Value",
|
|
"properties": {
|
|
"muted": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"default": "",
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"properties": {
|
|
"major": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"minor": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"revision": {
|
|
"default": null,
|
|
"type": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
}
|
|
]
|
|
},
|
|
"tag": {
|
|
"enums": [
|
|
"prealpha",
|
|
"alpha",
|
|
"beta",
|
|
"releasecandidate",
|
|
"stable"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"tagversion": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"volume": {
|
|
"default": 0,
|
|
"maximum": 100,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Array.Integer": {
|
|
"id": "Array.Integer",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"Array.String": {
|
|
"id": "Array.String",
|
|
"items": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"Audio.Album.ReleaseType": {
|
|
"default": "album",
|
|
"enums": [
|
|
"album",
|
|
"single"
|
|
],
|
|
"id": "Audio.Album.ReleaseType",
|
|
"type": "string"
|
|
},
|
|
"Audio.Artist.Roles": {
|
|
"id": "Audio.Artist.Roles",
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"description": "The various roles contributed by an artist to one or more songs",
|
|
"properties": {
|
|
"role": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"Audio.Contributors": {
|
|
"id": "Audio.Contributors",
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"description": "The artist and the role they contribute to a song",
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"name": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"Audio.Details.Album": {
|
|
"extends": "Audio.Details.Media",
|
|
"id": "Audio.Details.Album",
|
|
"properties": {
|
|
"albumid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"albumlabel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"compilation": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"description": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"mood": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"musicbrainzalbumid": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"musicbrainzreleasegroupid": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"playcount": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"releasetype": {
|
|
"$ref": "Audio.Album.ReleaseType",
|
|
"default": "album"
|
|
},
|
|
"songgenres": {
|
|
"$ref": "Audio.Details.Genres"
|
|
},
|
|
"style": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"theme": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"type": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Audio.Details.Artist": {
|
|
"extends": "Audio.Details.Base",
|
|
"id": "Audio.Details.Artist",
|
|
"properties": {
|
|
"artist": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"born": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"compilationartist": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"description": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"died": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"disambiguation": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"disbanded": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"formed": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"gender": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"instrument": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"isalbumartist": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"mood": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"musicbrainzartistid": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"roles": {
|
|
"$ref": "Audio.Artist.Roles"
|
|
},
|
|
"songgenres": {
|
|
"$ref": "Audio.Details.Genres"
|
|
},
|
|
"sortname": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"style": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"type": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"yearsactive": {
|
|
"$ref": "Array.String"
|
|
}
|
|
}
|
|
},
|
|
"Audio.Details.Base": {
|
|
"extends": "Media.Details.Base",
|
|
"id": "Audio.Details.Base",
|
|
"properties": {
|
|
"art": {
|
|
"$ref": "Media.Artwork"
|
|
},
|
|
"dateadded": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"genre": {
|
|
"$ref": "Array.String"
|
|
}
|
|
}
|
|
},
|
|
"Audio.Details.Genres": {
|
|
"id": "Audio.Details.Genres",
|
|
"items": {
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"Audio.Details.Media": {
|
|
"extends": "Audio.Details.Base",
|
|
"id": "Audio.Details.Media",
|
|
"properties": {
|
|
"artist": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"artistid": {
|
|
"$ref": "Array.Integer"
|
|
},
|
|
"displayartist": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"musicbrainzalbumartistid": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "number"
|
|
},
|
|
"sortartist": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"userrating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"votes": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"year": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Audio.Details.Role": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "Audio.Details.Role",
|
|
"properties": {
|
|
"roleid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Audio.Details.Song": {
|
|
"extends": "Audio.Details.Media",
|
|
"id": "Audio.Details.Song",
|
|
"properties": {
|
|
"album": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"albumartist": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"albumartistid": {
|
|
"$ref": "Array.Integer"
|
|
},
|
|
"albumid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"albumreleasetype": {
|
|
"$ref": "Audio.Album.ReleaseType",
|
|
"default": "album"
|
|
},
|
|
"comment": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"contributors": {
|
|
"$ref": "Audio.Contributors"
|
|
},
|
|
"disc": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"displaycomposer": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"displayconductor": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"displaylyricist": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"displayorchestra": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"file": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"genreid": {
|
|
"$ref": "Array.Integer"
|
|
},
|
|
"lastplayed": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"lyrics": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"mood": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"musicbrainzartistid": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"musicbrainztrackid": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"playcount": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"songid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"track": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Audio.Fields.Album": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Audio.Fields.Album",
|
|
"items": {
|
|
"description": "Requesting the songgenres and/or artistid field will result in increased response times",
|
|
"enums": [
|
|
"title",
|
|
"description",
|
|
"artist",
|
|
"genre",
|
|
"theme",
|
|
"mood",
|
|
"style",
|
|
"type",
|
|
"albumlabel",
|
|
"rating",
|
|
"votes",
|
|
"userrating",
|
|
"year",
|
|
"musicbrainzalbumid",
|
|
"musicbrainzalbumartistid",
|
|
"fanart",
|
|
"thumbnail",
|
|
"playcount",
|
|
"artistid",
|
|
"displayartist",
|
|
"compilation",
|
|
"releasetype",
|
|
"dateadded",
|
|
"sortartist",
|
|
"musicbrainzreleasegroupid",
|
|
"songgenres",
|
|
"art"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Audio.Fields.Artist": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Audio.Fields.Artist",
|
|
"items": {
|
|
"description": "Requesting the (song)genreid/genre, or roleid/role fields will result in increased response times",
|
|
"enums": [
|
|
"instrument",
|
|
"style",
|
|
"mood",
|
|
"born",
|
|
"formed",
|
|
"description",
|
|
"genre",
|
|
"died",
|
|
"disbanded",
|
|
"yearsactive",
|
|
"musicbrainzartistid",
|
|
"fanart",
|
|
"thumbnail",
|
|
"compilationartist",
|
|
"dateadded",
|
|
"roles",
|
|
"songgenres",
|
|
"isalbumartist",
|
|
"sortname",
|
|
"type",
|
|
"gender",
|
|
"disambiguation",
|
|
"art"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Audio.Fields.Role": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Audio.Fields.Role",
|
|
"items": {
|
|
"enums": [
|
|
"title"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Audio.Fields.Song": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Audio.Fields.Song",
|
|
"items": {
|
|
"description": "Requesting the genreid, artistid and/or albumartistid field will result in increased response times",
|
|
"enums": [
|
|
"title",
|
|
"artist",
|
|
"albumartist",
|
|
"genre",
|
|
"year",
|
|
"rating",
|
|
"album",
|
|
"track",
|
|
"duration",
|
|
"comment",
|
|
"lyrics",
|
|
"musicbrainztrackid",
|
|
"musicbrainzartistid",
|
|
"musicbrainzalbumid",
|
|
"musicbrainzalbumartistid",
|
|
"playcount",
|
|
"fanart",
|
|
"thumbnail",
|
|
"file",
|
|
"albumid",
|
|
"lastplayed",
|
|
"disc",
|
|
"genreid",
|
|
"artistid",
|
|
"displayartist",
|
|
"albumartistid",
|
|
"albumreleasetype",
|
|
"dateadded",
|
|
"votes",
|
|
"userrating",
|
|
"mood",
|
|
"contributors",
|
|
"displaycomposer",
|
|
"displayconductor",
|
|
"displayorchestra",
|
|
"displaylyricist",
|
|
"sortartist",
|
|
"art"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Audio.Property.Name": {
|
|
"default": "missingartistid",
|
|
"enums": [
|
|
"missingartistid"
|
|
],
|
|
"id": "Audio.Property.Name",
|
|
"type": "string"
|
|
},
|
|
"Audio.Property.Value": {
|
|
"id": "Audio.Property.Value",
|
|
"properties": {
|
|
"missingartistid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Configuration": {
|
|
"id": "Configuration",
|
|
"properties": {
|
|
"notifications": {
|
|
"$ref": "Configuration.Notifications",
|
|
"required": true
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
},
|
|
"Configuration.Notifications": {
|
|
"additionalProperties": false,
|
|
"id": "Configuration.Notifications",
|
|
"properties": {
|
|
"application": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"audiolibrary": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"gui": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"input": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"other": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"player": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"playlist": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"pvr": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"system": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"videolibrary": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Favourite.Details.Favourite": {
|
|
"additionalProperties": false,
|
|
"id": "Favourite.Details.Favourite",
|
|
"properties": {
|
|
"path": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"$ref": "Favourite.Type",
|
|
"required": true
|
|
},
|
|
"window": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"windowparameter": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Favourite.Fields.Favourite": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Favourite.Fields.Favourite",
|
|
"items": {
|
|
"enums": [
|
|
"window",
|
|
"windowparameter",
|
|
"thumbnail",
|
|
"path"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Favourite.Type": {
|
|
"default": "media",
|
|
"enums": [
|
|
"media",
|
|
"window",
|
|
"script",
|
|
"unknown"
|
|
],
|
|
"id": "Favourite.Type",
|
|
"type": "string"
|
|
},
|
|
"Files.Media": {
|
|
"default": "video",
|
|
"enums": [
|
|
"video",
|
|
"music",
|
|
"pictures",
|
|
"files",
|
|
"programs"
|
|
],
|
|
"id": "Files.Media",
|
|
"type": "string"
|
|
},
|
|
"GUI.Property.Name": {
|
|
"default": "currentwindow",
|
|
"enums": [
|
|
"currentwindow",
|
|
"currentcontrol",
|
|
"skin",
|
|
"fullscreen",
|
|
"stereoscopicmode"
|
|
],
|
|
"id": "GUI.Property.Name",
|
|
"type": "string"
|
|
},
|
|
"GUI.Property.Value": {
|
|
"id": "GUI.Property.Value",
|
|
"properties": {
|
|
"currentcontrol": {
|
|
"properties": {
|
|
"label": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"currentwindow": {
|
|
"properties": {
|
|
"id": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"label": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"fullscreen": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"skin": {
|
|
"properties": {
|
|
"id": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"stereoscopicmode": {
|
|
"$ref": "GUI.Stereoscopy.Mode"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"GUI.Stereoscopy.Mode": {
|
|
"id": "GUI.Stereoscopy.Mode",
|
|
"properties": {
|
|
"label": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"enums": [
|
|
"off",
|
|
"split_vertical",
|
|
"split_horizontal",
|
|
"row_interleaved",
|
|
"hardware_based",
|
|
"anaglyph_cyan_red",
|
|
"anaglyph_green_magenta",
|
|
"anaglyph_yellow_blue",
|
|
"monoscopic"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"GUI.Window": {
|
|
"default": "accesspoints",
|
|
"enums": [
|
|
"accesspoints",
|
|
"addon",
|
|
"addonbrowser",
|
|
"addoninformation",
|
|
"addonsettings",
|
|
"appearancesettings",
|
|
"audiodspmanager",
|
|
"busydialog",
|
|
"contentsettings",
|
|
"contextmenu",
|
|
"eventlog",
|
|
"extendedprogressdialog",
|
|
"favourites",
|
|
"filebrowser",
|
|
"filemanager",
|
|
"fullscreengame",
|
|
"fullscreeninfo",
|
|
"fullscreenlivetv",
|
|
"fullscreenradio",
|
|
"fullscreenvideo",
|
|
"gamecontrollers",
|
|
"gameosd",
|
|
"gamepadinput",
|
|
"games",
|
|
"gamesettings",
|
|
"gamevideofilter",
|
|
"gameviewmode",
|
|
"gamevolume",
|
|
"home",
|
|
"infoprovidersettings",
|
|
"interfacesettings",
|
|
"libexportsettings",
|
|
"locksettings",
|
|
"loginscreen",
|
|
"mediafilter",
|
|
"mediasettings",
|
|
"mediasource",
|
|
"movieinformation",
|
|
"music",
|
|
"musicinformation",
|
|
"musicosd",
|
|
"musicplaylist",
|
|
"musicplaylisteditor",
|
|
"networksetup",
|
|
"notification",
|
|
"numericinput",
|
|
"okdialog",
|
|
"osdaudiodspsettings",
|
|
"osdaudiosettings",
|
|
"osdcmssettings",
|
|
"osdsubtitlesettings",
|
|
"osdvideosettings",
|
|
"peripheralsettings",
|
|
"pictureinfo",
|
|
"pictures",
|
|
"playercontrols",
|
|
"playerprocessinfo",
|
|
"playersettings",
|
|
"profiles",
|
|
"profilesettings",
|
|
"programs",
|
|
"progressdialog",
|
|
"pvrchannelguide",
|
|
"pvrchannelmanager",
|
|
"pvrchannelscan",
|
|
"pvrgroupmanager",
|
|
"pvrguideinfo",
|
|
"pvrguidesearch",
|
|
"pvrosdchannels",
|
|
"pvrosdguide",
|
|
"pvrosdteletext",
|
|
"pvrradiordsinfo",
|
|
"pvrrecordinginfo",
|
|
"pvrsettings",
|
|
"pvrtimersetting",
|
|
"pvrupdateprogress",
|
|
"radiochannels",
|
|
"radioguide",
|
|
"radiorecordings",
|
|
"radiosearch",
|
|
"radiotimerrules",
|
|
"radiotimers",
|
|
"screencalibration",
|
|
"screensaver",
|
|
"seekbar",
|
|
"selectdialog",
|
|
"servicesettings",
|
|
"settings",
|
|
"shutdownmenu",
|
|
"skinsettings",
|
|
"sliderdialog",
|
|
"slideshow",
|
|
"smartplaylisteditor",
|
|
"smartplaylistrule",
|
|
"songinformation",
|
|
"splash",
|
|
"startup",
|
|
"startwindow",
|
|
"submenu",
|
|
"subtitlesearch",
|
|
"systeminfo",
|
|
"systemsettings",
|
|
"teletext",
|
|
"testpattern",
|
|
"textviewer",
|
|
"tvchannels",
|
|
"tvguide",
|
|
"tvrecordings",
|
|
"tvsearch",
|
|
"tvtimerrules",
|
|
"tvtimers",
|
|
"videobookmarks",
|
|
"videomenu",
|
|
"videoosd",
|
|
"videoplaylist",
|
|
"videos",
|
|
"videotimeseek",
|
|
"virtualkeyboard",
|
|
"visualisation",
|
|
"visualisationpresetlist",
|
|
"volumebar",
|
|
"weather",
|
|
"yesnodialog"
|
|
],
|
|
"id": "GUI.Window",
|
|
"type": "string"
|
|
},
|
|
"Global.IncrementDecrement": {
|
|
"default": "increment",
|
|
"enums": [
|
|
"increment",
|
|
"decrement"
|
|
],
|
|
"id": "Global.IncrementDecrement",
|
|
"type": "string"
|
|
},
|
|
"Global.String.NotEmpty": {
|
|
"default": "",
|
|
"id": "Global.String.NotEmpty",
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"Global.Time": {
|
|
"additionalProperties": false,
|
|
"id": "Global.Time",
|
|
"properties": {
|
|
"hours": {
|
|
"maximum": 23,
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"milliseconds": {
|
|
"maximum": 999,
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"minutes": {
|
|
"maximum": 59,
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"seconds": {
|
|
"maximum": 59,
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Global.Toggle": {
|
|
"default": null,
|
|
"id": "Global.Toggle",
|
|
"type": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"enums": [
|
|
"toggle"
|
|
],
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"Global.Weekday": {
|
|
"default": "monday",
|
|
"enums": [
|
|
"monday",
|
|
"tuesday",
|
|
"wednesday",
|
|
"thursday",
|
|
"friday",
|
|
"saturday",
|
|
"sunday"
|
|
],
|
|
"id": "Global.Weekday",
|
|
"type": "string"
|
|
},
|
|
"Input.Action": {
|
|
"default": "analogfastforward",
|
|
"enums": [
|
|
"analogfastforward",
|
|
"analogmove",
|
|
"analogmovexleft",
|
|
"analogmovexright",
|
|
"analogmoveydown",
|
|
"analogmoveyup",
|
|
"analogrewind",
|
|
"analogseekback",
|
|
"analogseekforward",
|
|
"aspectratio",
|
|
"audiodelay",
|
|
"audiodelayminus",
|
|
"audiodelayplus",
|
|
"audionextlanguage",
|
|
"audiotoggledigital",
|
|
"back",
|
|
"backspace",
|
|
"bigstepback",
|
|
"bigstepforward",
|
|
"blue",
|
|
"browsesubtitle",
|
|
"channeldown",
|
|
"channelnumberseparator",
|
|
"channelup",
|
|
"chapterorbigstepback",
|
|
"chapterorbigstepforward",
|
|
"close",
|
|
"codecinfo",
|
|
"contextmenu",
|
|
"copy",
|
|
"createbookmark",
|
|
"createepisodebookmark",
|
|
"cursorleft",
|
|
"cursorright",
|
|
"cyclesubtitle",
|
|
"decreasepar",
|
|
"decreaserating",
|
|
"decreasevisrating",
|
|
"delete",
|
|
"doubleclick",
|
|
"down",
|
|
"enter",
|
|
"error",
|
|
"fastforward",
|
|
"filter",
|
|
"filterclear",
|
|
"filtersms2",
|
|
"filtersms3",
|
|
"filtersms4",
|
|
"filtersms5",
|
|
"filtersms6",
|
|
"filtersms7",
|
|
"filtersms8",
|
|
"filtersms9",
|
|
"firstpage",
|
|
"fullscreen",
|
|
"green",
|
|
"guiprofile",
|
|
"highlight",
|
|
"increasepar",
|
|
"increaserating",
|
|
"increasevisrating",
|
|
"info",
|
|
"jumpsms2",
|
|
"jumpsms3",
|
|
"jumpsms4",
|
|
"jumpsms5",
|
|
"jumpsms6",
|
|
"jumpsms7",
|
|
"jumpsms8",
|
|
"jumpsms9",
|
|
"lastpage",
|
|
"left",
|
|
"leftclick",
|
|
"lockpreset",
|
|
"longclick",
|
|
"longpress",
|
|
"menu",
|
|
"middleclick",
|
|
"mousedrag",
|
|
"mousemove",
|
|
"move",
|
|
"moveitemdown",
|
|
"moveitemup",
|
|
"mute",
|
|
"nextcalibration",
|
|
"nextchannelgroup",
|
|
"nextletter",
|
|
"nextpicture",
|
|
"nextpreset",
|
|
"nextresolution",
|
|
"nextscene",
|
|
"nextstereomode",
|
|
"nextsubtitle",
|
|
"noop",
|
|
"number0",
|
|
"number1",
|
|
"number2",
|
|
"number3",
|
|
"number4",
|
|
"number5",
|
|
"number6",
|
|
"number7",
|
|
"number8",
|
|
"number9",
|
|
"osd",
|
|
"pagedown",
|
|
"pageup",
|
|
"pangesture",
|
|
"parentdir",
|
|
"parentfolder",
|
|
"pause",
|
|
"play",
|
|
"playerdebug",
|
|
"playerprocessinfo",
|
|
"playerprogramselect",
|
|
"playlist",
|
|
"playpause",
|
|
"playpvr",
|
|
"playpvrradio",
|
|
"playpvrtv",
|
|
"previouschannelgroup",
|
|
"previousmenu",
|
|
"previouspicture",
|
|
"previouspreset",
|
|
"previousscene",
|
|
"previousstereomode",
|
|
"prevletter",
|
|
"queue",
|
|
"randompreset",
|
|
"record",
|
|
"red",
|
|
"reloadkeymaps",
|
|
"rename",
|
|
"resetcalibration",
|
|
"rewind",
|
|
"right",
|
|
"rightclick",
|
|
"rotate",
|
|
"rotateccw",
|
|
"rotategesture",
|
|
"scanitem",
|
|
"screenshot",
|
|
"scrolldown",
|
|
"scrollup",
|
|
"select",
|
|
"setrating",
|
|
"settingslevelchange",
|
|
"settingsreset",
|
|
"shift",
|
|
"showpreset",
|
|
"showsubtitles",
|
|
"showtime",
|
|
"showtimerrule",
|
|
"showvideomenu",
|
|
"skipnext",
|
|
"skipprevious",
|
|
"smallstepback",
|
|
"stepback",
|
|
"stepforward",
|
|
"stereomode",
|
|
"stereomodetomono",
|
|
"stop",
|
|
"subtitlealign",
|
|
"subtitledelay",
|
|
"subtitledelayminus",
|
|
"subtitledelayplus",
|
|
"subtitleshiftdown",
|
|
"subtitleshiftup",
|
|
"swipedown",
|
|
"swipeleft",
|
|
"swiperight",
|
|
"swipeup",
|
|
"switchplayer",
|
|
"symbols",
|
|
"tap",
|
|
"togglecommskip",
|
|
"togglefont",
|
|
"togglefullscreen",
|
|
"togglestereomode",
|
|
"togglewatched",
|
|
"up",
|
|
"verticalshiftdown",
|
|
"verticalshiftup",
|
|
"voicerecognizer",
|
|
"volampdown",
|
|
"volampup",
|
|
"volumeamplification",
|
|
"volumedown",
|
|
"volumeup",
|
|
"wheeldown",
|
|
"wheelup",
|
|
"yellow",
|
|
"zoomgesture",
|
|
"zoomin",
|
|
"zoomlevel1",
|
|
"zoomlevel2",
|
|
"zoomlevel3",
|
|
"zoomlevel4",
|
|
"zoomlevel5",
|
|
"zoomlevel6",
|
|
"zoomlevel7",
|
|
"zoomlevel8",
|
|
"zoomlevel9",
|
|
"zoomnormal",
|
|
"zoomout"
|
|
],
|
|
"id": "Input.Action",
|
|
"type": "string"
|
|
},
|
|
"Item.Details.Base": {
|
|
"id": "Item.Details.Base",
|
|
"properties": {
|
|
"label": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Item.Fields.Base": {
|
|
"id": "Item.Fields.Base",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"Library.Details.Genre": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "Library.Details.Genre",
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Library.Details.Tag": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "Library.Details.Tag",
|
|
"properties": {
|
|
"tagid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Library.Fields.Genre": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Library.Fields.Genre",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"thumbnail"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Library.Fields.Tag": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Library.Fields.Tag",
|
|
"items": {
|
|
"enums": [
|
|
"title"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Library.Id": {
|
|
"default": -1,
|
|
"id": "Library.Id",
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
"List.Amount": {
|
|
"default": -1,
|
|
"id": "List.Amount",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"List.Fields.All": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "List.Fields.All",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"artist",
|
|
"albumartist",
|
|
"genre",
|
|
"year",
|
|
"rating",
|
|
"album",
|
|
"track",
|
|
"duration",
|
|
"comment",
|
|
"lyrics",
|
|
"musicbrainztrackid",
|
|
"musicbrainzartistid",
|
|
"musicbrainzalbumid",
|
|
"musicbrainzalbumartistid",
|
|
"playcount",
|
|
"fanart",
|
|
"director",
|
|
"trailer",
|
|
"tagline",
|
|
"plot",
|
|
"plotoutline",
|
|
"originaltitle",
|
|
"lastplayed",
|
|
"writer",
|
|
"studio",
|
|
"mpaa",
|
|
"cast",
|
|
"country",
|
|
"imdbnumber",
|
|
"premiered",
|
|
"productioncode",
|
|
"runtime",
|
|
"set",
|
|
"showlink",
|
|
"streamdetails",
|
|
"top250",
|
|
"votes",
|
|
"firstaired",
|
|
"season",
|
|
"episode",
|
|
"showtitle",
|
|
"thumbnail",
|
|
"file",
|
|
"resume",
|
|
"artistid",
|
|
"albumid",
|
|
"tvshowid",
|
|
"setid",
|
|
"watchedepisodes",
|
|
"disc",
|
|
"tag",
|
|
"art",
|
|
"genreid",
|
|
"displayartist",
|
|
"albumartistid",
|
|
"description",
|
|
"theme",
|
|
"mood",
|
|
"style",
|
|
"albumlabel",
|
|
"sorttitle",
|
|
"episodeguide",
|
|
"uniqueid",
|
|
"dateadded",
|
|
"channel",
|
|
"channeltype",
|
|
"hidden",
|
|
"locked",
|
|
"channelnumber",
|
|
"starttime",
|
|
"endtime",
|
|
"specialsortseason",
|
|
"specialsortepisode",
|
|
"compilation",
|
|
"releasetype",
|
|
"albumreleasetype",
|
|
"contributors",
|
|
"displaycomposer",
|
|
"displayconductor",
|
|
"displayorchestra",
|
|
"displaylyricist",
|
|
"userrating",
|
|
"sortartist",
|
|
"musicbrainzreleasegroupid"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"List.Fields.Files": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "List.Fields.Files",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"artist",
|
|
"albumartist",
|
|
"genre",
|
|
"year",
|
|
"rating",
|
|
"album",
|
|
"track",
|
|
"duration",
|
|
"comment",
|
|
"lyrics",
|
|
"musicbrainztrackid",
|
|
"musicbrainzartistid",
|
|
"musicbrainzalbumid",
|
|
"musicbrainzalbumartistid",
|
|
"playcount",
|
|
"fanart",
|
|
"director",
|
|
"trailer",
|
|
"tagline",
|
|
"plot",
|
|
"plotoutline",
|
|
"originaltitle",
|
|
"lastplayed",
|
|
"writer",
|
|
"studio",
|
|
"mpaa",
|
|
"cast",
|
|
"country",
|
|
"imdbnumber",
|
|
"premiered",
|
|
"productioncode",
|
|
"runtime",
|
|
"set",
|
|
"showlink",
|
|
"streamdetails",
|
|
"top250",
|
|
"votes",
|
|
"firstaired",
|
|
"season",
|
|
"episode",
|
|
"showtitle",
|
|
"thumbnail",
|
|
"file",
|
|
"resume",
|
|
"artistid",
|
|
"albumid",
|
|
"tvshowid",
|
|
"setid",
|
|
"watchedepisodes",
|
|
"disc",
|
|
"tag",
|
|
"art",
|
|
"genreid",
|
|
"displayartist",
|
|
"albumartistid",
|
|
"description",
|
|
"theme",
|
|
"mood",
|
|
"style",
|
|
"albumlabel",
|
|
"sorttitle",
|
|
"episodeguide",
|
|
"uniqueid",
|
|
"dateadded",
|
|
"size",
|
|
"lastmodified",
|
|
"mimetype",
|
|
"specialsortseason",
|
|
"specialsortepisode",
|
|
"sortartist",
|
|
"musicbrainzreleasegroupid"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"List.Filter.Albums": {
|
|
"id": "List.Filter.Albums",
|
|
"type": [
|
|
{
|
|
"properties": {
|
|
"and": {
|
|
"items": {
|
|
"$ref": "List.Filter.Albums"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"or": {
|
|
"items": {
|
|
"$ref": "List.Filter.Albums"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Rule.Albums"
|
|
}
|
|
]
|
|
},
|
|
"List.Filter.Artists": {
|
|
"id": "List.Filter.Artists",
|
|
"type": [
|
|
{
|
|
"properties": {
|
|
"and": {
|
|
"items": {
|
|
"$ref": "List.Filter.Artists"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"or": {
|
|
"items": {
|
|
"$ref": "List.Filter.Artists"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Rule.Artists"
|
|
}
|
|
]
|
|
},
|
|
"List.Filter.Episodes": {
|
|
"id": "List.Filter.Episodes",
|
|
"type": [
|
|
{
|
|
"properties": {
|
|
"and": {
|
|
"items": {
|
|
"$ref": "List.Filter.Episodes"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"or": {
|
|
"items": {
|
|
"$ref": "List.Filter.Episodes"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Rule.Episodes"
|
|
}
|
|
]
|
|
},
|
|
"List.Filter.Fields.Albums": {
|
|
"default": "genre",
|
|
"enums": [
|
|
"genre",
|
|
"album",
|
|
"artist",
|
|
"albumartist",
|
|
"year",
|
|
"review",
|
|
"themes",
|
|
"moods",
|
|
"styles",
|
|
"compilation",
|
|
"type",
|
|
"label",
|
|
"rating",
|
|
"userrating",
|
|
"playcount",
|
|
"lastplayed",
|
|
"path",
|
|
"playlist",
|
|
"virtualfolder"
|
|
],
|
|
"id": "List.Filter.Fields.Albums",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.Artists": {
|
|
"default": "artist",
|
|
"enums": [
|
|
"artist",
|
|
"genre",
|
|
"moods",
|
|
"styles",
|
|
"instruments",
|
|
"biography",
|
|
"artisttype",
|
|
"gender",
|
|
"disambiguation",
|
|
"born",
|
|
"bandformed",
|
|
"disbanded",
|
|
"died",
|
|
"role",
|
|
"path",
|
|
"playlist",
|
|
"virtualfolder"
|
|
],
|
|
"id": "List.Filter.Fields.Artists",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.Episodes": {
|
|
"default": "title",
|
|
"enums": [
|
|
"title",
|
|
"tvshow",
|
|
"originaltitle",
|
|
"plot",
|
|
"votes",
|
|
"rating",
|
|
"userrating",
|
|
"time",
|
|
"writers",
|
|
"airdate",
|
|
"playcount",
|
|
"lastplayed",
|
|
"inprogress",
|
|
"genre",
|
|
"year",
|
|
"director",
|
|
"actor",
|
|
"episode",
|
|
"season",
|
|
"filename",
|
|
"path",
|
|
"studio",
|
|
"mpaarating",
|
|
"dateadded",
|
|
"tag",
|
|
"videoresolution",
|
|
"audiochannels",
|
|
"audiocount",
|
|
"subtitlecount",
|
|
"videocodec",
|
|
"audiocodec",
|
|
"audiolanguage",
|
|
"subtitlelanguage",
|
|
"videoaspect",
|
|
"playlist",
|
|
"virtualfolder"
|
|
],
|
|
"id": "List.Filter.Fields.Episodes",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.Movies": {
|
|
"default": "title",
|
|
"enums": [
|
|
"title",
|
|
"originaltitle",
|
|
"plot",
|
|
"plotoutline",
|
|
"tagline",
|
|
"votes",
|
|
"rating",
|
|
"userrating",
|
|
"time",
|
|
"writers",
|
|
"playcount",
|
|
"lastplayed",
|
|
"inprogress",
|
|
"genre",
|
|
"country",
|
|
"year",
|
|
"director",
|
|
"actor",
|
|
"mpaarating",
|
|
"top250",
|
|
"studio",
|
|
"hastrailer",
|
|
"filename",
|
|
"path",
|
|
"set",
|
|
"tag",
|
|
"dateadded",
|
|
"videoresolution",
|
|
"audiochannels",
|
|
"audiocount",
|
|
"subtitlecount",
|
|
"videocodec",
|
|
"audiocodec",
|
|
"audiolanguage",
|
|
"subtitlelanguage",
|
|
"videoaspect",
|
|
"playlist",
|
|
"virtualfolder"
|
|
],
|
|
"id": "List.Filter.Fields.Movies",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.MusicVideos": {
|
|
"default": "title",
|
|
"enums": [
|
|
"title",
|
|
"genre",
|
|
"album",
|
|
"year",
|
|
"artist",
|
|
"filename",
|
|
"path",
|
|
"playcount",
|
|
"lastplayed",
|
|
"rating",
|
|
"userrating",
|
|
"time",
|
|
"director",
|
|
"studio",
|
|
"plot",
|
|
"tag",
|
|
"dateadded",
|
|
"videoresolution",
|
|
"audiochannels",
|
|
"audiocount",
|
|
"subtitlecount",
|
|
"videocodec",
|
|
"audiocodec",
|
|
"audiolanguage",
|
|
"subtitlelanguage",
|
|
"videoaspect",
|
|
"playlist",
|
|
"virtualfolder"
|
|
],
|
|
"id": "List.Filter.Fields.MusicVideos",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.Songs": {
|
|
"default": "genre",
|
|
"enums": [
|
|
"genre",
|
|
"album",
|
|
"artist",
|
|
"albumartist",
|
|
"title",
|
|
"year",
|
|
"time",
|
|
"tracknumber",
|
|
"filename",
|
|
"path",
|
|
"playcount",
|
|
"lastplayed",
|
|
"rating",
|
|
"userrating",
|
|
"comment",
|
|
"moods",
|
|
"playlist",
|
|
"virtualfolder"
|
|
],
|
|
"id": "List.Filter.Fields.Songs",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.TVShows": {
|
|
"default": "title",
|
|
"enums": [
|
|
"title",
|
|
"originaltitle",
|
|
"plot",
|
|
"status",
|
|
"votes",
|
|
"rating",
|
|
"userrating",
|
|
"year",
|
|
"genre",
|
|
"director",
|
|
"actor",
|
|
"numepisodes",
|
|
"numwatched",
|
|
"playcount",
|
|
"path",
|
|
"studio",
|
|
"mpaarating",
|
|
"dateadded",
|
|
"lastplayed",
|
|
"inprogress",
|
|
"tag",
|
|
"playlist",
|
|
"virtualfolder"
|
|
],
|
|
"id": "List.Filter.Fields.TVShows",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.Textures": {
|
|
"default": "textureid",
|
|
"enums": [
|
|
"textureid",
|
|
"url",
|
|
"cachedurl",
|
|
"lasthashcheck",
|
|
"imagehash",
|
|
"width",
|
|
"height",
|
|
"usecount",
|
|
"lastused"
|
|
],
|
|
"id": "List.Filter.Fields.Textures",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Movies": {
|
|
"id": "List.Filter.Movies",
|
|
"type": [
|
|
{
|
|
"properties": {
|
|
"and": {
|
|
"items": {
|
|
"$ref": "List.Filter.Movies"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"or": {
|
|
"items": {
|
|
"$ref": "List.Filter.Movies"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Rule.Movies"
|
|
}
|
|
]
|
|
},
|
|
"List.Filter.MusicVideos": {
|
|
"id": "List.Filter.MusicVideos",
|
|
"type": [
|
|
{
|
|
"properties": {
|
|
"and": {
|
|
"items": {
|
|
"$ref": "List.Filter.MusicVideos"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"or": {
|
|
"items": {
|
|
"$ref": "List.Filter.MusicVideos"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Rule.MusicVideos"
|
|
}
|
|
]
|
|
},
|
|
"List.Filter.Operators": {
|
|
"default": "contains",
|
|
"enums": [
|
|
"contains",
|
|
"doesnotcontain",
|
|
"is",
|
|
"isnot",
|
|
"startswith",
|
|
"endswith",
|
|
"greaterthan",
|
|
"lessthan",
|
|
"after",
|
|
"before",
|
|
"inthelast",
|
|
"notinthelast",
|
|
"true",
|
|
"false",
|
|
"between"
|
|
],
|
|
"id": "List.Filter.Operators",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Rule": {
|
|
"id": "List.Filter.Rule",
|
|
"properties": {
|
|
"operator": {
|
|
"$ref": "List.Filter.Operators",
|
|
"required": true
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"List.Filter.Rule.Albums": {
|
|
"extends": "List.Filter.Rule",
|
|
"id": "List.Filter.Rule.Albums",
|
|
"properties": {
|
|
"field": {
|
|
"$ref": "List.Filter.Fields.Albums",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"List.Filter.Rule.Artists": {
|
|
"extends": "List.Filter.Rule",
|
|
"id": "List.Filter.Rule.Artists",
|
|
"properties": {
|
|
"field": {
|
|
"$ref": "List.Filter.Fields.Artists",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"List.Filter.Rule.Episodes": {
|
|
"extends": "List.Filter.Rule",
|
|
"id": "List.Filter.Rule.Episodes",
|
|
"properties": {
|
|
"field": {
|
|
"$ref": "List.Filter.Fields.Episodes",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"List.Filter.Rule.Movies": {
|
|
"extends": "List.Filter.Rule",
|
|
"id": "List.Filter.Rule.Movies",
|
|
"properties": {
|
|
"field": {
|
|
"$ref": "List.Filter.Fields.Movies",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"List.Filter.Rule.MusicVideos": {
|
|
"extends": "List.Filter.Rule",
|
|
"id": "List.Filter.Rule.MusicVideos",
|
|
"properties": {
|
|
"field": {
|
|
"$ref": "List.Filter.Fields.MusicVideos",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"List.Filter.Rule.Songs": {
|
|
"extends": "List.Filter.Rule",
|
|
"id": "List.Filter.Rule.Songs",
|
|
"properties": {
|
|
"field": {
|
|
"$ref": "List.Filter.Fields.Songs",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"List.Filter.Rule.TVShows": {
|
|
"extends": "List.Filter.Rule",
|
|
"id": "List.Filter.Rule.TVShows",
|
|
"properties": {
|
|
"field": {
|
|
"$ref": "List.Filter.Fields.TVShows",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"List.Filter.Rule.Textures": {
|
|
"extends": "List.Filter.Rule",
|
|
"id": "List.Filter.Rule.Textures",
|
|
"properties": {
|
|
"field": {
|
|
"$ref": "List.Filter.Fields.Textures",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"List.Filter.Songs": {
|
|
"id": "List.Filter.Songs",
|
|
"type": [
|
|
{
|
|
"properties": {
|
|
"and": {
|
|
"items": {
|
|
"$ref": "List.Filter.Songs"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"or": {
|
|
"items": {
|
|
"$ref": "List.Filter.Songs"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Rule.Songs"
|
|
}
|
|
]
|
|
},
|
|
"List.Filter.TVShows": {
|
|
"id": "List.Filter.TVShows",
|
|
"type": [
|
|
{
|
|
"properties": {
|
|
"and": {
|
|
"items": {
|
|
"$ref": "List.Filter.TVShows"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"or": {
|
|
"items": {
|
|
"$ref": "List.Filter.TVShows"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Rule.TVShows"
|
|
}
|
|
]
|
|
},
|
|
"List.Filter.Textures": {
|
|
"id": "List.Filter.Textures",
|
|
"type": [
|
|
{
|
|
"properties": {
|
|
"and": {
|
|
"items": {
|
|
"$ref": "List.Filter.Textures"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"or": {
|
|
"items": {
|
|
"$ref": "List.Filter.Textures"
|
|
},
|
|
"minItems": 1,
|
|
"required": true,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Rule.Textures"
|
|
}
|
|
]
|
|
},
|
|
"List.Item.All": {
|
|
"extends": "List.Item.Base",
|
|
"id": "List.Item.All",
|
|
"properties": {
|
|
"channel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"channelnumber": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"channeltype": {
|
|
"$ref": "PVR.Channel.Type",
|
|
"default": "tv"
|
|
},
|
|
"endtime": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"hidden": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"locked": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"starttime": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"List.Item.Base": {
|
|
"extends": [
|
|
"Video.Details.File",
|
|
"Audio.Details.Media"
|
|
],
|
|
"id": "List.Item.Base",
|
|
"properties": {
|
|
"album": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"albumartist": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"albumartistid": {
|
|
"$ref": "Array.Integer"
|
|
},
|
|
"albumid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"albumlabel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"albumreleasetype": {
|
|
"$ref": "Audio.Album.ReleaseType",
|
|
"default": "album"
|
|
},
|
|
"cast": {
|
|
"$ref": "Video.Cast"
|
|
},
|
|
"comment": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"compilation": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"contributors": {
|
|
"$ref": "Audio.Contributors"
|
|
},
|
|
"country": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"description": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"disc": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"displaycomposer": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"displayconductor": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"displaylyricist": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"displayorchestra": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"episode": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"episodeguide": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"firstaired": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"imdbnumber": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"lyrics": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"mood": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"mpaa": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"musicbrainzartistid": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"musicbrainztrackid": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"originaltitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"plotoutline": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"premiered": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"productioncode": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"releasetype": {
|
|
"$ref": "Audio.Album.ReleaseType",
|
|
"default": "album"
|
|
},
|
|
"season": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"set": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"setid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"showlink": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"showtitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"sorttitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"specialsortepisode": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"specialsortseason": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"studio": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"style": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tag": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tagline": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"theme": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"top250": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"track": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"trailer": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"tvshowid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"type": {
|
|
"default": "unknown",
|
|
"enums": [
|
|
"unknown",
|
|
"movie",
|
|
"episode",
|
|
"musicvideo",
|
|
"song",
|
|
"picture",
|
|
"channel"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"uniqueid": {
|
|
"$ref": "Media.UniqueID"
|
|
},
|
|
"votes": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"watchedepisodes": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"writer": {
|
|
"$ref": "Array.String"
|
|
}
|
|
}
|
|
},
|
|
"List.Item.File": {
|
|
"extends": "List.Item.Base",
|
|
"id": "List.Item.File",
|
|
"properties": {
|
|
"file": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"filetype": {
|
|
"enums": [
|
|
"file",
|
|
"directory"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"lastmodified": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"mimetype": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"default": 0,
|
|
"description": "Size of the file in bytes",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"List.Items.Sources": {
|
|
"id": "List.Items.Sources",
|
|
"items": {
|
|
"extends": "Item.Details.Base",
|
|
"properties": {
|
|
"file": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"type": "array"
|
|
},
|
|
"List.Limits": {
|
|
"additionalProperties": false,
|
|
"id": "List.Limits",
|
|
"properties": {
|
|
"end": {
|
|
"$ref": "List.Amount",
|
|
"default": -1,
|
|
"description": "Index of the last item to return"
|
|
},
|
|
"start": {
|
|
"default": 0,
|
|
"description": "Index of the first item to return",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"List.LimitsReturned": {
|
|
"additionalProperties": false,
|
|
"id": "List.LimitsReturned",
|
|
"properties": {
|
|
"end": {
|
|
"$ref": "List.Amount",
|
|
"default": -1
|
|
},
|
|
"start": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"List.Sort": {
|
|
"id": "List.Sort",
|
|
"properties": {
|
|
"ignorearticle": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"method": {
|
|
"default": "none",
|
|
"enums": [
|
|
"none",
|
|
"label",
|
|
"date",
|
|
"size",
|
|
"file",
|
|
"path",
|
|
"drivetype",
|
|
"title",
|
|
"track",
|
|
"time",
|
|
"artist",
|
|
"album",
|
|
"albumtype",
|
|
"genre",
|
|
"country",
|
|
"year",
|
|
"rating",
|
|
"userrating",
|
|
"votes",
|
|
"top250",
|
|
"programcount",
|
|
"playlist",
|
|
"episode",
|
|
"season",
|
|
"totalepisodes",
|
|
"watchedepisodes",
|
|
"tvshowstatus",
|
|
"tvshowtitle",
|
|
"sorttitle",
|
|
"productioncode",
|
|
"mpaa",
|
|
"studio",
|
|
"dateadded",
|
|
"lastplayed",
|
|
"playcount",
|
|
"listeners",
|
|
"bitrate",
|
|
"random"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"default": "ascending",
|
|
"enums": [
|
|
"ascending",
|
|
"descending"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Media.Artwork": {
|
|
"additionalProperties": {
|
|
"$ref": "Global.String.NotEmpty",
|
|
"default": ""
|
|
},
|
|
"id": "Media.Artwork",
|
|
"properties": {
|
|
"banner": {
|
|
"$ref": "Global.String.NotEmpty",
|
|
"default": ""
|
|
},
|
|
"fanart": {
|
|
"$ref": "Global.String.NotEmpty",
|
|
"default": ""
|
|
},
|
|
"poster": {
|
|
"$ref": "Global.String.NotEmpty",
|
|
"default": ""
|
|
},
|
|
"thumb": {
|
|
"$ref": "Global.String.NotEmpty",
|
|
"default": ""
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Media.Artwork.Set": {
|
|
"additionalProperties": {
|
|
"default": null,
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Global.String.NotEmpty"
|
|
}
|
|
]
|
|
},
|
|
"id": "Media.Artwork.Set",
|
|
"properties": {
|
|
"banner": {
|
|
"default": "",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Global.String.NotEmpty"
|
|
}
|
|
]
|
|
},
|
|
"fanart": {
|
|
"default": "",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Global.String.NotEmpty"
|
|
}
|
|
]
|
|
},
|
|
"poster": {
|
|
"default": "",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Global.String.NotEmpty"
|
|
}
|
|
]
|
|
},
|
|
"thumb": {
|
|
"default": "",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Global.String.NotEmpty"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Media.Details.Base": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "Media.Details.Base",
|
|
"properties": {
|
|
"fanart": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Media.UniqueID": {
|
|
"additionalProperties": {
|
|
"$ref": "Global.String.NotEmpty",
|
|
"default": ""
|
|
},
|
|
"id": "Media.UniqueID",
|
|
"type": "object"
|
|
},
|
|
"Media.UniqueID.Set": {
|
|
"additionalProperties": {
|
|
"default": null,
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Global.String.NotEmpty"
|
|
}
|
|
]
|
|
},
|
|
"id": "Media.UniqueID.Set",
|
|
"type": "object"
|
|
},
|
|
"Notifications.Item": {
|
|
"id": "Notifications.Item",
|
|
"type": [
|
|
{
|
|
"description": "An unknown item does not have any additional information.",
|
|
"properties": {
|
|
"type": {
|
|
"$ref": "Notifications.Item.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"description": "An item known to the database has an identification.",
|
|
"properties": {
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"type": {
|
|
"$ref": "Notifications.Item.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"description": "A movie item has a title and may have a release year.",
|
|
"properties": {
|
|
"title": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"$ref": "Notifications.Item.Type",
|
|
"required": true
|
|
},
|
|
"year": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"description": "A tv episode has a title and may have an episode number, season number and the title of the show it belongs to.",
|
|
"properties": {
|
|
"episode": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"season": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"showtitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"$ref": "Notifications.Item.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"description": "A music video has a title and may have an album and an artist.",
|
|
"properties": {
|
|
"album": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"artist": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"$ref": "Notifications.Item.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"description": "A song has a title and may have an album, an artist and a track number.",
|
|
"properties": {
|
|
"album": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"artist": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"track": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"$ref": "Notifications.Item.Type",
|
|
"required": true
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"Notifications.Item.Type": {
|
|
"default": "unknown",
|
|
"enums": [
|
|
"unknown",
|
|
"movie",
|
|
"episode",
|
|
"musicvideo",
|
|
"song",
|
|
"picture",
|
|
"channel"
|
|
],
|
|
"id": "Notifications.Item.Type",
|
|
"type": "string"
|
|
},
|
|
"Optional.Boolean": {
|
|
"default": null,
|
|
"id": "Optional.Boolean",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
},
|
|
"Optional.Integer": {
|
|
"default": null,
|
|
"id": "Optional.Integer",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
}
|
|
]
|
|
},
|
|
"Optional.Number": {
|
|
"default": null,
|
|
"id": "Optional.Number",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
},
|
|
"Optional.String": {
|
|
"default": null,
|
|
"id": "Optional.String",
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"PVR.Channel.Type": {
|
|
"default": "tv",
|
|
"enums": [
|
|
"tv",
|
|
"radio"
|
|
],
|
|
"id": "PVR.Channel.Type",
|
|
"type": "string"
|
|
},
|
|
"PVR.ChannelGroup.Id": {
|
|
"default": null,
|
|
"id": "PVR.ChannelGroup.Id",
|
|
"type": [
|
|
{
|
|
"$ref": "Library.Id"
|
|
},
|
|
{
|
|
"enums": [
|
|
"alltv",
|
|
"allradio"
|
|
],
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"PVR.Details.Broadcast": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "PVR.Details.Broadcast",
|
|
"properties": {
|
|
"broadcastid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"cast": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"director": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"endtime": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"episodename": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"episodenum": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"episodepart": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"firstaired": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"genre": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"hasrecording": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"hastimer": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"hastimerrule": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"imdbnumber": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"isactive": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"isseries": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"originaltitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"parentalrating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"plot": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"plotoutline": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"progress": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"progresspercentage": {
|
|
"default": 0,
|
|
"type": "number"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"recording": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"runtime": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"starttime": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"wasactive": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"writer": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"year": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"PVR.Details.Channel": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "PVR.Details.Channel",
|
|
"properties": {
|
|
"broadcastnext": {
|
|
"$ref": "PVR.Details.Broadcast"
|
|
},
|
|
"broadcastnow": {
|
|
"$ref": "PVR.Details.Broadcast"
|
|
},
|
|
"channel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"channelid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"channelnumber": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"channeltype": {
|
|
"$ref": "PVR.Channel.Type",
|
|
"default": "tv"
|
|
},
|
|
"hidden": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"isrecording": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"lastplayed": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"locked": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"subchannelnumber": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"uniqueid": {
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"PVR.Details.ChannelGroup": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "PVR.Details.ChannelGroup",
|
|
"properties": {
|
|
"channelgroupid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"channeltype": {
|
|
"$ref": "PVR.Channel.Type",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"PVR.Details.ChannelGroup.Extended": {
|
|
"extends": "PVR.Details.ChannelGroup",
|
|
"id": "PVR.Details.ChannelGroup.Extended",
|
|
"properties": {
|
|
"channels": {
|
|
"items": {
|
|
"$ref": "PVR.Details.Channel"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"PVR.Details.Recording": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "PVR.Details.Recording",
|
|
"properties": {
|
|
"art": {
|
|
"$ref": "Media.Artwork"
|
|
},
|
|
"channel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"channeluid": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"directory": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"endtime": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"epgeventid": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"file": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"genre": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"isdeleted": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"lifetime": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"playcount": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"plot": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"plotoutline": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"radio": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"recordingid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"resume": {
|
|
"$ref": "Video.Resume"
|
|
},
|
|
"runtime": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"starttime": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"streamurl": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"PVR.Details.Timer": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "PVR.Details.Timer",
|
|
"properties": {
|
|
"channelid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"directory": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"endanytime": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"endmargin": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"endtime": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"epgsearchstring": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"epguid": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"file": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"firstday": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"fulltextepgsearch": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"ismanual": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"isradio": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"isreadonly": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"istimerrule": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"lifetime": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"maxrecordings": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"preventduplicateepisodes": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"priority": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"recordinggroup": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"runtime": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"startanytime": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"startmargin": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"starttime": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"$ref": "PVR.TimerState",
|
|
"default": "unknown"
|
|
},
|
|
"summary": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"timerid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"weekdays": {
|
|
"items": {
|
|
"$ref": "Global.Weekday"
|
|
},
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
},
|
|
"PVR.Fields.Broadcast": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "PVR.Fields.Broadcast",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"plot",
|
|
"plotoutline",
|
|
"starttime",
|
|
"endtime",
|
|
"runtime",
|
|
"progress",
|
|
"progresspercentage",
|
|
"genre",
|
|
"episodename",
|
|
"episodenum",
|
|
"episodepart",
|
|
"firstaired",
|
|
"hastimer",
|
|
"isactive",
|
|
"parentalrating",
|
|
"wasactive",
|
|
"thumbnail",
|
|
"rating",
|
|
"originaltitle",
|
|
"cast",
|
|
"director",
|
|
"writer",
|
|
"year",
|
|
"imdbnumber",
|
|
"hastimerrule",
|
|
"hasrecording",
|
|
"recording",
|
|
"isseries"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"PVR.Fields.Channel": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "PVR.Fields.Channel",
|
|
"items": {
|
|
"enums": [
|
|
"thumbnail",
|
|
"channeltype",
|
|
"hidden",
|
|
"locked",
|
|
"channel",
|
|
"lastplayed",
|
|
"broadcastnow",
|
|
"broadcastnext",
|
|
"uniqueid",
|
|
"icon",
|
|
"channelnumber",
|
|
"subchannelnumber",
|
|
"isrecording"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"PVR.Fields.Recording": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "PVR.Fields.Recording",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"plot",
|
|
"plotoutline",
|
|
"genre",
|
|
"playcount",
|
|
"resume",
|
|
"channel",
|
|
"starttime",
|
|
"endtime",
|
|
"runtime",
|
|
"lifetime",
|
|
"icon",
|
|
"art",
|
|
"streamurl",
|
|
"file",
|
|
"directory",
|
|
"radio",
|
|
"isdeleted",
|
|
"epgeventid",
|
|
"channeluid"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"PVR.Fields.Timer": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "PVR.Fields.Timer",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"summary",
|
|
"channelid",
|
|
"isradio",
|
|
"istimerrule",
|
|
"ismanual",
|
|
"starttime",
|
|
"endtime",
|
|
"runtime",
|
|
"lifetime",
|
|
"firstday",
|
|
"weekdays",
|
|
"priority",
|
|
"startmargin",
|
|
"endmargin",
|
|
"state",
|
|
"file",
|
|
"directory",
|
|
"preventduplicateepisodes",
|
|
"startanytime",
|
|
"endanytime",
|
|
"epgsearchstring",
|
|
"fulltextepgsearch",
|
|
"recordinggroup",
|
|
"maxrecordings",
|
|
"epguid",
|
|
"isreadonly"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"PVR.Property.Name": {
|
|
"default": "available",
|
|
"enums": [
|
|
"available",
|
|
"recording",
|
|
"scanning"
|
|
],
|
|
"id": "PVR.Property.Name",
|
|
"type": "string"
|
|
},
|
|
"PVR.Property.Value": {
|
|
"id": "PVR.Property.Value",
|
|
"properties": {
|
|
"available": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"recording": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"scanning": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"PVR.TimerState": {
|
|
"default": "unknown",
|
|
"enums": [
|
|
"unknown",
|
|
"new",
|
|
"scheduled",
|
|
"recording",
|
|
"completed",
|
|
"aborted",
|
|
"cancelled",
|
|
"conflict_ok",
|
|
"conflict_notok",
|
|
"error",
|
|
"disabled"
|
|
],
|
|
"id": "PVR.TimerState",
|
|
"type": "string"
|
|
},
|
|
"Player.Audio.Stream": {
|
|
"id": "Player.Audio.Stream",
|
|
"properties": {
|
|
"bitrate": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"channels": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"codec": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"index": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"language": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Player.Id": {
|
|
"default": -1,
|
|
"id": "Player.Id",
|
|
"maximum": 2,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"Player.Notifications.Data": {
|
|
"id": "Player.Notifications.Data",
|
|
"properties": {
|
|
"item": {
|
|
"$ref": "Notifications.Item",
|
|
"required": true
|
|
},
|
|
"player": {
|
|
"$ref": "Player.Notifications.Player",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Player.Notifications.Player": {
|
|
"id": "Player.Notifications.Player",
|
|
"properties": {
|
|
"playerid": {
|
|
"$ref": "Player.Id",
|
|
"required": true
|
|
},
|
|
"speed": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Player.Notifications.Player.Seek": {
|
|
"extends": "Player.Notifications.Player",
|
|
"id": "Player.Notifications.Player.Seek",
|
|
"properties": {
|
|
"seekoffset": {
|
|
"$ref": "Global.Time"
|
|
},
|
|
"time": {
|
|
"$ref": "Global.Time"
|
|
}
|
|
}
|
|
},
|
|
"Player.Position.Percentage": {
|
|
"default": 0,
|
|
"id": "Player.Position.Percentage",
|
|
"maximum": 100,
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"Player.Position.Time": {
|
|
"additionalProperties": false,
|
|
"id": "Player.Position.Time",
|
|
"properties": {
|
|
"hours": {
|
|
"default": 0,
|
|
"maximum": 23,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"milliseconds": {
|
|
"default": 0,
|
|
"maximum": 999,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"minutes": {
|
|
"default": 0,
|
|
"maximum": 59,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"seconds": {
|
|
"default": 0,
|
|
"maximum": 59,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Player.Property.Name": {
|
|
"default": "type",
|
|
"enums": [
|
|
"type",
|
|
"partymode",
|
|
"speed",
|
|
"time",
|
|
"percentage",
|
|
"totaltime",
|
|
"playlistid",
|
|
"position",
|
|
"repeat",
|
|
"shuffled",
|
|
"canseek",
|
|
"canchangespeed",
|
|
"canmove",
|
|
"canzoom",
|
|
"canrotate",
|
|
"canshuffle",
|
|
"canrepeat",
|
|
"currentaudiostream",
|
|
"audiostreams",
|
|
"subtitleenabled",
|
|
"currentsubtitle",
|
|
"subtitles",
|
|
"live",
|
|
"currentvideostream",
|
|
"videostreams"
|
|
],
|
|
"id": "Player.Property.Name",
|
|
"type": "string"
|
|
},
|
|
"Player.Property.Value": {
|
|
"id": "Player.Property.Value",
|
|
"properties": {
|
|
"audiostreams": {
|
|
"items": {
|
|
"$ref": "Player.Audio.Stream"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"canchangespeed": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"canmove": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"canrepeat": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"canrotate": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"canseek": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"canshuffle": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"canzoom": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"currentaudiostream": {
|
|
"$ref": "Player.Audio.Stream"
|
|
},
|
|
"currentsubtitle": {
|
|
"$ref": "Player.Subtitle"
|
|
},
|
|
"currentvideostream": {
|
|
"$ref": "Player.Video.Stream"
|
|
},
|
|
"live": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"partymode": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"percentage": {
|
|
"$ref": "Player.Position.Percentage",
|
|
"default": 0
|
|
},
|
|
"playlistid": {
|
|
"$ref": "Playlist.Id",
|
|
"default": -1
|
|
},
|
|
"position": {
|
|
"$ref": "Playlist.Position",
|
|
"default": -1
|
|
},
|
|
"repeat": {
|
|
"$ref": "Player.Repeat",
|
|
"default": "off"
|
|
},
|
|
"shuffled": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"speed": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"subtitleenabled": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"subtitles": {
|
|
"items": {
|
|
"$ref": "Player.Subtitle"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"time": {
|
|
"$ref": "Global.Time"
|
|
},
|
|
"totaltime": {
|
|
"$ref": "Global.Time"
|
|
},
|
|
"type": {
|
|
"$ref": "Player.Type",
|
|
"default": "video"
|
|
},
|
|
"videostreams": {
|
|
"items": {
|
|
"$ref": "Player.Video.Stream"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Player.Repeat": {
|
|
"default": "off",
|
|
"enums": [
|
|
"off",
|
|
"one",
|
|
"all"
|
|
],
|
|
"id": "Player.Repeat",
|
|
"type": "string"
|
|
},
|
|
"Player.Speed": {
|
|
"id": "Player.Speed",
|
|
"properties": {
|
|
"speed": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": true,
|
|
"type": "object"
|
|
},
|
|
"Player.Subtitle": {
|
|
"id": "Player.Subtitle",
|
|
"properties": {
|
|
"index": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"language": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Player.Type": {
|
|
"default": "video",
|
|
"enums": [
|
|
"video",
|
|
"audio",
|
|
"picture"
|
|
],
|
|
"id": "Player.Type",
|
|
"type": "string"
|
|
},
|
|
"Player.Video.Stream": {
|
|
"id": "Player.Video.Stream",
|
|
"properties": {
|
|
"codec": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"height": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"index": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"language": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Playlist.Id": {
|
|
"default": -1,
|
|
"id": "Playlist.Id",
|
|
"maximum": 2,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"Playlist.Item": {
|
|
"id": "Playlist.Item",
|
|
"type": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"file": {
|
|
"description": "Path to a file (not a directory) to be added to the playlist",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"directory": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"media": {
|
|
"$ref": "Files.Media",
|
|
"default": "files"
|
|
},
|
|
"recursive": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"movieid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"episodeid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"musicvideoid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"albumid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"songid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genreid": {
|
|
"$ref": "Library.Id",
|
|
"description": "Identification of a genre from the AudioLibrary",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
]
|
|
},
|
|
"Playlist.Position": {
|
|
"default": -1,
|
|
"id": "Playlist.Position",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"Playlist.Property.Name": {
|
|
"default": "type",
|
|
"enums": [
|
|
"type",
|
|
"size"
|
|
],
|
|
"id": "Playlist.Property.Name",
|
|
"type": "string"
|
|
},
|
|
"Playlist.Property.Value": {
|
|
"id": "Playlist.Property.Value",
|
|
"properties": {
|
|
"size": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"$ref": "Playlist.Type",
|
|
"default": "unknown"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Playlist.Type": {
|
|
"default": "unknown",
|
|
"enums": [
|
|
"unknown",
|
|
"video",
|
|
"audio",
|
|
"picture",
|
|
"mixed"
|
|
],
|
|
"id": "Playlist.Type",
|
|
"type": "string"
|
|
},
|
|
"Profiles.Details.Profile": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "Profiles.Details.Profile",
|
|
"properties": {
|
|
"lockmode": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Profiles.Fields.Profile": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Profiles.Fields.Profile",
|
|
"items": {
|
|
"enums": [
|
|
"thumbnail",
|
|
"lockmode"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Profiles.Password": {
|
|
"id": "Profiles.Password",
|
|
"properties": {
|
|
"encryption": {
|
|
"default": "md5",
|
|
"description": "Password Encryption",
|
|
"enums": [
|
|
"none",
|
|
"md5"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"description": "Password",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Setting.Details.Base": {
|
|
"id": "Setting.Details.Base",
|
|
"properties": {
|
|
"help": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Setting.Details.Category": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.Base",
|
|
"id": "Setting.Details.Category",
|
|
"properties": {
|
|
"groups": {
|
|
"items": {
|
|
"$ref": "Setting.Details.Group"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.Control": {
|
|
"id": "Setting.Details.Control",
|
|
"type": [
|
|
{
|
|
"$ref": "Setting.Details.ControlCheckmark"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.ControlSpinner"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.ControlEdit"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.ControlButton"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.ControlList"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.ControlSlider"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.ControlRange"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.ControlLabel"
|
|
}
|
|
]
|
|
},
|
|
"Setting.Details.ControlBase": {
|
|
"id": "Setting.Details.ControlBase",
|
|
"properties": {
|
|
"delayed": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"format": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Setting.Details.ControlButton": {
|
|
"extends": "Setting.Details.ControlHeading",
|
|
"id": "Setting.Details.ControlButton",
|
|
"properties": {
|
|
"type": {
|
|
"enums": [
|
|
"button"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.ControlCheckmark": {
|
|
"extends": "Setting.Details.ControlBase",
|
|
"id": "Setting.Details.ControlCheckmark",
|
|
"properties": {
|
|
"format": {
|
|
"enums": [
|
|
"boolean"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enums": [
|
|
"toggle"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.ControlEdit": {
|
|
"extends": "Setting.Details.ControlHeading",
|
|
"id": "Setting.Details.ControlEdit",
|
|
"properties": {
|
|
"hidden": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"type": {
|
|
"enums": [
|
|
"edit"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"verifynewvalue": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.ControlHeading": {
|
|
"extends": "Setting.Details.ControlBase",
|
|
"id": "Setting.Details.ControlHeading",
|
|
"properties": {
|
|
"heading": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.ControlLabel": {
|
|
"extends": "Setting.Details.ControlBase",
|
|
"id": "Setting.Details.ControlLabel",
|
|
"properties": {
|
|
"format": {
|
|
"enums": [
|
|
"string"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enums": [
|
|
"label"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.ControlList": {
|
|
"extends": "Setting.Details.ControlHeading",
|
|
"id": "Setting.Details.ControlList",
|
|
"properties": {
|
|
"multiselect": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"type": {
|
|
"enums": [
|
|
"list"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.ControlRange": {
|
|
"extends": "Setting.Details.ControlBase",
|
|
"id": "Setting.Details.ControlRange",
|
|
"properties": {
|
|
"formatlabel": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"formatvalue": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enums": [
|
|
"range"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.ControlSlider": {
|
|
"extends": "Setting.Details.ControlHeading",
|
|
"id": "Setting.Details.ControlSlider",
|
|
"properties": {
|
|
"formatlabel": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"popup": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"type": {
|
|
"enums": [
|
|
"slider"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.ControlSpinner": {
|
|
"extends": "Setting.Details.ControlBase",
|
|
"id": "Setting.Details.ControlSpinner",
|
|
"properties": {
|
|
"formatlabel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"minimumlabel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enums": [
|
|
"spinner"
|
|
],
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.Group": {
|
|
"additionalProperties": false,
|
|
"id": "Setting.Details.Group",
|
|
"properties": {
|
|
"id": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"settings": {
|
|
"items": {
|
|
"$ref": "Setting.Details.Setting"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Setting.Details.Section": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.Base",
|
|
"id": "Setting.Details.Section",
|
|
"properties": {
|
|
"categories": {
|
|
"items": {
|
|
"$ref": "Setting.Details.Category"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.Setting": {
|
|
"id": "Setting.Details.Setting",
|
|
"type": [
|
|
{
|
|
"$ref": "Setting.Details.SettingBool"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingInt"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingNumber"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingString"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingAction"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingList"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingPath"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingAddon"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingDate"
|
|
},
|
|
{
|
|
"$ref": "Setting.Details.SettingTime"
|
|
}
|
|
]
|
|
},
|
|
"Setting.Details.SettingAction": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingBase",
|
|
"id": "Setting.Details.SettingAction",
|
|
"properties": {
|
|
"data": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingAddon": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingString",
|
|
"id": "Setting.Details.SettingAddon",
|
|
"properties": {
|
|
"addontype": {
|
|
"$ref": "Addon.Types",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingBase": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.Base",
|
|
"id": "Setting.Details.SettingBase",
|
|
"properties": {
|
|
"control": {
|
|
"$ref": "Setting.Details.Control"
|
|
},
|
|
"enabled": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"level": {
|
|
"$ref": "Setting.Level",
|
|
"required": true
|
|
},
|
|
"parent": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"$ref": "Setting.Type",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingBool": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingBase",
|
|
"id": "Setting.Details.SettingBool",
|
|
"properties": {
|
|
"default": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingDate": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingString",
|
|
"id": "Setting.Details.SettingDate"
|
|
},
|
|
"Setting.Details.SettingInt": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingBase",
|
|
"id": "Setting.Details.SettingInt",
|
|
"properties": {
|
|
"default": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"maximum": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"minimum": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"options": {
|
|
"items": {
|
|
"properties": {
|
|
"label": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"step": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingList": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingBase",
|
|
"id": "Setting.Details.SettingList",
|
|
"properties": {
|
|
"default": {
|
|
"$ref": "Setting.Value.List",
|
|
"required": true
|
|
},
|
|
"definition": {
|
|
"$ref": "Setting.Details.Setting",
|
|
"required": true
|
|
},
|
|
"delimiter": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"elementtype": {
|
|
"$ref": "Setting.Type",
|
|
"required": true
|
|
},
|
|
"maximumitems": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"minimumitems": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"value": {
|
|
"$ref": "Setting.Value.List",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingNumber": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingBase",
|
|
"id": "Setting.Details.SettingNumber",
|
|
"properties": {
|
|
"default": {
|
|
"required": true,
|
|
"type": "number"
|
|
},
|
|
"maximum": {
|
|
"required": true,
|
|
"type": "number"
|
|
},
|
|
"minimum": {
|
|
"required": true,
|
|
"type": "number"
|
|
},
|
|
"step": {
|
|
"required": true,
|
|
"type": "number"
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingPath": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingString",
|
|
"id": "Setting.Details.SettingPath",
|
|
"properties": {
|
|
"sources": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"writable": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingString": {
|
|
"extends": "Setting.Details.SettingBase",
|
|
"id": "Setting.Details.SettingString",
|
|
"properties": {
|
|
"allowempty": {
|
|
"required": true,
|
|
"type": "boolean"
|
|
},
|
|
"default": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"options": {
|
|
"items": {
|
|
"properties": {
|
|
"label": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"value": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Setting.Details.SettingTime": {
|
|
"additionalProperties": false,
|
|
"extends": "Setting.Details.SettingString",
|
|
"id": "Setting.Details.SettingTime"
|
|
},
|
|
"Setting.Level": {
|
|
"default": "basic",
|
|
"enums": [
|
|
"basic",
|
|
"standard",
|
|
"advanced",
|
|
"expert"
|
|
],
|
|
"id": "Setting.Level",
|
|
"type": "string"
|
|
},
|
|
"Setting.Type": {
|
|
"default": "boolean",
|
|
"enums": [
|
|
"boolean",
|
|
"integer",
|
|
"number",
|
|
"string",
|
|
"action",
|
|
"list",
|
|
"path",
|
|
"addon",
|
|
"date",
|
|
"time"
|
|
],
|
|
"id": "Setting.Type",
|
|
"type": "string"
|
|
},
|
|
"Setting.Value": {
|
|
"default": null,
|
|
"id": "Setting.Value",
|
|
"type": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"Setting.Value.Extended": {
|
|
"default": null,
|
|
"id": "Setting.Value.Extended",
|
|
"type": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "Setting.Value.List"
|
|
}
|
|
]
|
|
},
|
|
"Setting.Value.List": {
|
|
"id": "Setting.Value.List",
|
|
"items": {
|
|
"$ref": "Setting.Value"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"System.Property.Name": {
|
|
"default": "canshutdown",
|
|
"enums": [
|
|
"canshutdown",
|
|
"cansuspend",
|
|
"canhibernate",
|
|
"canreboot"
|
|
],
|
|
"id": "System.Property.Name",
|
|
"type": "string"
|
|
},
|
|
"System.Property.Value": {
|
|
"id": "System.Property.Value",
|
|
"properties": {
|
|
"canhibernate": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"canreboot": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"canshutdown": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"cansuspend": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Textures.Details.Size": {
|
|
"id": "Textures.Details.Size",
|
|
"properties": {
|
|
"height": {
|
|
"default": 0,
|
|
"description": "Height of texture",
|
|
"type": "integer"
|
|
},
|
|
"lastused": {
|
|
"default": "",
|
|
"description": "Date of last use",
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"default": 0,
|
|
"description": "Size of the texture (1 == largest)",
|
|
"type": "integer"
|
|
},
|
|
"usecount": {
|
|
"default": 0,
|
|
"description": "Number of uses",
|
|
"type": "integer"
|
|
},
|
|
"width": {
|
|
"default": 0,
|
|
"description": "Width of texture",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Textures.Details.Texture": {
|
|
"id": "Textures.Details.Texture",
|
|
"properties": {
|
|
"cachedurl": {
|
|
"default": "",
|
|
"description": "Cached URL on disk",
|
|
"type": "string"
|
|
},
|
|
"imagehash": {
|
|
"default": "",
|
|
"description": "Hash of image",
|
|
"type": "string"
|
|
},
|
|
"lasthashcheck": {
|
|
"default": "",
|
|
"description": "Last time source was checked for changes",
|
|
"type": "string"
|
|
},
|
|
"sizes": {
|
|
"items": {
|
|
"$ref": "Textures.Details.Size"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"textureid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"url": {
|
|
"default": "",
|
|
"description": "Original source URL",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Textures.Fields.Texture": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Textures.Fields.Texture",
|
|
"items": {
|
|
"enums": [
|
|
"url",
|
|
"cachedurl",
|
|
"lasthashcheck",
|
|
"imagehash",
|
|
"sizes"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Cast": {
|
|
"id": "Video.Cast",
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"role": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"Video.Details.Base": {
|
|
"extends": "Media.Details.Base",
|
|
"id": "Video.Details.Base",
|
|
"properties": {
|
|
"art": {
|
|
"$ref": "Media.Artwork"
|
|
},
|
|
"playcount": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.Episode": {
|
|
"extends": "Video.Details.File",
|
|
"id": "Video.Details.Episode",
|
|
"properties": {
|
|
"cast": {
|
|
"$ref": "Video.Cast"
|
|
},
|
|
"episode": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"episodeid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"firstaired": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"originaltitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"productioncode": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "number"
|
|
},
|
|
"ratings": {
|
|
"default": null,
|
|
"type": "any"
|
|
},
|
|
"season": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"seasonid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"showtitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"specialsortepisode": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"specialsortseason": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"tvshowid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"uniqueid": {
|
|
"$ref": "Media.UniqueID"
|
|
},
|
|
"userrating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"votes": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"writer": {
|
|
"$ref": "Array.String"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.File": {
|
|
"extends": "Video.Details.Item",
|
|
"id": "Video.Details.File",
|
|
"properties": {
|
|
"director": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"resume": {
|
|
"$ref": "Video.Resume"
|
|
},
|
|
"runtime": {
|
|
"default": 0,
|
|
"description": "Runtime in seconds",
|
|
"type": "integer"
|
|
},
|
|
"streamdetails": {
|
|
"$ref": "Video.Streams"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.Item": {
|
|
"extends": "Video.Details.Media",
|
|
"id": "Video.Details.Item",
|
|
"properties": {
|
|
"dateadded": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"file": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"lastplayed": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"plot": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.Media": {
|
|
"extends": "Video.Details.Base",
|
|
"id": "Video.Details.Media",
|
|
"properties": {
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.Movie": {
|
|
"extends": "Video.Details.File",
|
|
"id": "Video.Details.Movie",
|
|
"properties": {
|
|
"cast": {
|
|
"$ref": "Video.Cast"
|
|
},
|
|
"country": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"genre": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"imdbnumber": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"movieid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"mpaa": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"originaltitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"plotoutline": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"premiered": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "number"
|
|
},
|
|
"ratings": {
|
|
"default": null,
|
|
"type": "any"
|
|
},
|
|
"set": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"setid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"showlink": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"sorttitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"studio": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tag": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tagline": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"top250": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"trailer": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"uniqueid": {
|
|
"$ref": "Media.UniqueID"
|
|
},
|
|
"userrating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"votes": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"writer": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"year": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.MovieSet": {
|
|
"extends": "Video.Details.Media",
|
|
"id": "Video.Details.MovieSet",
|
|
"properties": {
|
|
"plot": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"setid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.MovieSet.Extended": {
|
|
"extends": "Video.Details.MovieSet",
|
|
"id": "Video.Details.MovieSet.Extended",
|
|
"properties": {
|
|
"limits": {
|
|
"$ref": "List.LimitsReturned",
|
|
"required": true
|
|
},
|
|
"movies": {
|
|
"items": {
|
|
"$ref": "Video.Details.Movie"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.MusicVideo": {
|
|
"extends": "Video.Details.File",
|
|
"id": "Video.Details.MusicVideo",
|
|
"properties": {
|
|
"album": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"artist": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"genre": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"musicvideoid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"premiered": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "number"
|
|
},
|
|
"studio": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tag": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"track": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"userrating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"year": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.Season": {
|
|
"extends": "Video.Details.Base",
|
|
"id": "Video.Details.Season",
|
|
"properties": {
|
|
"episode": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"season": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"seasonid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"showtitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"tvshowid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"userrating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"watchedepisodes": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Video.Details.TVShow": {
|
|
"extends": "Video.Details.Item",
|
|
"id": "Video.Details.TVShow",
|
|
"properties": {
|
|
"cast": {
|
|
"$ref": "Video.Cast"
|
|
},
|
|
"episode": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"episodeguide": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"genre": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"imdbnumber": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"mpaa": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"originaltitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"premiered": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "number"
|
|
},
|
|
"ratings": {
|
|
"default": null,
|
|
"type": "any"
|
|
},
|
|
"runtime": {
|
|
"default": 0,
|
|
"description": "Runtime in seconds",
|
|
"type": "integer"
|
|
},
|
|
"season": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"sorttitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"studio": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tag": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tvshowid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"uniqueid": {
|
|
"$ref": "Media.UniqueID"
|
|
},
|
|
"userrating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"votes": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"watchedepisodes": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"year": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Video.Fields.Episode": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.Episode",
|
|
"items": {
|
|
"description": "Requesting the cast, ratings, streamdetails, uniqueid and/or tag field will result in increased response times",
|
|
"enums": [
|
|
"title",
|
|
"plot",
|
|
"votes",
|
|
"rating",
|
|
"writer",
|
|
"firstaired",
|
|
"playcount",
|
|
"runtime",
|
|
"director",
|
|
"productioncode",
|
|
"season",
|
|
"episode",
|
|
"originaltitle",
|
|
"showtitle",
|
|
"cast",
|
|
"streamdetails",
|
|
"lastplayed",
|
|
"fanart",
|
|
"thumbnail",
|
|
"file",
|
|
"resume",
|
|
"tvshowid",
|
|
"dateadded",
|
|
"uniqueid",
|
|
"art",
|
|
"specialsortseason",
|
|
"specialsortepisode",
|
|
"userrating",
|
|
"seasonid",
|
|
"ratings"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.Movie": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.Movie",
|
|
"items": {
|
|
"description": "Requesting the cast, ratings, showlink, streamdetails, uniqueid and/or tag field will result in increased response times",
|
|
"enums": [
|
|
"title",
|
|
"genre",
|
|
"year",
|
|
"rating",
|
|
"director",
|
|
"trailer",
|
|
"tagline",
|
|
"plot",
|
|
"plotoutline",
|
|
"originaltitle",
|
|
"lastplayed",
|
|
"playcount",
|
|
"writer",
|
|
"studio",
|
|
"mpaa",
|
|
"cast",
|
|
"country",
|
|
"imdbnumber",
|
|
"runtime",
|
|
"set",
|
|
"showlink",
|
|
"streamdetails",
|
|
"top250",
|
|
"votes",
|
|
"fanart",
|
|
"thumbnail",
|
|
"file",
|
|
"sorttitle",
|
|
"resume",
|
|
"setid",
|
|
"dateadded",
|
|
"tag",
|
|
"art",
|
|
"userrating",
|
|
"ratings",
|
|
"premiered",
|
|
"uniqueid"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.MovieSet": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.MovieSet",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"playcount",
|
|
"fanart",
|
|
"thumbnail",
|
|
"art",
|
|
"plot"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.MusicVideo": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.MusicVideo",
|
|
"items": {
|
|
"description": "Requesting the streamdetails and/or tag field will result in increased response times",
|
|
"enums": [
|
|
"title",
|
|
"playcount",
|
|
"runtime",
|
|
"director",
|
|
"studio",
|
|
"year",
|
|
"plot",
|
|
"album",
|
|
"artist",
|
|
"genre",
|
|
"track",
|
|
"streamdetails",
|
|
"lastplayed",
|
|
"fanart",
|
|
"thumbnail",
|
|
"file",
|
|
"resume",
|
|
"dateadded",
|
|
"tag",
|
|
"art",
|
|
"rating",
|
|
"userrating",
|
|
"premiered"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.Season": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.Season",
|
|
"items": {
|
|
"enums": [
|
|
"season",
|
|
"showtitle",
|
|
"playcount",
|
|
"episode",
|
|
"fanart",
|
|
"thumbnail",
|
|
"tvshowid",
|
|
"watchedepisodes",
|
|
"art",
|
|
"userrating"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.TVShow": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.TVShow",
|
|
"items": {
|
|
"description": "Requesting the cast, ratings, uniqueid and/or tag field will result in increased response times",
|
|
"enums": [
|
|
"title",
|
|
"genre",
|
|
"year",
|
|
"rating",
|
|
"plot",
|
|
"studio",
|
|
"mpaa",
|
|
"cast",
|
|
"playcount",
|
|
"episode",
|
|
"imdbnumber",
|
|
"premiered",
|
|
"votes",
|
|
"lastplayed",
|
|
"fanart",
|
|
"thumbnail",
|
|
"file",
|
|
"originaltitle",
|
|
"sorttitle",
|
|
"episodeguide",
|
|
"season",
|
|
"watchedepisodes",
|
|
"dateadded",
|
|
"tag",
|
|
"art",
|
|
"userrating",
|
|
"ratings",
|
|
"runtime",
|
|
"uniqueid"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Rating": {
|
|
"id": "Video.Rating",
|
|
"properties": {
|
|
"default": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"rating": {
|
|
"required": true,
|
|
"type": "number"
|
|
},
|
|
"votes": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Video.Ratings": {
|
|
"additionalProperties": {
|
|
"$ref": "Video.Rating"
|
|
},
|
|
"id": "Video.Ratings",
|
|
"type": "object"
|
|
},
|
|
"Video.Ratings.Set": {
|
|
"additionalProperties": {
|
|
"default": null,
|
|
"type": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "Video.Rating"
|
|
}
|
|
]
|
|
},
|
|
"id": "Video.Ratings.Set",
|
|
"type": "object"
|
|
},
|
|
"Video.Resume": {
|
|
"additionalProperties": false,
|
|
"id": "Video.Resume",
|
|
"properties": {
|
|
"position": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"total": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Video.Streams": {
|
|
"additionalProperties": false,
|
|
"id": "Video.Streams",
|
|
"properties": {
|
|
"audio": {
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"channels": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"codec": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array"
|
|
},
|
|
"subtitle": {
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"language": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array"
|
|
},
|
|
"video": {
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"aspect": {
|
|
"default": 0,
|
|
"type": "number"
|
|
},
|
|
"codec": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"height": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"width": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"version": "9.1.1"
|
|
}
|
|
} |