[ { "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" } ], "permission" : "ExecuteAddon", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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 } ], "permission" : "ManageAddon", "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 } ], "permission" : "ReadData", "returns" : { "$ref" : "Application.Property.Value" }, "type" : "method" }, "Application.Quit" : { "description" : "Quit application", "params" : [ ], "permission" : "ControlPower", "returns" : { "type" : "string" }, "type" : "method" }, "Application.SetMute" : { "description" : "Toggle mute/unmute", "params" : [ { "$ref" : "Global.Toggle", "name" : "mute", "required" : true } ], "permission" : "ControlPlayback", "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" } ] } ], "permission" : "ControlPlayback", "returns" : { "type" : "integer" }, "type" : "method" }, "AudioLibrary.Clean" : { "description" : "Cleans the audio library from non-existent items", "params" : [ ], "permission" : "RemoveData", "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" } ] } ], "permission" : "WriteFile", "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" } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ReadData", "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" } ], "permission" : "UpdateData", "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" } ], "permission" : "UpdateData", "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" } ] } ], "permission" : "UpdateData", "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" } ], "permission" : "UpdateData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ControlGUI", "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 } ], "permission" : "ReadData", "returns" : { "$ref" : "GUI.Property.Value" }, "type" : "method" }, "GUI.SetFullscreen" : { "description" : "Toggle fullscreen/GUI", "params" : [ { "$ref" : "Global.Toggle", "name" : "fullscreen", "required" : true } ], "permission" : "ControlGUI", "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" } ], "permission" : "ControlGUI", "returns" : { "type" : "string" }, "type" : "method" }, "Input.Back" : { "description" : "Goes back in GUI", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.ContextMenu" : { "description" : "Shows the context menu", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.Down" : { "description" : "Navigate down in GUI", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.ExecuteAction" : { "description" : "Execute a specific action", "params" : [ { "$ref" : "Input.Action", "name" : "action", "required" : true } ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.Home" : { "description" : "Goes to home window in GUI", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.Info" : { "description" : "Shows the information dialog", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.Left" : { "description" : "Navigate left in GUI", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.Right" : { "description" : "Navigate right in GUI", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.Select" : { "description" : "Select current item in GUI", "params" : [ ], "permission" : "Navigate", "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" } ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.ShowCodec" : { "description" : "Show codec information of the playing item", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.ShowOSD" : { "description" : "Show the on-screen display for the current player", "params" : [ ], "permission" : "Navigate", "returns" : { "type" : "string" }, "type" : "method" }, "Input.Up" : { "description" : "Navigate up in GUI", "params" : [ ], "permission" : "Navigate", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "returns" : { "type" : "any" }, "type" : "method" }, "JSONRPC.Permission" : { "description" : "Retrieve the clients permissions", "params" : [ ], "permission" : "ReadData", "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" : [ ], "permission" : "ReadData", "returns" : { "type" : "string" }, "type" : "method" }, "JSONRPC.Version" : { "description" : "Retrieve the JSON-RPC protocol version.", "params" : [ ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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 } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ControlPVR", "returns" : { "type" : "string" }, "type" : "method" }, "PVR.Scan" : { "description" : "Starts a channel scan", "params" : [ ], "permission" : "ControlPVR", "returns" : { "type" : "string" }, "type" : "method" }, "Player.GetActivePlayers" : { "description" : "Returns all active players", "params" : [ ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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 } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ControlPlayback", "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" } ], "permission" : "ControlPlayback", "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" } ], "permission" : "ControlPlayback", "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" } ], "permission" : "ControlPlayback", "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" } ], "permission" : "ControlPlayback", "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" } ] } ], "permission" : "ControlPlayback", "returns" : { "properties" : { "percentage" : { "$ref" : "Player.Position.Percentage", "default" : 0.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" } ] } ], "permission" : "ControlPlayback", "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 } ], "permission" : "ControlPlayback", "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" } ] } ], "permission" : "ControlPlayback", "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 } ], "permission" : "ControlPlayback", "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" } ] } ], "permission" : "ControlPlayback", "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" } ], "permission" : "ControlPlayback", "returns" : { "type" : "string" }, "type" : "method" }, "Player.Stop" : { "description" : "Stops playback", "params" : [ { "$ref" : "Player.Id", "name" : "playerid", "required" : true } ], "permission" : "ControlPlayback", "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" } ] } ], "permission" : "ControlPlayback", "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 } ], "permission" : "ControlPlayback", "returns" : { "type" : "string" }, "type" : "method" }, "Playlist.Clear" : { "description" : "Clear playlist", "params" : [ { "$ref" : "Playlist.Id", "name" : "playlistid", "required" : true } ], "permission" : "ControlPlayback", "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" } ], "permission" : "ReadData", "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" : [ ], "permission" : "ReadData", "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 } ], "permission" : "ReadData", "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 } ], "permission" : "ControlPlayback", "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 } ], "permission" : "ControlPlayback", "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 } ], "permission" : "ControlPlayback", "returns" : { "type" : "string" }, "type" : "method" }, "System.EjectOpticalDrive" : { "description" : "Ejects or closes the optical disc drive (if available)", "params" : [ ], "permission" : "ControlSystem", "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 } ], "permission" : "ReadData", "returns" : { "$ref" : "System.Property.Value" }, "type" : "method" }, "System.Hibernate" : { "description" : "Puts the system running XBMC into hibernate mode", "params" : [ ], "permission" : "ControlPower", "returns" : { "type" : "string" }, "type" : "method" }, "System.Reboot" : { "description" : "Reboots the system running XBMC", "params" : [ ], "permission" : "ControlPower", "returns" : { "type" : "string" }, "type" : "method" }, "System.Shutdown" : { "description" : "Shuts the system running XBMC down", "params" : [ ], "permission" : "ControlPower", "returns" : { "type" : "string" }, "type" : "method" }, "System.Suspend" : { "description" : "Suspends the system running XBMC", "params" : [ ], "permission" : "ControlPower", "returns" : { "type" : "string" }, "type" : "method" }, "VideoLibrary.Clean" : { "description" : "Cleans the video library from non-existent items", "params" : [ ], "permission" : "RemoveData", "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" } ] } ], "permission" : "WriteFile", "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" } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" } ] } ], "permission" : "ReadData", "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 } ], "permission" : "RemoveData", "returns" : { "type" : "string" }, "type" : "method" }, "VideoLibrary.RemoveMovie" : { "description" : "Removes the given movie from the library", "params" : [ { "$ref" : "Library.Id", "name" : "movieid", "required" : true } ], "permission" : "RemoveData", "returns" : { "type" : "string" }, "type" : "method" }, "VideoLibrary.RemoveMusicVideo" : { "description" : "Removes the given music video from the library", "params" : [ { "$ref" : "Library.Id", "name" : "musicvideoid", "required" : true } ], "permission" : "RemoveData", "returns" : { "type" : "string" }, "type" : "method" }, "VideoLibrary.RemoveTVShow" : { "description" : "Removes the given tv show from the library", "params" : [ { "$ref" : "Library.Id", "name" : "tvshowid", "required" : true } ], "permission" : "RemoveData", "returns" : { "type" : "string" }, "type" : "method" }, "VideoLibrary.Scan" : { "description" : "Scans the video sources for new library items", "params" : [ { "default" : "", "name" : "directory", "type" : "string" } ], "permission" : "UpdateData", "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" } ] } ], "permission" : "UpdateData", "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" } ] } ], "permission" : "UpdateData", "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" } ] } ], "permission" : "UpdateData", "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" } ] } ], "permission" : "UpdateData", "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" } ], "permission" : "ReadData", "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" } ], "permission" : "ReadData", "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" : { "enums" : [ "genre", "album", "artist", "albumartist", "title", "year", "time", "tracknumber", "filename", "path", "playcount", "lastplayed", "rating", "comment", "dateadded", "playlist" ], "id" : "List.Filter.Fields.Songs", "required" : true, "type" : "string" }, "List.Filter.Fields.TVShows" : { "default" : "title", "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", "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.0, "id" : "Player.Position.Percentage", "maximum" : 100.0, "minimum" : 0.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.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" }, "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.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.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.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.0, "minimum" : 0.0, "type" : "number" }, "total" : { "default" : 0.0, "minimum" : 0.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.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" } } ]