8560 lines
162 KiB
JSON
8560 lines
162 KiB
JSON
{
|
|
"id": "1",
|
|
"jsonrpc": "2.0",
|
|
"result": {
|
|
"description": "JSON-RPC API of XBMC",
|
|
"id": "http://www.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": null,
|
|
"name": "params",
|
|
"type": [
|
|
{
|
|
"additionalProperties": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
],
|
|
"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": [],
|
|
"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 or 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",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Albums"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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",
|
|
"params": [
|
|
{
|
|
"$ref": "Optional.Boolean",
|
|
"default": null,
|
|
"description": "Whether or not to include artists only appearing in compilations. 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",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"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"
|
|
},
|
|
{
|
|
"$ref": "List.Filter.Artists"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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.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.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",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"genre": {
|
|
"minLength": 1,
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artistid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"artist": {
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
],
|
|
"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.Integer",
|
|
"default": null,
|
|
"name": "rating"
|
|
},
|
|
{
|
|
"$ref": "Optional.Integer",
|
|
"default": null,
|
|
"name": "year"
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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": "albumartist",
|
|
"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.Integer",
|
|
"default": null,
|
|
"name": "rating"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "album"
|
|
},
|
|
{
|
|
"$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.String",
|
|
"default": null,
|
|
"name": "musicbrainzalbumid"
|
|
},
|
|
{
|
|
"$ref": "Optional.String",
|
|
"default": null,
|
|
"name": "musicbrainzalbumartistid"
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
}
|
|
],
|
|
"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"
|
|
},
|
|
"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.SetFullscreen": {
|
|
"description": "Toggle fullscreen/GUI",
|
|
"params": [
|
|
{
|
|
"$ref": "Global.Toggle",
|
|
"name": "fullscreen",
|
|
"required": true
|
|
}
|
|
],
|
|
"returns": {
|
|
"description": "Fullscreen state",
|
|
"type": "boolean"
|
|
},
|
|
"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.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": {
|
|
"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"
|
|
}
|
|
},
|
|
"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.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"
|
|
},
|
|
"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.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,
|
|
"name": "options",
|
|
"properties": {
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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.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
|
|
},
|
|
{
|
|
"$ref": "Playlist.Item",
|
|
"name": "item",
|
|
"required": true
|
|
}
|
|
],
|
|
"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
|
|
},
|
|
{
|
|
"$ref": "Playlist.Item",
|
|
"name": "item",
|
|
"required": true
|
|
}
|
|
],
|
|
"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"
|
|
},
|
|
"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 XBMC into hibernate mode",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.Reboot": {
|
|
"description": "Reboots the system running XBMC",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.Shutdown": {
|
|
"description": "Shuts the system running XBMC down",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"System.Suspend": {
|
|
"description": "Suspends the system running XBMC",
|
|
"params": [],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"VideoLibrary.Clean": {
|
|
"description": "Cleans the video library from non-existent items",
|
|
"params": [],
|
|
"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.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.GetSeasons": {
|
|
"description": "Retrieve all tv seasons",
|
|
"params": [
|
|
{
|
|
"$ref": "Library.Id",
|
|
"name": "tvshowid",
|
|
"required": true
|
|
},
|
|
{
|
|
"$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.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"
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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,
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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,
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"returns": {
|
|
"type": "string"
|
|
},
|
|
"type": "method"
|
|
},
|
|
"XBMC.GetInfoBooleans": {
|
|
"description": "Retrieve info booleans about XBMC 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 XBMC and the system",
|
|
"params": [
|
|
{
|
|
"description": "See http://wiki.xbmc.org/index.php?title=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.OnRemove": {
|
|
"description": "An audio item has been removed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"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": {
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"song"
|
|
],
|
|
"id": "Notifications.Library.Audio.Type",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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": "XBMC will be closed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "null"
|
|
}
|
|
],
|
|
"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.OnRemove": {
|
|
"description": "A video item has been removed.",
|
|
"params": [
|
|
{
|
|
"name": "sender",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"properties": {
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"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": {
|
|
"id": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"playcount": {
|
|
"default": -1,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Addon.Types": {
|
|
"default": "unknown",
|
|
"enums": [
|
|
"unknown",
|
|
"xbmc.metadata.scraper.albums",
|
|
"xbmc.metadata.scraper.artists",
|
|
"xbmc.metadata.scraper.movies",
|
|
"xbmc.metadata.scraper.musicvideos",
|
|
"xbmc.metadata.scraper.tvshows",
|
|
"xbmc.ui.screensaver",
|
|
"xbmc.player.musicviz",
|
|
"xbmc.python.pluginsource",
|
|
"xbmc.python.script",
|
|
"xbmc.python.weather",
|
|
"xbmc.python.subtitles",
|
|
"xbmc.python.lyrics",
|
|
"xbmc.gui.skin",
|
|
"xbmc.gui.webinterface",
|
|
"xbmc.pvrclient",
|
|
"xbmc.addon.video",
|
|
"xbmc.addon.audio",
|
|
"xbmc.addon.image",
|
|
"xbmc.addon.executable",
|
|
"xbmc.service"
|
|
],
|
|
"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"
|
|
}
|
|
},
|
|
"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.Details.Album": {
|
|
"extends": "Audio.Details.Media",
|
|
"id": "Audio.Details.Album",
|
|
"properties": {
|
|
"albumid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"albumlabel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"mood": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"playcount": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"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"
|
|
},
|
|
"description": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"died": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"disbanded": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"formed": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"instrument": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"mood": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"musicbrainzartistid": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"style": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"yearsactive": {
|
|
"$ref": "Array.String"
|
|
}
|
|
}
|
|
},
|
|
"Audio.Details.Base": {
|
|
"extends": "Media.Details.Base",
|
|
"id": "Audio.Details.Base",
|
|
"properties": {
|
|
"genre": {
|
|
"$ref": "Array.String"
|
|
}
|
|
}
|
|
},
|
|
"Audio.Details.Media": {
|
|
"extends": "Audio.Details.Base",
|
|
"id": "Audio.Details.Media",
|
|
"properties": {
|
|
"artist": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"artistid": {
|
|
"$ref": "Array.Integer"
|
|
},
|
|
"displayartist": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"genreid": {
|
|
"$ref": "Array.Integer"
|
|
},
|
|
"musicbrainzalbumartistid": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"musicbrainzalbumid": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"title": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"year": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
},
|
|
"comment": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"disc": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"duration": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"file": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"lastplayed": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"lyrics": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"musicbrainzartistid": {
|
|
"default": "",
|
|
"type": "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 genreid and/or artistid field will result in increased response times",
|
|
"enums": [
|
|
"title",
|
|
"description",
|
|
"artist",
|
|
"genre",
|
|
"theme",
|
|
"mood",
|
|
"style",
|
|
"type",
|
|
"albumlabel",
|
|
"rating",
|
|
"year",
|
|
"musicbrainzalbumid",
|
|
"musicbrainzalbumartistid",
|
|
"fanart",
|
|
"thumbnail",
|
|
"playcount",
|
|
"genreid",
|
|
"artistid",
|
|
"displayartist"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Audio.Fields.Artist": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Audio.Fields.Artist",
|
|
"items": {
|
|
"enums": [
|
|
"instrument",
|
|
"style",
|
|
"mood",
|
|
"born",
|
|
"formed",
|
|
"description",
|
|
"genre",
|
|
"died",
|
|
"disbanded",
|
|
"yearsactive",
|
|
"musicbrainzartistid",
|
|
"fanart",
|
|
"thumbnail"
|
|
],
|
|
"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"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
],
|
|
"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"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"GUI.Window": {
|
|
"default": "home",
|
|
"enums": [
|
|
"home",
|
|
"programs",
|
|
"pictures",
|
|
"filemanager",
|
|
"files",
|
|
"settings",
|
|
"music",
|
|
"video",
|
|
"videos",
|
|
"tv",
|
|
"pvr",
|
|
"pvrguideinfo",
|
|
"pvrrecordinginfo",
|
|
"pvrtimersetting",
|
|
"pvrgroupmanager",
|
|
"pvrchannelmanager",
|
|
"pvrguidesearch",
|
|
"pvrchannelscan",
|
|
"pvrupdateprogress",
|
|
"pvrosdchannels",
|
|
"pvrosdguide",
|
|
"pvrosddirector",
|
|
"pvrosdcutter",
|
|
"pvrosdteletext",
|
|
"systeminfo",
|
|
"testpattern",
|
|
"screencalibration",
|
|
"guicalibration",
|
|
"picturessettings",
|
|
"programssettings",
|
|
"weathersettings",
|
|
"musicsettings",
|
|
"systemsettings",
|
|
"videossettings",
|
|
"networksettings",
|
|
"servicesettings",
|
|
"appearancesettings",
|
|
"pvrsettings",
|
|
"tvsettings",
|
|
"scripts",
|
|
"videofiles",
|
|
"videolibrary",
|
|
"videoplaylist",
|
|
"loginscreen",
|
|
"profiles",
|
|
"skinsettings",
|
|
"addonbrowser",
|
|
"yesnodialog",
|
|
"progressdialog",
|
|
"virtualkeyboard",
|
|
"volumebar",
|
|
"submenu",
|
|
"favourites",
|
|
"contextmenu",
|
|
"infodialog",
|
|
"numericinput",
|
|
"gamepadinput",
|
|
"shutdownmenu",
|
|
"mutebug",
|
|
"playercontrols",
|
|
"seekbar",
|
|
"musicosd",
|
|
"addonsettings",
|
|
"visualisationsettings",
|
|
"visualisationpresetlist",
|
|
"osdvideosettings",
|
|
"osdaudiosettings",
|
|
"videobookmarks",
|
|
"filebrowser",
|
|
"networksetup",
|
|
"mediasource",
|
|
"profilesettings",
|
|
"locksettings",
|
|
"contentsettings",
|
|
"songinformation",
|
|
"smartplaylisteditor",
|
|
"smartplaylistrule",
|
|
"busydialog",
|
|
"pictureinfo",
|
|
"accesspoints",
|
|
"fullscreeninfo",
|
|
"karaokeselector",
|
|
"karaokelargeselector",
|
|
"sliderdialog",
|
|
"addoninformation",
|
|
"musicplaylist",
|
|
"musicfiles",
|
|
"musiclibrary",
|
|
"musicplaylisteditor",
|
|
"teletext",
|
|
"selectdialog",
|
|
"musicinformation",
|
|
"okdialog",
|
|
"movieinformation",
|
|
"textviewer",
|
|
"fullscreenvideo",
|
|
"fullscreenlivetv",
|
|
"visualisation",
|
|
"slideshow",
|
|
"filestackingdialog",
|
|
"karaoke",
|
|
"weather",
|
|
"screensaver",
|
|
"videoosd",
|
|
"videomenu",
|
|
"videotimeseek",
|
|
"musicoverlay",
|
|
"videooverlay",
|
|
"startwindow",
|
|
"startup",
|
|
"peripherals",
|
|
"peripheralsettings",
|
|
"extendedprogressdialog",
|
|
"mediafilter"
|
|
],
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"Input.Action": {
|
|
"default": "left",
|
|
"enums": [
|
|
"left",
|
|
"right",
|
|
"up",
|
|
"down",
|
|
"pageup",
|
|
"pagedown",
|
|
"select",
|
|
"highlight",
|
|
"parentdir",
|
|
"parentfolder",
|
|
"back",
|
|
"previousmenu",
|
|
"info",
|
|
"pause",
|
|
"stop",
|
|
"skipnext",
|
|
"skipprevious",
|
|
"fullscreen",
|
|
"aspectratio",
|
|
"stepforward",
|
|
"stepback",
|
|
"bigstepforward",
|
|
"bigstepback",
|
|
"osd",
|
|
"showsubtitles",
|
|
"nextsubtitle",
|
|
"codecinfo",
|
|
"nextpicture",
|
|
"previouspicture",
|
|
"zoomout",
|
|
"zoomin",
|
|
"playlist",
|
|
"queue",
|
|
"zoomnormal",
|
|
"zoomlevel1",
|
|
"zoomlevel2",
|
|
"zoomlevel3",
|
|
"zoomlevel4",
|
|
"zoomlevel5",
|
|
"zoomlevel6",
|
|
"zoomlevel7",
|
|
"zoomlevel8",
|
|
"zoomlevel9",
|
|
"nextcalibration",
|
|
"resetcalibration",
|
|
"analogmove",
|
|
"rotate",
|
|
"rotateccw",
|
|
"close",
|
|
"subtitledelayminus",
|
|
"subtitledelay",
|
|
"subtitledelayplus",
|
|
"audiodelayminus",
|
|
"audiodelay",
|
|
"audiodelayplus",
|
|
"subtitleshiftup",
|
|
"subtitleshiftdown",
|
|
"subtitlealign",
|
|
"audionextlanguage",
|
|
"verticalshiftup",
|
|
"verticalshiftdown",
|
|
"nextresolution",
|
|
"audiotoggledigital",
|
|
"number0",
|
|
"number1",
|
|
"number2",
|
|
"number3",
|
|
"number4",
|
|
"number5",
|
|
"number6",
|
|
"number7",
|
|
"number8",
|
|
"number9",
|
|
"osdleft",
|
|
"osdright",
|
|
"osdup",
|
|
"osddown",
|
|
"osdselect",
|
|
"osdvalueplus",
|
|
"osdvalueminus",
|
|
"smallstepback",
|
|
"fastforward",
|
|
"rewind",
|
|
"play",
|
|
"playpause",
|
|
"delete",
|
|
"copy",
|
|
"move",
|
|
"mplayerosd",
|
|
"hidesubmenu",
|
|
"screenshot",
|
|
"rename",
|
|
"togglewatched",
|
|
"scanitem",
|
|
"reloadkeymaps",
|
|
"volumeup",
|
|
"volumedown",
|
|
"mute",
|
|
"backspace",
|
|
"scrollup",
|
|
"scrolldown",
|
|
"analogfastforward",
|
|
"analogrewind",
|
|
"moveitemup",
|
|
"moveitemdown",
|
|
"contextmenu",
|
|
"shift",
|
|
"symbols",
|
|
"cursorleft",
|
|
"cursorright",
|
|
"showtime",
|
|
"analogseekforward",
|
|
"analogseekback",
|
|
"showpreset",
|
|
"presetlist",
|
|
"nextpreset",
|
|
"previouspreset",
|
|
"lockpreset",
|
|
"randompreset",
|
|
"increasevisrating",
|
|
"decreasevisrating",
|
|
"showvideomenu",
|
|
"enter",
|
|
"increaserating",
|
|
"decreaserating",
|
|
"togglefullscreen",
|
|
"nextscene",
|
|
"previousscene",
|
|
"nextletter",
|
|
"prevletter",
|
|
"jumpsms2",
|
|
"jumpsms3",
|
|
"jumpsms4",
|
|
"jumpsms5",
|
|
"jumpsms6",
|
|
"jumpsms7",
|
|
"jumpsms8",
|
|
"jumpsms9",
|
|
"filter",
|
|
"filterclear",
|
|
"filtersms2",
|
|
"filtersms3",
|
|
"filtersms4",
|
|
"filtersms5",
|
|
"filtersms6",
|
|
"filtersms7",
|
|
"filtersms8",
|
|
"filtersms9",
|
|
"firstpage",
|
|
"lastpage",
|
|
"guiprofile",
|
|
"red",
|
|
"green",
|
|
"yellow",
|
|
"blue",
|
|
"increasepar",
|
|
"decreasepar",
|
|
"volampup",
|
|
"volampdown",
|
|
"channelup",
|
|
"channeldown",
|
|
"previouschannelgroup",
|
|
"nextchannelgroup",
|
|
"leftclick",
|
|
"rightclick",
|
|
"middleclick",
|
|
"doubleclick",
|
|
"wheelup",
|
|
"wheeldown",
|
|
"mousedrag",
|
|
"mousemove",
|
|
"noop"
|
|
],
|
|
"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.Fields.Genre": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Library.Fields.Genre",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"thumbnail"
|
|
],
|
|
"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"
|
|
],
|
|
"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"
|
|
],
|
|
"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",
|
|
"type",
|
|
"label",
|
|
"rating",
|
|
"playcount",
|
|
"playlist"
|
|
],
|
|
"id": "List.Filter.Fields.Albums",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.Artists": {
|
|
"default": "artist",
|
|
"enums": [
|
|
"artist",
|
|
"genre",
|
|
"moods",
|
|
"styles",
|
|
"instruments",
|
|
"biography",
|
|
"born",
|
|
"bandformed",
|
|
"disbanded",
|
|
"died",
|
|
"playlist"
|
|
],
|
|
"id": "List.Filter.Fields.Artists",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.Episodes": {
|
|
"default": "title",
|
|
"enums": [
|
|
"title",
|
|
"tvshow",
|
|
"plot",
|
|
"votes",
|
|
"rating",
|
|
"time",
|
|
"writers",
|
|
"airdate",
|
|
"playcount",
|
|
"lastplayed",
|
|
"inprogress",
|
|
"genre",
|
|
"year",
|
|
"director",
|
|
"actor",
|
|
"episode",
|
|
"season",
|
|
"filename",
|
|
"path",
|
|
"studio",
|
|
"mpaarating",
|
|
"dateadded",
|
|
"videoresolution",
|
|
"audiochannels",
|
|
"videocodec",
|
|
"audiocodec",
|
|
"audiolanguage",
|
|
"subtitlelanguage",
|
|
"videoaspect",
|
|
"playlist"
|
|
],
|
|
"id": "List.Filter.Fields.Episodes",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.Movies": {
|
|
"default": "title",
|
|
"enums": [
|
|
"title",
|
|
"plot",
|
|
"plotoutline",
|
|
"tagline",
|
|
"votes",
|
|
"rating",
|
|
"time",
|
|
"writers",
|
|
"playcount",
|
|
"lastplayed",
|
|
"inprogress",
|
|
"genre",
|
|
"country",
|
|
"year",
|
|
"director",
|
|
"actor",
|
|
"mpaarating",
|
|
"top250",
|
|
"studio",
|
|
"hastrailer",
|
|
"filename",
|
|
"path",
|
|
"set",
|
|
"tag",
|
|
"dateadded",
|
|
"videoresolution",
|
|
"audiochannels",
|
|
"videocodec",
|
|
"audiocodec",
|
|
"audiolanguage",
|
|
"subtitlelanguage",
|
|
"videoaspect",
|
|
"playlist"
|
|
],
|
|
"id": "List.Filter.Fields.Movies",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.MusicVideos": {
|
|
"default": "title",
|
|
"enums": [
|
|
"title",
|
|
"genre",
|
|
"album",
|
|
"year",
|
|
"artist",
|
|
"filename",
|
|
"path",
|
|
"playcount",
|
|
"lastplayed",
|
|
"time",
|
|
"director",
|
|
"studio",
|
|
"plot",
|
|
"dateadded",
|
|
"videoresolution",
|
|
"audiochannels",
|
|
"videocodec",
|
|
"audiocodec",
|
|
"audiolanguage",
|
|
"subtitlelanguage",
|
|
"videoaspect",
|
|
"playlist"
|
|
],
|
|
"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",
|
|
"comment",
|
|
"dateadded",
|
|
"playlist"
|
|
],
|
|
"id": "List.Filter.Fields.Songs",
|
|
"type": "string"
|
|
},
|
|
"List.Filter.Fields.TVShows": {
|
|
"enums": [
|
|
"title",
|
|
"plot",
|
|
"status",
|
|
"votes",
|
|
"rating",
|
|
"year",
|
|
"genre",
|
|
"director",
|
|
"actor",
|
|
"numepisodes",
|
|
"numwatched",
|
|
"playcount",
|
|
"path",
|
|
"studio",
|
|
"mpaarating",
|
|
"dateadded",
|
|
"lastplayed",
|
|
"inprogress",
|
|
"playlist"
|
|
],
|
|
"id": "List.Filter.Fields.TVShows",
|
|
"required": true,
|
|
"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.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.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"
|
|
},
|
|
"cast": {
|
|
"$ref": "Video.Cast"
|
|
},
|
|
"comment": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"description": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"disc": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"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": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"musicbrainztrackid": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"originaltitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"plotoutline": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"premiered": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"productioncode": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"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": {
|
|
"additionalProperties": {
|
|
"default": "",
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"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 kB (1000 Byte)",
|
|
"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",
|
|
"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.Details.Base": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "Media.Details.Base",
|
|
"properties": {
|
|
"fanart": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"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.Channel": {
|
|
"extends": "Item.Details.Base",
|
|
"id": "PVR.Details.Channel",
|
|
"properties": {
|
|
"channel": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"channelid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"channeltype": {
|
|
"$ref": "PVR.Channel.Type",
|
|
"default": "tv"
|
|
},
|
|
"hidden": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"lastplayed": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"locked": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"thumbnail": {
|
|
"default": "",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"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.Fields.Channel": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "PVR.Fields.Channel",
|
|
"items": {
|
|
"enums": [
|
|
"thumbnail",
|
|
"channeltype",
|
|
"hidden",
|
|
"locked",
|
|
"channel",
|
|
"lastplayed"
|
|
],
|
|
"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"
|
|
},
|
|
"Player.Audio.Stream": {
|
|
"id": "Player.Audio.Stream",
|
|
"properties": {
|
|
"index": {
|
|
"minimum": 0,
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"language": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Player.Audio.Stream.Extended": {
|
|
"extends": "Player.Audio.Stream",
|
|
"id": "Player.Audio.Stream.Extended",
|
|
"properties": {
|
|
"bitrate": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"channels": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"codec": {
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
],
|
|
"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.Extended"
|
|
},
|
|
"currentsubtitle": {
|
|
"$ref": "Player.Subtitle"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"Video.Cast": {
|
|
"id": "Video.Cast",
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"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"
|
|
},
|
|
"season": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"showtitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"tvshowid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"uniqueid": {
|
|
"additionalProperties": {
|
|
"default": "",
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"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"
|
|
},
|
|
"rating": {
|
|
"default": 0,
|
|
"type": "number"
|
|
},
|
|
"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"
|
|
},
|
|
"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": {
|
|
"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
|
|
},
|
|
"studio": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tag": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"track": {
|
|
"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"
|
|
},
|
|
"showtitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"tvshowid": {
|
|
"$ref": "Library.Id",
|
|
"default": -1
|
|
},
|
|
"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"
|
|
},
|
|
"season": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"sorttitle": {
|
|
"default": "",
|
|
"type": "string"
|
|
},
|
|
"studio": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tag": {
|
|
"$ref": "Array.String"
|
|
},
|
|
"tvshowid": {
|
|
"$ref": "Library.Id",
|
|
"required": true
|
|
},
|
|
"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 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"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.Movie": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.Movie",
|
|
"items": {
|
|
"description": "Requesting the cast, showlink 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"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.MovieSet": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.MovieSet",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"playcount",
|
|
"fanart",
|
|
"thumbnail",
|
|
"art"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.MusicVideo": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.MusicVideo",
|
|
"items": {
|
|
"enums": [
|
|
"title",
|
|
"playcount",
|
|
"runtime",
|
|
"director",
|
|
"studio",
|
|
"year",
|
|
"plot",
|
|
"album",
|
|
"artist",
|
|
"genre",
|
|
"track",
|
|
"streamdetails",
|
|
"lastplayed",
|
|
"fanart",
|
|
"thumbnail",
|
|
"file",
|
|
"resume",
|
|
"dateadded",
|
|
"tag",
|
|
"art"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.Season": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.Season",
|
|
"items": {
|
|
"enums": [
|
|
"season",
|
|
"showtitle",
|
|
"playcount",
|
|
"episode",
|
|
"fanart",
|
|
"thumbnail",
|
|
"tvshowid",
|
|
"watchedepisodes",
|
|
"art"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Video.Fields.TVShow": {
|
|
"extends": "Item.Fields.Base",
|
|
"id": "Video.Fields.TVShow",
|
|
"items": {
|
|
"description": "Requesting the cast 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"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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": "6.0.3"
|
|
}
|
|
} |