<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CastagnaIT</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CastagnaIT"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/CastagnaIT"/>
	<updated>2026-06-16T12:21:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=InfoLabels&amp;diff=255293</id>
		<title>InfoLabels</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=InfoLabels&amp;diff=255293"/>
		<updated>2025-04-14T05:45:19Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add to ListItem.AudioCodec new AAC codec variants&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use infolabels with &#039;&#039;&#039;$INFO[infolabel]&#039;&#039;&#039; or the &#039;&#039;&#039;&amp;lt;info&amp;gt;&#039;&#039;&#039; tag. Scripts can read infolabels with &amp;lt;code&amp;gt;&#039;&#039;&#039;xbmc.getInfoLabel(&#039;infolabel&#039;)&#039;&#039;&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Addon ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Addon.SettingInt(addon_id,setting_id)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The integer value of the setting &amp;lt;code&amp;gt;setting_id&amp;lt;/code&amp;gt; belonging to the addon with the id &amp;lt;code&amp;gt;addon_id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;addon_id&#039;&#039;&#039; - The id of the addon&lt;br /&gt;
:&#039;&#039;&#039;setting_id&#039;&#039;&#039; - The addon setting&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The provided setting with &amp;lt;code&amp;gt;setting_id&amp;lt;/code&amp;gt; must be an integer setting type.&amp;lt;br&amp;gt;&lt;br /&gt;
Otherwise it will return the integer info default value (which is 0).}}&lt;br /&gt;
| [https://forum.kodi.tv/showthread.php?tid=363553&amp;amp;pid=3098121#pid3098121 v20]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Addon.SettingStr(addon_id,setting_id)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The string value of the setting &amp;lt;code&amp;gt;setting_id&amp;lt;/code&amp;gt; belonging to the addon with the id &amp;lt;code&amp;gt;addon_id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;addon_id&#039;&#039;&#039; - The id of the addon&lt;br /&gt;
:&#039;&#039;&#039;setting_id&#039;&#039;&#039; - The addon setting&lt;br /&gt;
| [https://forum.kodi.tv/showthread.php?tid=363553&amp;amp;pid=3098121#pid3098121 v20]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Container ===&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If no &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; is specified it grabs the current container.}}&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).Column&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The column number of the focused position in a panel container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).CurrentItem&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current item in the container or grouplist with given id.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).CurrentPage&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current page in the container with given id.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).ListItem(offset).Property&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The property of the ListItem with a given offset.&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;offset&#039;&#039;&#039; - The offset for the listitem.&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Property&amp;lt;/code&amp;gt; has to be replaced with &amp;lt;code&amp;gt;Label&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Label2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Icon&amp;lt;/code&amp;gt;, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; &amp;lt;code&amp;gt;Container(50).Listitem(2).Label&amp;lt;/code&amp;gt;}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).ListItemAbsolute(x).[infolabel]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The infolabel for an item in a container.&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;x&#039;&#039;&#039; - The absolute position in the container.&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; &amp;lt;code&amp;gt;Container(50).ListItemAbsolute(4).Genre&amp;lt;/code&amp;gt;}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).ListItemNoWrap(offset).Property&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The same as Container(id).ListItemNoWrap(offset).Property but it won&#039;t wrap.&amp;lt;br&amp;gt;&lt;br /&gt;
:This means if the last item of a list is focused, &amp;lt;code&amp;gt;ListItemNoWrap(1)&amp;lt;/code&amp;gt; will be empty while &amp;lt;code&amp;gt;ListItem(1)&amp;lt;/code&amp;gt; will return the first item of the list.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;offset&#039;&#039;&#039; - The offset for the listitem.&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Property&amp;lt;/code&amp;gt; has to be replaced with &amp;lt;code&amp;gt;Label&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Label2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Icon&amp;lt;/code&amp;gt;, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: &amp;lt;code&amp;gt;Container(50).ListitemNoWrap(1).Plot&amp;lt;/code&amp;gt;}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).ListItemPosition(x).[infolabel]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The infolabel for an item in a container.&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;x&#039;&#039;&#039; - The position in the container relative to the cursor position.&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; &amp;lt;code&amp;gt;Container(50).ListItemAbsolute(4).Genre&amp;lt;/code&amp;gt;}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).NumAllItems&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of all items in the container or grouplist with given id including parent folder item.&lt;br /&gt;
| [https://forum.kodi.tv/showthread.php?tid=298565&amp;amp;pid=2553240#pid2553240 v18]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).NumItems&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of items in the container or grouplist with given id excluding parent folder item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).NumNonFolderItems&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of items in the container or grouplist with given id excluding all folder items (e.g. pvr recordings folders, parent &amp;quot;..&amp;quot; folder, &amp;quot;All albums&amp;quot;, etc).&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=298565&amp;amp;pid=2553240#pid2553240 v18]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).NumPages&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of pages in the container with given id.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).Position&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current focused position of container / grouplist (id) as a numeric label.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).Row&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The row number of the focused position in a panel container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.Art(type)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The path to the art image file for the given type of the current container.&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;type&#039;&#039;&#039; - The art type to request.&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Todo&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
List of all art types.}}&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=231270&amp;amp;pid=2095396#pid2095396 v16]&lt;br /&gt;
[https://forum.kodi.tv/showthread.php?tid=211896&amp;amp;pid=1866664#pid1866664 v15]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.Content&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The content of the current container.&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=231270&amp;amp;pid=2109488#pid2109488 v16]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.FolderName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The top most folder in currently displayed folder.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.FolderPath&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The complete path of currently displayed folder.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.PluginCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current plugins category (set by the scripter).&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=250862&amp;amp;pid=2300634#pid2300634 v17]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.PluginName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current plugins base folder name.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.Property(addoncategory)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current add-on category.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.Property(reponame)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current add-on repository name.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.ShowPlot&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The TV Show plot of the current container and can be used at season and episode level.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.ShowTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The TV Show title of the current container and can be used at season and episode level.&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=250862&amp;amp;pid=2284876#pid2284876 v17]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.SortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current sort method (returns a localized value).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.SortOrder&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current sort order (Ascending/Descending).&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=231270&amp;amp;pid=2052012#pid2052012 v16]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).TotalUnWatched&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of unwatched items in the container.&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=231270&amp;amp;pid=2052026#pid2052026 v16]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container(id).TotalWatched&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of watched items in the container.&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=231270&amp;amp;pid=2052026#pid2052026 v16]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.Totaltime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The total time of all items in the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.ViewCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of available skin view modes for the current container listing.&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=250862&amp;amp;pid=2278045#pid2278045 v17]&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Container.Viewmode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current viewmode (e.g. list, icons, etc).&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Control ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Control.GetLabel(id)[.index()]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The label value or texture name of the control with the given id.&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;id&#039;&#039;&#039; - The id of the control.&lt;br /&gt;
:&#039;&#039;&#039;index&#039;&#039;&#039; - [opt] Optionally you can specify index(1) to retrieve label2 from an Edit control.&lt;br /&gt;
|  [https://forum.kodi.tv/showthread.php?tid=211896&amp;amp;pid=1937160#pid1937160 v15]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Fanart ===&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Colors are arranged Lightest to Darkest.}}&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Fanart.Color1&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the first of three colors included in the currently selected &#039;&#039;&#039;[[Fanart]]&#039;&#039;&#039; theme for the parent TV Show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Fanart.Color2&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the second of three colors included in the currently selected &#039;&#039;&#039;[[Fanart]]&#039;&#039;&#039; theme for the parent TV Show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Fanart.Color3&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the third of three colors included in the currently selected &#039;&#039;&#039;[[Fanart]]&#039;&#039;&#039; theme for the parent TV Show.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Game ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Game.Developer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:  The developer of the game (e.g. Activision).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Game.GameClient&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:  The add-on ID of the emulator used to play the game.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Game.Genres&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:  The genre of the game (e.g. Action).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Game.Overview&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:  The game description.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Game.Platform&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:  The platform the game runs on (e.g. Atari 2600).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Game.Publisher&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:  The publishing company of the game (e.g. Nintendo).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Game.Title&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:  The name of the game.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Game.Year&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:  The year the game was released.&lt;br /&gt;
|  v18&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ListItem ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.AddonBroken&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Deprecated! use ListItem.AddonLifecycleDesc instead.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.AddonCreator&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the author the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.AddonDescription&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The full description of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonDisclaimer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The disclaimer of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonInstallDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The date the addon was installed.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonLastUpdated&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The date the addon was last updated.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonLastUsed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The date the addon was used last.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonLifecycleDesc&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The description of the lifecycle type (e.g. broken due to website changes).&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonLifecycleType&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The lifecycle type of the addon as a localized string (e.g. normal, broken, or deprecated).&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonNews&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:A brief changelog, taken from the addons&#039; addon.xml file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonSize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The filesize of the addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonSummary&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:A short description of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonType&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The type of the currently selected addon (e.g. screensaver, script, skin, etc).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AddonVersion&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The version of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Album&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The album of the currently selected song in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AlbumArtist&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The artist of the currently selected album in a list.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AlbumStatus&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The Musicbrainz release status of the album (e.g. offical, bootleg, promotion, etc).&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Appearances&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of movies featuring the selected actor or directed by the selected director.&lt;br /&gt;
| v17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Artist&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The artist of the currently selected song in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AudioChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of audio channels of the currently selected video (e.g. 1, 2, 4, 5, 6, 7, 8, 10, etc).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AudioCodec&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The audio codec of the currently selected video.&amp;lt;br&amp;gt;&lt;br /&gt;
:Possible values:&lt;br /&gt;
:*aac&lt;br /&gt;
:*aac_lc*&lt;br /&gt;
:*he_aac*&lt;br /&gt;
:*he_aac_v2*&lt;br /&gt;
:*aac_ssr*&lt;br /&gt;
:*aac_ltp*&lt;br /&gt;
:*aac_latm&lt;br /&gt;
:*ac3&lt;br /&gt;
:*aif&lt;br /&gt;
:*aifc&lt;br /&gt;
:*aiff&lt;br /&gt;
:*alac&lt;br /&gt;
:*ape&lt;br /&gt;
:*avc&lt;br /&gt;
:*cdda&lt;br /&gt;
:*dca&lt;br /&gt;
:*dolbydigital&lt;br /&gt;
:*dts&lt;br /&gt;
:*dtshd_hra&lt;br /&gt;
:*dtshd_ma&lt;br /&gt;
:*dtshd_ma_x*&lt;br /&gt;
:*dtshd_ma_x_imax*&lt;br /&gt;
:*dtsma&lt;br /&gt;
:*eac3&lt;br /&gt;
:*eac3_ddp_atmos*&lt;br /&gt;
:*flac&lt;br /&gt;
:*mp1&lt;br /&gt;
:*mp3&lt;br /&gt;
:*mp3float&lt;br /&gt;
:*ogg&lt;br /&gt;
:*opus&lt;br /&gt;
:*pcm&lt;br /&gt;
:*pcm_bluray&lt;br /&gt;
:*pcm_s16le&lt;br /&gt;
:*pcm_s24le&lt;br /&gt;
:*truehd&lt;br /&gt;
:*truehd_atmos*&lt;br /&gt;
:*vorbis&lt;br /&gt;
:*wav&lt;br /&gt;
:*wavpack&lt;br /&gt;
:*wmapro&lt;br /&gt;
:*wmav2&lt;br /&gt;
| *v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.AudioLanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The audio language of the currently selected video as an ISO 639-2 three character code (e.g. eng, epo, deu).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.BitRate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The actual bitrate for CBR or average bitrate for VBR of the currently selected song.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.BPM&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The Beats Per Minute of the currently selected song.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Cast&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The list of cast members, separated by carriage returns, for use in dialogvideoinfo.xml.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.CastAndRole&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The list of cast members and roles, separated by carriage returns. Every cast/role combination is formatted &#039;cast&#039; as &#039;role&#039; where &#039;as&#039; is localised, for use in dialogvideoinfo.xml.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ChannelLogo&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The logo of the currently selected radio or TV channel (PVR).&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ChannelName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of current selected TV channel in a container (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ChannelName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The channel name of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ChannelNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The channel number of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ChannelNumberLabel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The channel and subchannel number of the currently selected channel that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Comment&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The comment assigned to the item (PVR/MUSIC).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ContributorAndRole&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The list of all people and their role who&#039;ve contributed to the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Contributors&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The list of all people who&#039;ve contributed to the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Country&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The production country of the currently selected movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.CurrentItem&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The current index of the item in a container starting at 1.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Date&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The file date of the currently selected song or movie in a container, the aired date of an episode, or the day, start time, and end time of the currently selected TV programme (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.DateAdded&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The date the currently selected item was added to the library or date and time of an event in the EventLog window.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.DBID&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The database id of the currently selected ListItem in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.DBTYPE&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The database type of the ListItem.DBID for videos (video, movie, set, TV show, season, episode, musicvideo) or for audio (music, song, album, artist).&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
With season, the &amp;quot;*all seasons&amp;quot; entry does give a DBTYPE &amp;quot;season&amp;quot; and a DBID, but you can&#039;t get the details of that entry since it&#039;s a virtual entry in the Video Library.}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.DecodedFileNameAndPath&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The full path with filename of the currently selected song or movie in a container decoded.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Director&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The director of the currently selected movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.DiscNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The disc number of the currently selected song in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.DiscTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The disc title of the currently selected album or song.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Duration[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The song or movie duration of the currently selected movie in a container. Optionally specify a time format, hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.EndDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The end date of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.EndTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The end time of current selected TV programme in a container (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.EndTimeResume&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The time a video will end if you resume it, instead of playing it from the beginning.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Episode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The episode number value for the currently selected episode. It also shows the number of total, watched or unwatched episodes for the currently selected TV show or season, based on the the current watched filter.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.EpisodeName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the episode if the selected EPG item is a TV Show (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.FileExtension&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The file extension (without leading dot) of the currently selected item in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.FileName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The filename of the currently selected song or movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.FileNameAndPath&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The full path with filename of the currently selected song or movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.FileNameNoExtension&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The filename without its extension.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.FolderName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The top most folder of the path of the currently selected song or movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.FolderPath&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The complete path of the currently selected song or movie in a container (without user details).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Genre&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The genre of the currently selected song, album, or movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HdrType&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The HDR type of the currently selected video (e.g. hdr10, dolbyvision, or hlg).&lt;br /&gt;
| v20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IMDBNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The IMDB iD of the selected Video in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Label&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The left label of the currently selected item in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Label2&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The right label of the currently selected item in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.LastPlayed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The last play date of video in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Mood&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The mood of the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Mpaa&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The MPAA rating of the currently selected movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.MusicChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of audio channels for a song.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextDuration&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The duration of the next item (PVR).&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextEndDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The end date of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextEndTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The end of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextGenre&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The genre of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextPlot&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The plot of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextPlotOutline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The plot outline of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextStartDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The start date of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextStartTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The start time of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.NextTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The title of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.OriginalDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The original release date of the item.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.OriginalTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The original title of the currently selected movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ParentalRatingCode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The parental rating code.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ParentalRatingIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The parental rating icon.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ParentalRatingSource&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The parental rating source.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Path&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The complete path of the currently selected song or movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PercentPlayed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The returns percentage value [0-100] of how far the selected video has been played.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureAperture&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The f-stop used to take the selected picture. This is the value of the EXIF FNumber tag (hex code 0x829D).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureAuthor&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person involved in writing about the selected picture. This is the value of the IPTC Writer tag (hex code 0x7A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureByline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who created the selected picture. This is the value of the IPTC Byline tag (hex code 0x50).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureBylineTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The title of the person who created the selected picture. This is the value of the IPTC BylineTitle tag (hex code 0x55).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCamMake&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The manufacturer of the camera used to take the selected picture. This is the value of the EXIF Make tag (hex code 0x010F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCamModel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The manufacturer&#039;s model name or number of the camera used to take the selected picture. This is the value of the EXIF Model tag (hex code 0x0110).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCaption&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The description of the selected picture. This is the value of the IPTC Caption tag (hex code 0x78).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The subject of the selected picture as a category code. This is the value of the IPTC Category tag (hex code 0x0F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCCDWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The width of the CCD in the camera used to take the selected picture. This is calculated from three EXIF tags (0xA002 * 0xA210 / 0xA20e).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCity&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The city where the selected picture was taken. This is the value of the IPTC City tag (hex code 0x5A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureColour&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:Whether the selected picture is &amp;quot;Colour&amp;quot; or &amp;quot;Black and White&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureComment&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The description of the selected picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is the same value as Slideshow.SlideComment.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCopyrightNotice&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The copyright notice of the selected picture. This is the value of the IPTC Copyright tag (hex code 0x74).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCountry&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The full name of the country where the selected picture was taken. This is the value of the IPTC CountryName tag (hex code 0x65).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCountryCode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The country code of the country where the selected picture was taken. This is the value of the IPTC CountryCode tag (hex code 0x64).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureCredit&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The provider of the selected picture. This is the value of the IPTC Credit tag (hex code 0x6E).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The localized date of the selected picture. The short form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureDatetime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The date/timestamp of the selected picture. The localized short form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureDesc&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The short description of the selected picture. The SlideComment, EXIFComment, or Caption values might contain a longer description. This is the value of the EXIF ImageDescription tag (hex code 0x010E).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureDigitalZoom&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The digital zoom ratio when the selected picture was taken. This is the value of the EXIF DigitalZoomRatio tag (hex code 0xA404).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureExpMode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The exposure mode of the selected picture. The possible values are &amp;quot;Automatic&amp;quot;, &amp;quot;Manual&amp;quot;, and &amp;quot;Auto bracketing&amp;quot;. This is the value of the EXIF ExposureMode tag (hex code 0xA402).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureExposure&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The class of the program used by the camera to set exposure when the selected picture was taken. Values include &amp;quot;Manual&amp;quot;, &amp;quot;Program (Auto)&amp;quot;, &amp;quot;Aperture priority (Semi-Auto)&amp;quot;, &amp;quot;Shutter priority (semi-auto)&amp;quot;, etc. This is the value of the EXIF ExposureProgram tag (hex code 0x8822).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureExposureBias&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The exposure bias of the selected picture. Typically this is a number between -99.99 and 99.99. This is the value of the EXIF ExposureBiasValue tag (hex code 0x9204).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureExpTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The exposure time of the selected picture, in seconds. This is the value of the EXIF ExposureTime tag (hex code 0x829A). If the ExposureTime tag is not found, the ShutterSpeedValue tag (hex code 0x9201) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureFlashUsed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The status of flash when the selected picture was taken. The value will be either &amp;quot;Yes&amp;quot; or &amp;quot;No&amp;quot;, and might include additional information. This is the value of the EXIF Flash tag (hex code 0x9209).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureFocalLen&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The lens focal length of the selected picture.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureFocusDist&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The focal length of the lens, in mm. This is the value of the EXIF FocalLength tag (hex code 0x920A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureGPSAlt&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The altitude in meters where the selected picture was taken. This is the value of the EXIF GPSInfo.GPSAltitude tag.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureGPSLat&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The latitude where the selected picture was taken (degrees, minutes, seconds North or South). This is the value of the EXIF GPSInfo.GPSLatitude and GPSInfo.GPSLatitudeRef tags.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureGPSLon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The longitude where the selected picture was taken (degrees, minutes, seconds East or West). This is the value of the EXIF GPSInfo.GPSLongitude and GPSInfo.GPSLongitudeRef tags.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureHeadline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The synopsis of the contents of the selected picture. This is the value of the IPTC Headline tag (hex code 0x69).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureImageType&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The color components of the selected picture. This is the value of the IPTC ImageType tag (hex code 0x82).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureIPTCDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The date when the intellectual content of the selected picture was created, rather than when the picture was created. This is the value of the IPTC DateCreated tag (hex code 0x37).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureIPTCTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The time when the intellectual content of the selected picture was created, rather than when the picture was created. This is the value of the IPTC TimeCreated tag (hex code 0x3C).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureISO&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The ISO speed of the camera when the selected picture was taken. This is the value of the EXIF ISOSpeedRatings tag (hex code 0x8827).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureKeywords&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The keywords assigned to the selected picture. This is the value of the IPTC Keywords tag (hex code 0x19).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureLightSource&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The kind of light source when the picture was taken. Possible values include &amp;quot;Daylight&amp;quot;, &amp;quot;Fluorescent&amp;quot;, &amp;quot;Incandescent&amp;quot;, etc. This is the value of the EXIF LightSource tag (hex code 0x9208).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureLongDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The localized date of the selected picture. The long form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureLongDatetime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The date/timestamp of the selected picture. The localized long form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. if the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureMeteringMode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The metering mode used when the selected picture was taken. The possible values are &amp;quot;Center weight&amp;quot;, &amp;quot;Spot&amp;quot;, or &amp;quot;Matrix&amp;quot;. This is the value of the EXIF MeteringMode tag (hex code 0x9207).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureObjectName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The shorthand reference for the selected picture. This is the value of the IPTC ObjectName tag (hex code 0x05).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureOrientation&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The orientation of the selected picture. Possible values are &amp;quot;Top Left&amp;quot;, &amp;quot;Top Right&amp;quot;, &amp;quot;Left Top&amp;quot;, &amp;quot;Right Bottom&amp;quot;, etc. This is the value of the EXIF Orientation tag (hex code 0x0112).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PicturePath&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The filename and path of the selected picture.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The process used to compress the selected picture.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureReferenceService&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The service identifier of a prior envelope to which the selected picture refers. This is the value of the IPTC ReferenceService tag (hex code 0x2D).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureResolution&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The dimensions of the selected picture.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureSource&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The original owner of the selected picture. This is the value of the IPTC Source tag (hex code 0x73).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureSpecialInstructions&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The editorial instructions concerning the use of the selected picture. This is the value of the IPTC SpecialInstructions tag (hex code 0x28).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureState&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The State/Province where the selected picture was taken. This is the value of the IPTC ProvinceState tag (hex code 0x5F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureSublocation&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The location within a city where the selected picture was taken - might indicate the nearest landmark. This is the value of the IPTC SubLocation tag (hex code 0x5C).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureSupplementalCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The supplemental category codes to further refine the subject of the selected picture. This is the value of the IPTC SuppCategory tag (hex code 0x14).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureTransmissionReference&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The code representing the location of original transmission of the selected picture. This is the value of the IPTC TransmissionReference tag (hex code 0x67).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureUrgency&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The urgency of the selected picture. Values are 1-9. The &amp;quot;1&amp;quot; is most urgent. Some image management programs use urgency to indicate picture rating, where urgency &amp;quot;1&amp;quot; is 5 stars and urgency &amp;quot;5&amp;quot; is 1 star. Urgencies 6-9 are not used for rating. This is the value of the IPTC Urgency tag (hex code 0x0A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PictureWhiteBalance&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The white balance mode set when the selected picture was taken. The possible values are &amp;quot;Manual&amp;quot; and &amp;quot;Auto&amp;quot;. This is the value of the EXIF WhiteBalance tag (hex code 0xA403).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PlayCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The playcount of video in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Plot&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The complete text summary of video in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PlotOutline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The small summary of current video in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Premiered&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The release/aired date of the currently selected episode, show, movie, or EPG item in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PrivacyPolicy&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The official Kodi privacy-policy.&lt;br /&gt;
| v17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ProgramCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of times an xbe has been run from &amp;quot;my programs&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Progress&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The part of the programme that&#039;s being played (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.Changelog)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The changelog of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.ID)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The identifier of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.Path)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The path of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.Status)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The status of the currently selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_Description)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The review of the currently selected album.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_Duration)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The duration of an album in HH:MM:SS.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_Label)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The record label of the currently selected album.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_Mood)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The moods of the currently selected album.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_Rating)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The scraped rating of the currently selected album.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_Style)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The styles of the currently selected album.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_Theme)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The themes of the currently selected album.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_Type)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The album type of the currently selected album (e.g. compilation, enhanced, or explicit lyrics).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Album_UserRating)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The user rating of the currently selected album.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Born)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The Date of Birth of the currently selected artist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Description)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The biography of the currently selected artist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Died)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The Date of Death of the currently selected artist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Disambiguation)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The brief description of the currently selected artist that differentiates them from others with the same name.&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Disbanded)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The disbanding date of the currently selected band.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Formed)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The formation date of the currently selected band.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Gender)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The gender of the currently selected artist (e.g.male, female, or other).&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Genre)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The genre of the currently selected artist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Instrument)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The instruments played by the currently selected artist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Mood)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The moods of the currently selected artist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Sortname)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The sortname of the currently selected artist.&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Style)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The styles of the currently selected artist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_Type)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The type of the currently selected artist (person, group, orchestra, choir, etc).&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Artist_YearsActive)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The years the currently selected artist has been active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(AudioChannels.[n])&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of audio channels of the currently selected video, &#039;n&#039; defines the number of the audiostream (values: see ListItem.AudioChannels).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(AudioCodec.[n])&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The audio codec of the currently selected video, &#039;n&#039; defines the number of the audiostream (values: see ListItem.AudioCodec).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(AudioLanguage.[n])&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The audio language of the currently selected video, &#039;n&#039; defines the number of the audiostream (values: see ListItem.AudioLanguage).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(game.stretchmode)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the stretch mode (e.g. Stretch 4:3).&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(game.videofilter)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the video filter (e.g. Bilinear).&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(game.videorotation)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The angle of the rotation.&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(NumEpisodes)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of total, watched, or unwatched episodes for the currently selected TV show or season, based on the the current watched filter.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Arranger)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who arranged the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Composer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who composed the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Conductor)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who conducted the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.DJMixer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the DJ who remixed the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Engineer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who was the engineer of the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Lyricist)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who wrote the lyrics of the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Mixer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who mixed the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Orchestra)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the orchestra performing the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Producer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who produced the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Role.Remixer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the person who remixed the selected song.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.Bitrate)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The video bitrate of the currently playing video.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.Channels)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of audio channels of the currently playing video.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.Codec)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The video codec of the currently playing video.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.CodecDesc)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The audio codec of the currently playing video.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.Description)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The audio description of the currently playing video.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.FPS)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The Frames per Second of the currently playing video.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.HDRType)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The HDR type of the currently playing video (e.g. hdr10, dolbyvision, or hlg).&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.Language)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The audio language of the currently playing video as an ISO 639-2 three character code (e.g. eng, epo, deu, etc).&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.Resolution)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The video resolution of the currently playing video.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Stream.StereoMode)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The stereomode of the playing video (e.g. mono, split_vertical, split_horizontal, row_interleaved, anaglyph_cyan_red, or anaglyph_green_magenta).&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(SubtitleLanguage.[n])&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The subtitle language of the currently selected video, &#039;n&#039; defines the number of the subtitle (values: see ListItem.SubtitleLanguage).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(TotalEpisodes)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The total number of episodes for the currently selected TV show or season.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(TotalSeasons)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The total number of seasons for the currently selected TV show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(UnWatchedEpisodes)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of unwatched episodes for the currently selected TV show or season.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(WatchedEpisodes)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of watched episodes for the currently selected TV show or season.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PVRClientName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the PVR client addon for the selected PVR list item.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.PVRInstanceName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the instance of the PVR client addon for the selected PVR list item.&lt;br /&gt;
| v22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Rating[(name)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The scraped rating of the currently selected item in a container. Optionally you can specify the name of the scraper to retrieve a specific rating, for use in dialogvideoinfo.xml.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.RatingAndVotes[(name)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The IMDB rating and votes of the currently selected movie in a container. Optionally you can specify the name of the scraper to retrieve a specific rating and votes, for use in dialogvideoinfo.xml.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.ReleaseDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The release date of the current item.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.SampleRate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The sample rate of a song / 1000.0 (e.g. 44.1, 48, 96 etc).&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Season&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The season value for the currently selected TV show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Set&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the set the movie is part of.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.SetId&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The id of the set the movie is part of.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The file size of the currently selected song or movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.SortLetter&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The first letter of the current file in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.StartDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The start date of current selected TV programme in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.StartDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The start date of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.StartTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The start time of current selected TV programme in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.StartTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The start time of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Status&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The status of the selected TV show (e.g. &#039;returning series&#039;,&#039;in production&#039;,&#039;planned&#039;,&#039;cancelled&#039; or &#039;ended&#039;).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.StereoscopicMode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The stereomode of the selected video (ie.g. mono, split_vertical, split_horizontal, row_interleaved, anaglyph_cyan_red, or anaglyph_green_magenta).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Studio&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The studio of current selected music video in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.SubtitleLanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The subtitle language of the currently selected video as an ISO 639-2 three character code (e.g. eng, epo, deu).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Tag&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the &#039;tag&#039; this movie is part of.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Tagline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The small summary of current video in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Title&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The title of the currently selected song or movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Top250&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The IMDB top 250 position of the currently selected ListItem in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.TotalDiscs&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The total amount of discs belonging to an album.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.TrackNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The track number of the currently selected song in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Trailer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The full trailer path with filename of the currently selected movie in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.TVShowDBID&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The TV show DBID of the selected season or episode a container.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.TVShowTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name value for the currently selected TV show in the season and episode depth of the video library.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.UniqueID()&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The UniqueID of the selected item in a container.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.UserRating&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The user rating of the currently selected item in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.VideoAspect&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The aspect ratio of the currently selected video.&amp;lt;br&amp;gt;&lt;br /&gt;
:Possible values:&lt;br /&gt;
:*1.00*&lt;br /&gt;
:*1.19*&lt;br /&gt;
:*1.33&lt;br /&gt;
:*1.37&lt;br /&gt;
:*1.66&lt;br /&gt;
:*1.78&lt;br /&gt;
:*1.85&lt;br /&gt;
:*2.00*&lt;br /&gt;
:*2.20&lt;br /&gt;
:*2.35&lt;br /&gt;
:*2.40&lt;br /&gt;
:*2.55&lt;br /&gt;
:*2.76&lt;br /&gt;
| *v20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.VideoCodec&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The video codec of the currently selected video.&amp;lt;br&amp;gt;&lt;br /&gt;
:Possible values:&lt;br /&gt;
:*3iv2&lt;br /&gt;
:*av1&lt;br /&gt;
:*avc1&lt;br /&gt;
:*div2&lt;br /&gt;
:*div3&lt;br /&gt;
:*divx&lt;br /&gt;
:*divx 4&lt;br /&gt;
:*dx50&lt;br /&gt;
:*flv&lt;br /&gt;
:*h264&lt;br /&gt;
:*hev1&lt;br /&gt;
:*hevc&lt;br /&gt;
:*hvc1&lt;br /&gt;
:*microsoft&lt;br /&gt;
:*mp42&lt;br /&gt;
:*mp43&lt;br /&gt;
:*mp4v&lt;br /&gt;
:*mpeg1&lt;br /&gt;
:*mpeg1video&lt;br /&gt;
:*mpeg2&lt;br /&gt;
:*mpeg2video&lt;br /&gt;
:*mpeg4&lt;br /&gt;
:*mpg4&lt;br /&gt;
:*rv40&lt;br /&gt;
:*svq1&lt;br /&gt;
:*svq3&lt;br /&gt;
:*theora&lt;br /&gt;
:*vc-1&lt;br /&gt;
:*vc1&lt;br /&gt;
:*vp6f&lt;br /&gt;
:*vp8&lt;br /&gt;
:*vp9&lt;br /&gt;
:*wmv&lt;br /&gt;
:*wmv2&lt;br /&gt;
:*wmv3&lt;br /&gt;
:*wvc1&lt;br /&gt;
:*xvid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.VideoResolution&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The resolution of the currently selected video.&amp;lt;br&amp;gt;&lt;br /&gt;
:Possible values:&lt;br /&gt;
:*480&lt;br /&gt;
:*576&lt;br /&gt;
:*540&lt;br /&gt;
:*720&lt;br /&gt;
:*1080&lt;br /&gt;
:*4K&lt;br /&gt;
:*8K*&lt;br /&gt;
{{highlight|&#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
That 540 usually means a widescreen format (around 960x540) while 576 means PAL resolutions (normally 720x576), therefore 540 is actually better resolution than 576.}}&lt;br /&gt;
| *v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.VideoVersionName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of the video version.&lt;br /&gt;
| v21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Votes[(name)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The IMDB votes of the currently selected movie in a container. Optionally you can specify the name of the scraper to retrieve specific votes, for use in dialogvideoinfo.xml.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Writer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The name of Writer of current video in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Year&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The year of the currently selected song, album, or movie in a container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MusicPartyMode ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPartyMode.SongsPlayed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of songs played during Party Mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPartyMode.MatchingSongs&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of songs available to Party Mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPartyMode.MatchingSongsPicked&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of songs picked already for Party Mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPartyMode.MatchingSongsLeft&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of songs left to be picked from for Party Mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPartyMode.RelaxedSongsPicked&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of relaxed songs picked during Party Mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPartyMode.RandomSongsPicked&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The number of unique random songs picked during Party Mode.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Network.LinkState&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The network linkstate (e.g. 10mbit/100mbit etc).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Network.MacAddress&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The system&#039;s  mac address.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Network.SubnetMask&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The network subnet mask.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Network.GatewayAddress&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The network gateway address.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Network.DNS1Address&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The network dns server 1 address.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Network.DNS2Address&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The network dns server 2 address.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Network.DHCPAddress&amp;lt;/code&amp;gt;&lt;br /&gt;
|  &#039;&#039;&#039;Returns&#039;&#039;&#039;&lt;br /&gt;
:The DHCP server ip address.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Player labels ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.FinishTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Time playing media will end&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.FinishTime(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Chapter&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current chapter of current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.ChapterCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total number of chapters of current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Time&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Elapsed time of current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Time(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.TimeRemaining&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Remaining time of current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.TimeRemaining(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Duration&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total duration of the current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Duration(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.SeekTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Time to which the user is seeking&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.SeekBar&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Time to which the user is seeking as a percentage (for use in slider controls)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.SeekOffset&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Indicates the seek offset after a seek press (e.g. user presses BigStepForward, player.seekoffset returns +10:00)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.SeekOffset(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.SeekStepSize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Displays the seek step size. (v15 addition)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Progress&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows how much (percentage) of the file has been played&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.ProgressCache&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows how much of the file is cached above current play percentage&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Folderpath&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the full path of the currently playing song or movie. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Filenameandpath&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the full path with filename of the currently playing song or movie. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.StartTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the starttime (from the epg) of a tv program, for all other videos it will return the time you started watching this video.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.StartTime(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Title&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the musicplayer title for audio and the videoplayer title for videos. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Filename&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the filename of the currently playing media. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Volume&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the volume level in dB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.PlaySpeed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current playspeed. (range:0.8 to 1.5)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(AudioBitsPerSample)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Bits per sample of the currently playing item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(AudioChannels)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of audiochannels of the currently playing item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(AudioDecoder)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Audiodecoder name of the currently playing item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(AudioSamplerate)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Samplerate  f the currently playing item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(DeintMethod)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Deinterlace method of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(PixFormat)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Pixel format of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(VideoDAR)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Display aspect ratio of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(VideoFPS)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Video framerate of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(VideoHeight)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Height of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(VideoDecoder)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Videodecoder name of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(VideoWidth)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Width of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Process(VideoScanType)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The scan type identifier of the currently playing video &#039;&#039;&#039;p&#039;&#039;&#039; (for progressive) or &#039;&#039;&#039;i&#039;&#039;&#039; (for interlaced)&lt;br /&gt;
|  v20&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.CutList&amp;lt;/code&amp;gt;&lt;br /&gt;
|  this infolabel can be used with the [[Ranges Control]], as EDL and chapter markers &lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Chapters&amp;lt;/code&amp;gt;&lt;br /&gt;
|  this infolabel can be used with the [[Ranges Control]], as EDL and chapter markers &lt;br /&gt;
|  v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Music player ====&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ParentalRatingCode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the parental rating code&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ParentalRatingIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the parental rating icon&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ParentalRatingSource&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the parental rating source&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ChannelLogo&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the logo of the currently selected radio or TV channel	&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Title&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of the currently playing song,  also available are &amp;quot;MusicPlayer.offset(number).Title&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Title&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Album&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Album from which the current song is from,   also available are &amp;quot;MusicPlayer.offset(number).Album&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Album&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Album_Mood)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the moods of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Album_Style)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the styles of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Album_Theme)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the themes of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Album_Type)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the Album Type (e.g. compilation, enhanced, explicit lyrics) of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Album_Label)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the record label of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Album_Description)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a review of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Artist&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Artist(s) of current song,  also available are &amp;quot;MusicPlayer.offset(number).Artist&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Artist&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Born)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Date of Birth of the currently playing Artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Died)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Date of Death of the currently playing Artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Formed)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Formation date of the currently playing Artist/Band&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Disbanded)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Disbanding date of the currently playing Artist/Band&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_YearsActive)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Years the currently Playing artist has been active&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Instrument)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Instruments played by the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Description)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a biography of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Mood)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the moods of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Style)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the styles of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Genre)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the genre of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Sortname)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Sortname of the currently playing Artist&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Type)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Type of the currently playing Artist - person, group, orchestra, choir, etc.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Gender)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Gender of the currently playing Artist - male, female, other&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Artist_Disambiguation)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Brief description of the currently playing Artist that differentiates them from others with the same name&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Genre&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Genre(s) of current song,  also available are &amp;quot;MusicPlayer.offset(number).Genre&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Genre&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Lyrics&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Lyrics of current song stored in ID tag info&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Year&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Year of release of current song,  also available are &amp;quot;MusicPlayer.offset(number).Year&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Year&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Rating&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Numeric Rating of current song,  also available are &amp;quot;MusicPlayer.offset(number).Rating&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Rating&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.DiscNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Disc Number of current song stored in ID tag info,  also available are &amp;quot;MusicPlayer.offset(number).DiscNumber&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).DiscNumber&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Comment&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Comment of current song stored in ID tag info,  also available are &amp;quot;MusicPlayer.offset(number).Comment&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Comment&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Time&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current time in song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.TimeRemaining&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current remaining time in song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.TimeSpeed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Both the time and the playspeed formatted up. e.g. 1:23 (2x)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.TrackNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Track number of current song,   also available are &amp;quot;MusicPlayer.offset(number).TrackNumber&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).TrackNumber&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Duration&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Duration of current song,   also available are &amp;quot;MusicPlayer.offset(number).Duration&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Duration&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.BitRate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Bitrate of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Channels&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of channels of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.BitsPerSample&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of bits per sample of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.SampleRate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Samplerate of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Codec&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Codec of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.PlaylistPosition&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Position of the current song in the current music playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.PlaylistLength&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total size of the current music playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ChannelName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel name of the radio programme that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ChannelNumberLabel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel and subchannel number of the radio channel that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ChannelGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel group of  of the radio programme that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Contributors&amp;lt;/code&amp;gt;&lt;br /&gt;
|  List of all people who&#039;ve contributed to the currently playing song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ContributorAndRole&amp;lt;/code&amp;gt;&lt;br /&gt;
|  List of all people and their role who&#039;ve contributed to the currently playing song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Mood&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Mood of the currently playing song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Arranger)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the person who arranged the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Composer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the person who composed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Conductor)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the person who conducted the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.DJMixer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the dj who remixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Engineer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the person who was the engineer of the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Lyricist)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the person who wrote the lyrics of the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Mixer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the person who mixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Orchestra)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the orchestra performing the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Producer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the person who produced the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Role.Remixer)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the name of the person who remixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.UserRating&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The rating the user gave to the currently playing song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.DBID&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The database id of the currently playing song&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.DiscTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The title of the disc currently playing&lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.ReleaseDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the release date of the song currently playing&lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.OriginalDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the original release date of the song currently playing&lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.BPM&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the Beats Per Minute of the currently playing song&lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.TotalDiscs&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the number of discs associated with the album of the currently playing song&lt;br /&gt;
|  v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Video player ====&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.AudioStreamCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the number of audio streams of the currently playing video&lt;br /&gt;
|  v21&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.VideoStreamCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the number of video streams of the currently playing video&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.ParentalRatingCode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the parental rating code&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.ParentalRatingIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the parental rating icon&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.ParentalRatingSource&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the parental rating source&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.ChannelLogo&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the logo of the currently selected radio or TV channel	&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.VideoVersionName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Show the name of the video version&lt;br /&gt;
|  v21&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Time&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current time in movie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.TimeRemaining&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current remaining time in movie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.TimeSpeed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current time + playspeed. e.g. 1:23:14 (-4x)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Duration&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Length of current movie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Title&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of currently playing video. If it&#039;s in the database it will return the database title, else the filename. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.OriginalTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The original title of currently playing video. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.TVShowTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of currently playing episode&#039;s tvshow name. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Season&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Season number of the currently playing episode, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Episode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Episode number of the currently playing episode. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Genre&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Genre(s) of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Director&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Director of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Country&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Production country of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Year&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Year of release of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Premiered&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The release/aired date of the currently selected episode, show, movie or EPG item. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Rating&amp;lt;/code&amp;gt;&lt;br /&gt;
|  IMDb user rating of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.UserRating&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the user rating of the currently playing item. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Votes&amp;lt;/code&amp;gt;&lt;br /&gt;
|  IMDb votes of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.RatingAndVotes&amp;lt;/code&amp;gt;&lt;br /&gt;
|  IMDb user rating and votes of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.mpaa&amp;lt;/code&amp;gt;&lt;br /&gt;
|  MPAA rating of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.IMDBNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The IMDB iD of the current video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.EpisodeName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  (PVR only) The name of the episode if the playing video is a TV Show, if it&#039;s in the database&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.PlaylistPosition&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Position of the current song in the current video playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.PlaylistLength&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total size of the current video playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Cast&amp;lt;/code&amp;gt;&lt;br /&gt;
|  A list of cast members, separated by carriage returns, if it&#039;s in the database&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.CastAndRole&amp;lt;/code&amp;gt;&lt;br /&gt;
|  A list of cast members and roles, separated by carriage returns. Every cast/role combination is formatted &#039;cast&#039; as &#039;role&#039; where &#039;as&#039; is localised, if it&#039;s in the database&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Trailer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The trailer of the current movie. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Album&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Album from which the current Music Video is from, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Artist&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Artist(s) of current Music Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Studio&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Studio of current Music Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Writer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Name of Writer of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Tagline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Small Summary of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.PlotOutline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Small Summary of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Plot&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Complete Text Summary of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Top250&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the IMDb top250 position of the current playing Video. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.LastPlayed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Last play date of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.PlayCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Playcount of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.HdrType&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the HDR type of the currently playing video (possible values: hdr10, dolbyvision and hlg)	&lt;br /&gt;
|  v20&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.VideoCodec&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the video codec of the currently playing video (common values: see ListItem.VideoCodec)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.VideoResolution&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the video resolution of the currently playing video (possible values: see ListItem.VideoResolution)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.VideoAspect&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the aspect ratio of the currently playing video (possible values: see ListItem.VideoAspect)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.AudioCodec&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the audio codec of the currently playing video, optionally &#039;n&#039; defines the number of the audiostream (common values: see ListItem.AudioCodec)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.AudioChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the number of audio channels of the currently playing video (possible values: see ListItem.AudioChannels)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.AudioLanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the language of the audio of the currently playing video(possible values: see ListItem.AudioLanguage)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.SubtitlesLanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the language of the subtitle of the currently playing video (possible values: see ListItem.SubtitlesLanguage)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.StereoscopicMode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the stereoscopic mode of the currently playing video (possible values: see ListItem.StereoscopicMode)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.EndTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  End date of the currently playing programme (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.NextTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.NextGenre&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Genre of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.NextPlot&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Plot of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.NextPlotOutline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Plot outline of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.NextStartTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Start time of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.NextEndTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  End time of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.NextDuration&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Duration of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.ChannelName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Name of the curently tuned channel (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.ChannelNumberLabel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel and subchannel number of the tv channel that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.ChannelGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Group of the curently tuned channel (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.ParentalRating&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Parental rating of the currently playing programme (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.DBID&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The database id of the currently playing video. (supports .offset() and .position())&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.UniqueID()&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the UniqueID of the currently playing video&lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.TvShowDBID&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the tv show DBID of the currently playing episode&lt;br /&gt;
|  v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Playlist ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Playlist.Length(media)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total size of the current playlist. optional parameter media is either video or music.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Playlist.Position(media)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Position of the current item in the current playlist. optional parameter media is either video or music.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Playlist.Random&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns &#039;On&#039; or &#039;Off&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Playlist.Repeat&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns string ID&#039;s 592 (Repeat One), 593 (Repeat All), or 594 (Repeat Off)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PVR ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.NowRecordingTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of the programme being recorded&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.NowRecordingDateTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Start date and time of the current recording&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.NowRecordingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel number that&#039;s being recorded&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.NextRecordingTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of the next programme that will be recorded&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.NextRecordingDateTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Start date and time of the next recording&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.NextRecordingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel name of the next recording&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Name of the backend being used&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendVersion&amp;lt;/code&amp;gt;&lt;br /&gt;
|  version of the backend that&#039;s being used&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendHost&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Backend hostname&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendDiskSpace&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Available diskspace on the backend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of available channels the backend provides&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendTimers&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of timers set for the backend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendRecordings&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of recording available on the backend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendDiskspace&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Free diskspace available for recordings on the backend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.BackendNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Backend number&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ClientCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of PVR clients enabled&lt;br /&gt;
|  v22&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TotalDiscSpace&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total diskspace available for recordings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.NextTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Next timer date&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.EpgEventDuration[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the duration of the currently played title on TV. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.EpgEventElapsedTime[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the time position of the currently played title on TV. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.EpgEventRemainingTime[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the remaining time for currently playing epg event. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.EpgEventFinishTime[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the time the currently playing epg event will end. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.EpgEventSeekTime[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the seek time of the currently playing epg event. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.EpgEventProgress&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the position of currently played title on TV as integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeShiftStart[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Start position of the timeshift. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeShiftEnd[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  End position of the timeshift. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeShiftCur[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current position of the timeshift. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeShiftOffset[(format)]&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current offset of the timeshift. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeShiftProgress&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the position of currently timeshifted title on TV as interger&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamClient&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Stream client name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamDevice&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Stream device name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamStatus&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Status of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamSignal&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Signal quality of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamSnr&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Signal to noise ratio of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamBer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Bit error rate of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamUnc&amp;lt;/code&amp;gt;&lt;br /&gt;
|  UNC value of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamVideoBitRate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Video bitrate of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamAudioBitRate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Audio bitrate of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamDolbyBitRate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Dolby bitrate of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamProgrSignal&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Signal quality of the programme&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamProgrSnr&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Signal to noise ratio of the programme&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ActStreamEncryptionName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Encryption used on the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TVNowRecordingTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of the tv programme being recorded&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TVNowRecordingDateTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Start date and time of the current tv recording&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TVNowRecordingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel name of the current tv recording&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TVNowRecordingChannelIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Icon of the current recording TV channel&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TVNextRecordingTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of the next tv programme that will be recorded&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TVNextRecordingDateTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Start date and time of the next tv recording&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TVNextRecordingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel name of the next tv recording&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TVNextRecordingChannelIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Icon of the next recording tv channel&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.RadioNowRecordingTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of the radio programme being recorded&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.RadioNowRecordingDateTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Start date and time of the current radio recording&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.RadioNowRecordingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel name of the current radio recording&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.RadioNowRecordingChannelIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Icon of the current recording radio channel&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.RadioNextRecordingTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of the next radio programme that will be recorded&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.RadioNextRecordingDateTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Start date and time of the next radio recording&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.RadioNextRecordingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel name of the next radio recording&lt;br /&gt;
|  v17&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.ChannelNumberInput&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Label displaying the number the user entered on remote or keyboard&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressDuration&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the duration of the PVR timeshift progress in the format hh:mm:ss. hh: will be omitted if hours value is zero&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressDuration(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the duration of the PVR timeshift progress in different formats, hours (hh), minutes (mm) or seconds (ss)&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressStartTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the start time of the PVR timeshift progress in the format hh:mm:ss. hh: will be omitted if hours value is zero&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressStartTime(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the start time of the PVR timeshift progress in different formats, hours (hh), minutes (mm) or seconds (ss)&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressEndTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the end time of the PVR timeshift progress in the format hh:mm:ss. hh: will be omitted if hours value is zero&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressEndTime(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the end time of the PVR timeshift progress in different formats, hours (hh), minutes (mm) or seconds (ss)&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressPlayPos&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the percentage of the current play position within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressEpgStart&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the percentage of the start of the currently playing epg event within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressEpgEnd&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the percentage of the end of the currently playing epg event within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressBufferStart&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the percentage of the start of the timeshift buffer within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeshiftProgressBufferEnd&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the percentage of the end of the timeshift buffer within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;PVR.TimeShiftSeekbar&amp;lt;/code&amp;gt;&lt;br /&gt;
|  This is the equivalent of Player.Seekbar, but for LiveTV (can be used in a slider control and indicates the position being seeked to)&lt;br /&gt;
|  v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RDS ===&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.AudioLanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The from RDS reported audio language of channel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.ChannelCountry&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Country where the radio channel is sended&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.GetLine(number)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the last sended RDS text messages on givern number, 0 is thelast and 4 rows are supported (0-3)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.Title&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Title of item; e.g. track title of an album (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.Artist&amp;lt;/code&amp;gt;&lt;br /&gt;
|  A person or band/collective generally considered responsible for the work (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.Band&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Band/orchestra/accompaniment/musician (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.Composer&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Name of the original composer/author (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.Conductor&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The artist(s) who performed the work. In classical music this would bethe conductor (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.Album&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The collection name to which this track belongs (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.TrackNumber&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The track number of the item on the album on which it was originallyreleased. (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.RadioStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The from radio channel used style of currently played part, e.g &amp;quot;popmusic&amp;quot;, &amp;quot;news&amp;quot; or &amp;quot;weather&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.Comment&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Radio station comment string if available (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoNews&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Message / headline (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoNewsLocal&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Local information news sended from radio channel (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoStock&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Quote information; either as one part or as several distinct parts:&amp;quot;name 99latest value 99change 99high 99low 99volume&amp;quot; (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoStockSize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of rows present in stock information (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoSport&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Result of a game; either as one part or as several distinct parts:&amp;quot;match 99result&amp;quot;, e.g. &amp;quot;Bayern München : Borussia 995:5&amp;quot;  (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoSportSize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of rows present in sport information (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoLottery&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Raffle / lottery: &amp;quot;key word 99values&amp;quot; (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoLotterySize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of rows present in lottery information (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoWeather&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Weather informations sended from radio channel (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoWeatherSize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of rows present in weather information (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoCinema&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Information about movies in cinema (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoCinemaSize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of rows present in cinema information (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoHoroscope&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Horoscope; either as one part or as two distinct parts:&amp;quot;key word 99text&amp;quot;, e.g. &amp;quot;sign of the zodiac 99blablabla&amp;quot; (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoHoroscopeSize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of rows present in horoscope information (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoOther&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Other information, not especially specified: &amp;quot;key word 99info&amp;quot; (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.InfoOtherSize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Number of rows present with other informations (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.ProgStation&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Name of the radio channel@note becomes also be set from epg if from RDS not available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.ProgNow&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Now played program name@note becomes also be set from epg if from RDS not available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.ProgNext&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Next played program name (if available)@note becomes also be set from epg if from RDS not available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.ProgHost&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Name of the host of the radio show&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.ProgEditStaff&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Name of the editorial staff; e.g. name of editorial journalist (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.ProgHomepage&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Link to radio station homepage (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.ProgStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Human readable string about radiostyle defined from RDS or RBDS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.PhoneHotline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The telephone number of the radio station&#039;s hotline (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.PhoneStudio&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The telephone number of the radio station&#039;s studio (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.SmsStudio&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The sms number of the radio stations studio (to send directly a sms to the studio) (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.EmailHotline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The email adress of the radio stations hotline (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;RDS.EmailStudio&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The email adress of the radio stations studio (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Skin ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Skin.CurrentTheme&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the current selected skin theme.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Skin.CurrentColourTheme&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the current selected colour theme of the skin.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Skin.Font&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the current fontset from Font.xml.&lt;br /&gt;
|  v18 addition&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Skin.String(name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;user-set&amp;lt;/span&amp;gt; skin string, set via the Skin.SetString(name) &#039;&#039;&#039;[[List of Built In Functions]]&#039;&#039;&#039;. Allows skinners to have &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;user-customisable&amp;lt;/span&amp;gt; labels.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Skin.AspectRatio&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the closest aspect ratio match using the resolution info from the skin&#039;s addon.xml file.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Slideshow ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Altitude&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the altitude in meters where the current picture was taken. This is the value of the EXIF GPSInfo.GPSAltitude tag.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Aperture&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the F-stop used to take the current picture. This is the value of the EXIF FNumber tag (hex code 0x829D).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Author&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the name of the person involved in writing about the current picture. This is the value of the IPTC Writer tag (hex code 0x7A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Byline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the name of the person who created the current picture.  This is the value of the IPTC Byline tag (hex code 0x50).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.BylineTitle&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the title of the person who created the current picture. This is the value of the IPTC BylineTitle tag (hex code 0x55).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.CameraMake&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the manufacturer of the camera used to take the current picture. This is the value of the EXIF Make tag (hex code 0x010F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.CameraModel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the manufacturer&#039;s model name or number of the camera used to take the current picture. This is the value of the EXIF Model tag (hex code 0x0110).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Caption&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a description of the current picture. This is the value of the IPTC Caption tag (hex code 0x78).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Category&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the subject of the current picture as a category code. This is the value of the IPTC Category tag (hex code 0x0F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.CCDWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the width of the CCD in the camera used to take the current picture. This is calculated from three EXIF tags (0xA002 * 0xA210 / 0xA20e).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.City&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the city where the current picture was taken. This is the value of the IPTC City tag (hex code 0x5A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Colour&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows whether the current picture is &amp;quot;Colour&amp;quot; or &amp;quot;Black and White&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.CopyrightNotice&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the copyright notice of the current picture. This is the value of the IPTC Copyright tag (hex code 0x74).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Country&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the full name of the country where the current picture was taken. This is the value of the IPTC CountryName tag (hex code 0x65).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.CountryCode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the country code of the country where the current picture was taken. This is the value of the IPTC CountryCode tag (hex code 0x64).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Credit&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows who provided the current picture. This is the value of the IPTC Credit tag (hex code 0x6E).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.DigitalZoom&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the digital zoom ratio when the current picture was taken. This is the value of the EXIF .DigitalZoomRatio tag (hex code 0xA404).  &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.EXIFComment&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a description of the current picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is the same value as Slideshow.SlideComment.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.EXIFDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the localized date of the current picture. The short form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.EXIFDescription&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a short description of the current picture. The SlideComment, EXIFComment, or Caption values might contain a longer description. This is the value of the EXIF ImageDescription tag (hex code 0x010E).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.EXIFSoftware&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the name and version of the firmware used by the camera that took the current picture. This is the value of the EXIF Software tag (hex code 0x0131).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.EXIFTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the date/timestamp of the current picture. The localized short form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Exposure&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the class of the program used by the camera to set exposure when the current picture was taken. Values include &amp;quot;Manual&amp;quot;, &amp;quot;Program (Auto)&amp;quot;, &amp;quot;Aperture priority (Semi-Auto)&amp;quot;, &amp;quot;Shutter priority (semi-auto)&amp;quot;, etc. This is the value of the EXIF ExposureProgram tag (hex code 0x8822).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.ExposureBias&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the exposure bias of the current picture. Typically this is a number between -99.99 and 99.99. This is the value of the EXIF ExposureBiasValue tag (hex code 0x9204).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.ExposureMode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the exposure mode of the current picture. The possible values are &amp;quot;Automatic&amp;quot;, &amp;quot;Manual&amp;quot;, and &amp;quot;Auto bracketing&amp;quot;. This is the value of the EXIF ExposureMode tag (hex code 0xA402).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.ExposureTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the exposure time of the current picture, in seconds. This is the value of the EXIF ExposureTime tag (hex code 0x829A). If the ExposureTime tag is not found, the ShutterSpeedValue tag (hex code 0x9201) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Filedate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the file date of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Filename&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the file name of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Filesize&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the file size of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.FlashUsed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the status of flash when the current picture was taken. The value will be either &amp;quot;Yes&amp;quot; or &amp;quot;No&amp;quot;, and might include additional information. This is the value of the EXIF Flash tag (hex code 0x9209).  &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.FocalLength&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the focal length of the lens, in mm. This is the value of the EXIF FocalLength tag (hex code 0x920A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.FocusDistance&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the distance to the subject, in meters. This is the value of the EXIF SubjectDistance tag (hex code 0x9206).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Headline&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a synopsis of the contents of the current picture. This is the value of the IPTC Headline tag (hex code 0x69).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.ImageType&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the color components of the current picture. This is the value of the IPTC ImageType tag (hex code 0x82).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.IPTCDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the date when the intellectual content of the current picture was created, rather than when the picture was created. This is the value of the IPTC DateCreated tag (hex code 0x37).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.ISOEquivalence&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the ISO speed of the camera when the current picture was taken. This is the value of the EXIF ISOSpeedRatings tag (hex code 0x8827).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Keywords&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows keywords assigned to the current picture. This is the value of the IPTC Keywords tag (hex code 0x19).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the latitude where the current picture was taken (degrees, minutes, seconds North or South). This is the value of the EXIF GPSInfo.GPSLatitude and GPSInfo.GPSLatitudeRef tags.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.LightSource&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the kind of light source when the picture was taken. Possible values include &amp;quot;Daylight&amp;quot;, &amp;quot;Fluorescent&amp;quot;, &amp;quot;Incandescent&amp;quot;, etc. This is the value of the EXIF LightSource tag (hex code 0x9208).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.LongEXIFDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows only the localized date of the current picture. The long form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.LongEXIFTime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the date/timestamp of the current picture. The localized long form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. if the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the longitude where the current picture was taken (degrees, minutes, seconds East or West). This is the value of the EXIF GPSInfo.GPSLongitude and GPSInfo.GPSLongitudeRef tags.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.MeteringMode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the metering mode used when the current picture was taken. The possible values are &amp;quot;Center weight&amp;quot;, &amp;quot;Spot&amp;quot;, or &amp;quot;Matrix&amp;quot;. This is the value of the EXIF MeteringMode tag (hex code 0x9207).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.ObjectName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a shorthand reference for the current picture. This is the value of the IPTC ObjectName tag (hex code 0x05).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Orientation&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the orientation of the current picture. Possible values are &amp;quot;Top Left&amp;quot;, &amp;quot;Top Right&amp;quot;, &amp;quot;Left Top&amp;quot;, &amp;quot;Right Bottom&amp;quot;, etc. This is the value of the EXIF Orientation tag (hex code 0x0112).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Path&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the file path of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Process&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the process used to compress the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.ReferenceService&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the Service Identifier of a prior envelope to which the current picture refers. This is the value of the IPTC ReferenceService tag (hex code 0x2D).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Resolution&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the dimensions of the current picture (Width x Height)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.SlideComment&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a description of the current picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is the same value as Slideshow.EXIFComment.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.SlideIndex&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the slide index of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Source&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the original owner of the current picture. This is the value of the IPTC Source tag (hex code 0x73).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.SpecialInstructions&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows other editorial instructions concerning the use of the current picture. This is the value of the IPTC SpecialInstructions tag (hex code 0x28).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.State&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the State/Province where the current picture was taken. This is the value of the IPTC ProvinceState tag (hex code 0x5F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Sublocation&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the location within a city where the current picture was taken - might indicate the nearest landmark. This is the value of the IPTC SubLocation tag (hex code 0x5C).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.SupplementalCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows supplemental category codes to further refine the subject of the current picture. This is the value of the IPTC SuppCategory tag (hex code 0x14).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.TimeCreated&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the time when the intellectual content of the current picture was created, rather than when the picture was created. This is the value of the IPTC TimeCreated tag (hex code 0x3C).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.TransmissionReference&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows a code representing the location of original transmission of the current picture. This is the value of the IPTC TransmissionReference tag (hex code 0x67).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.Urgency&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the urgency of the current picture. Values are 1-9. The 1 is most urgent. Some image management programs use urgency to indicate picture rating, where urgency 1 is 5 stars and urgency 5 is 1 star. Urgencies 6-9 are not used for rating. This is the value of the IPTC Urgency tag (hex code 0x0A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Slideshow.WhiteBalance&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the white balance mode set when the current picture was taken. The possible values are &amp;quot;Manual&amp;quot; and &amp;quot;Auto&amp;quot;. This is the value of the EXIF WhiteBalance tag (hex code 0xA403).&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.Time&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current time&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.Time(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss). (xx) option added after dharma&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.Date&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current date&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.Date(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Show current date using format, available markings: d (day of month 1-31), dd (day of month 01-31), ddd (short day of the week Mon-Sun), DDD (long day of the week Monday-Sunday), m (month 1-12), mm (month 01-12), mmm (short month name Jan-Dec), MMM (long month name January-December), yy (2-digit year), yyyy (4-digit year). Added after dharma.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.AlarmPos&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shutdown Timer position&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.BatteryLevel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the remaining battery level in range 0-100&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.FreeSpace&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total Freespace on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.UsedSpace&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total Usedspace on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.TotalSpace&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Totalspace on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.UsedSpacePercent&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total Usedspace Percent on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.FreeSpacePercent&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Total Freespace Percent on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.CPUTemperature&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current CPU temperature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.CpuUsage&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Displays the cpu usage for each individual cpu core.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.CoreUsage(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Displays the usage of the cpu core with the given &#039;id&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.GPUTemperature&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current GPU temperature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.FanSpeed&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current fan speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.BuildVersion&amp;lt;/code&amp;gt;&lt;br /&gt;
|  version of build&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.BuildDate&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Date of build&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.FriendlyName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the Kodi instance name. It will auto append (%hostname%) in case the device name was not changed. e.g. &amp;quot;Kodi (htpc)&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.FPS&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current rendering speed (frames per second)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.FreeMemory&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Amount of free memory in Mb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.Memory(format)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Available formats: used, used.percent, free, free.percent, total&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.ScreenMode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Screenmode (e.g. windowed / fullscreen)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.ScreenWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Width of screen in pixels&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.ScreenHeight&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Height of screen in pixels&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.StartupWindow&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The Window Kodi will load on startup&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.CurrentWindow&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current Window we are in&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.CurrentControl&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current focused control&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.CurrentControlID&amp;lt;/code&amp;gt;&lt;br /&gt;
|  ID of the currently focused control.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.DVDLabel&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Label of the disk in the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;DVD-ROM&amp;lt;/span&amp;gt; drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.HddTemperature&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Hdd temperature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.OSVersionInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
|  System name + kernel version&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.KernelVersion (deprecated)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  System name + kernel version&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.Uptime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  System current uptime&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.TotalUptime&amp;lt;/code&amp;gt;&lt;br /&gt;
|  System total uptime&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.CpuFrequency&amp;lt;/code&amp;gt;&lt;br /&gt;
|  System cpu frequency&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.ScreenResolution&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Screen resolution&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.VideoEncoderInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
|  video encoder info&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.InternetState&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Will return the internet state, &#039;connected&#039; or &#039;not connected&#039; (localized)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.Language&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the current language&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.ProfileName&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the User name of the currently logged in Kodi user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.ProfileCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the number of defined profiles&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.ProfileAutoLogin&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The profile Kodi will auto login to&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.Progressbar&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The percentage of the currently active progress.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.StereoscopicMode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The prefered stereoscopic mode (settings &amp;gt; video &amp;gt; playback)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.TemperatureUnits&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows Celsius or Fahrenheit symbol&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.AddonTitle(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the title of the addon with the given id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.AddonVersion(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the version of the addon with the given id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.BuildVersionCode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The internal version of the kodi build&lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.BuildVersionGit&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The git version (sha) of the kodi build&lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.AddonUpdateCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The number of available addon updates&lt;br /&gt;
|  v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Visualisation ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Visualisation.Preset&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the current preset of the visualisation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Visualisation.Name&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the name of the visualisation.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weather labels ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Weather.Conditions&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current weather conditions – this is looked up in a background process.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Weather.Temperature&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current weather temperature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Weather.Location&amp;lt;/code&amp;gt;&lt;br /&gt;
|  City/town which the above two items are for&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Weather.fanartcode&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current weather fanartcode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Weather.plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Current weather plugin.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Window ===&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window([window]).Property(key)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Window property. (key can be any value, optional window can be id or name)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window.Property(xmlfile)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Displays the name of the xml file currently shown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window.Property(IsRadio)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns &amp;quot;true&amp;quot; if the window is a radio window, empty string otherwise (for use in the PVR windows)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window(AddonBrowser).Property(Updated)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the date and time the addon repo was last checked for updates&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window.Property(Addon.ID)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the id of the selected addon, in DialogAddonSettings.xml&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window(Home).Property(key)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The home window has the following info labels.&lt;br /&gt;
Movies.Count, Movies.Watched, Movies.UnWatched, TVShows.Count, TVShows.Watched, TVShows.UnWatched, Episodes.Count, Episodes.Watched, Episodes.UnWatched, MusicVideos.Count, MusicVideos.Watched, MusicVideos.UnWatched, Music.SongsCount, Music.AlbumsCount, Music.ArtistsCount&lt;br /&gt;
&lt;br /&gt;
LatestMovie.[1-10].Title, LatestMovie.[1-10].Year, LatestMovie.[1-10].RunningTime, LatestMovie.[1-10].Rating, LatestMovie.[1-10].Plot, LatestMovie.[1-10].Trailer, LatestMovie.[1-10].Thumb, LatestMovie.[1-10].Fanart, LatestMovie.[1-10].Path&lt;br /&gt;
&lt;br /&gt;
LatestEpisode.[1-10].ShowTitle, LatestEpisode.[1-10].EpisodeTitle, LatestEpisode.[1-10].EpisodeNo, LatestEpisode.[1-10].EpisodeSeason, LatestEpisode.[1-10].EpisodeNumber, LatestEpisode.[1-10].Rating, LatestEpisode.[1-10].Plot, LatestEpisode.[1-10].Thumb, LatestEpisode.[1-10].ShowThumb, LatestEpisode.[1-10].SeasonThumb, LatestEpisode.[1-10].Fanart, LatestEpisode.[1-10].Path&lt;br /&gt;
&lt;br /&gt;
LatestMusicVideo.[1-10].Title, LatestMusicVideo.[1-10].Thumb, LatestMusicVideo.[1-10].Year, LatestMusicVideo.[1-10].Plot, LatestMusicVideo.[1-10].RunningTime, LatestMusicVideo.[1-10].Path, LatestMusicVideo.[1-10].Artist, LatestMusicVideo.[1-10].Fanart&lt;br /&gt;
&lt;br /&gt;
LatestSong.[1-10].Title, LatestSong.[1-10].Artist, LatestSong.[1-10].Album, LatestSong.[1-10].Year, LatestSong.[1-10].Rating, LatestSong.[1-10].Thumb, LatestSong.[1-10].Fanart, LatestSong.[1-10].Path&lt;br /&gt;
&lt;br /&gt;
LatestAlbum.[1-10].Title, LatestAlbum.[1-10].Artist, LatestAlbum.[1-10].Year, LatestAlbum.[1-10].Rating, LatestAlbum.[1-10].Thumb, LatestAlbum.[1-10].Fanart, LatestAlbum.[1-10].Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window(Weather).Property(key)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The weather window has the following info labels.&lt;br /&gt;
Location, Updated, Current.Condition, Current.Temperature, Current.FeelsLike, Current.UVIndex, Current.Wind (From &amp;lt;wind dir.&amp;gt; at &amp;lt;speed&amp;gt; &amp;lt;unit&amp;gt;), Current.WindSpeed, Current.WindDirection, Current.DewPoint, Current.Humidity, Day[0-6].Title, Day[0-6].HighTemp, Day[0-6].LowTemp, Day[0-6].Outlook, WeatherProvider&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data set in Current.Temperature, Current.FeelsLike, Day[0-6].HighTemp, Day[0-6].LowTemp should be provided in Celsius, and will be autoconverted according to System.TemperatureUnits&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Images Available in Kodi ===&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[Artwork/Accessing with skins and JSON-RPC]]&#039;&#039;&#039; for the general pattern of accessing artwork for media items. Below is a list of other possible images available as InfoLabels.&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.Art(type)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Artwork for the current listitem.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Fanart.Image&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Fanart image for the parent TV Show. Note: Deprecated, use ListItem.Art(tvshow.fanart) instead.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.Thumb&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the thumbnail (if it exists) of the currently selected item in a list or thumb control. Note: Deprecated but still available, returns the same as ListItem.Art(thumb).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.Icon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the thumbnail (if it exists) of the currently selected item in a list or thumb control. If no thumbnail image exists, it will show the default icon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.ActualIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the default icon of the currently selected item in a list or thumb control.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.Overlay&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the Overlay Icon status (compressed file [OverlayRAR.png], watched [OverlayWatched.png], unwatched [OverlayUnwatched.png], locked [OverlayLocked.png]) of the currently selected item in a list or thumb control.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.EPGEventIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the icon of the EPG programme (if available).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;ListItem.Property(Fanart_Image)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Fanart Image currently selected item or of the parent TV show. Note: Deprecated, use ListItem.Art(fanart) or ListItem.Art(tvshow.fanart) instead.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Cover&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Cover of currently playing album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;MusicPlayer.Property(Fanart_Image)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Fanart image of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Art(type)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Artwork for the currently playing item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.Icon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the thumbnail (if it exists) of the currently playing item. If no thumbnail image exists, it will show the icon.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Player.StarRating&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns a value of 0 to 5 as a graphical display from images named rating0.png to rating5.png of the skin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Pvr.NowRecordingChannelIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel icon of the programme currently being recorded.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Pvr.NextRecordingChannelIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Channel icon of the programme that will be recorded next.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Pvr.EPGEventIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the icon of the currently playing EPG programme (if available).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Skin.String(name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the image or image folder set by the user via a Skin.SetPath(name) or Skin.SetImage(name) &#039;&#039;&#039;[[List of Built In Functions]]&#039;&#039;&#039;. Allows skinners to have &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;user-customisable&amp;lt;/span&amp;gt; images and multiimages.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.AddonIcon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns the Icon of the specified addon. Instead of specifying the id directly, one can also use an infolabel (e.g. $INFO[Skin.String(Foo)])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;System.ProfileThumb&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Shows the Thumbnail image of the currently logged in Kodi user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;VideoPlayer.Cover&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Cover of currently playing movie.  Note: Deprecated, use Player.Art(type) instead.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Weather.ConditionsIcon&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Image of current weather conditions (NOTE: Can be used to load/refresh weather conditions)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window([window]).Property(key)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Window property. (key can be any value, optional window can be id or name)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;code&amp;gt;Window(Weather).Property(key)&amp;lt;/code&amp;gt;&lt;br /&gt;
|  The weather window has the following info images.&lt;br /&gt;
Current.ConditionIcon, Day[0-6].OutlookIcon, Current.FanartCode, Day[0-6].FanartCode, WeatherProviderLogo&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253895</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253895"/>
		<updated>2024-12-04T07:09:14Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: add PreviousSubtitle, add missing CycleSubtitle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
;Main actions&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Left&amp;lt;/code&amp;gt; || Move left off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Right&amp;lt;/code&amp;gt; || Move right off a control. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Up&amp;lt;/code&amp;gt; || Move up off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Down&amp;lt;/code&amp;gt; || Move down off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Select&amp;lt;/code&amp;gt; || Select a button, or an item from a list of thumb view.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ENTER) Not sure about all areas, but on some windows this will be the same as the &amp;quot;done&amp;quot; on screen button.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt; || Scroll up on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt; || Scroll down on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Highlight&amp;lt;/code&amp;gt; || Highlight an item in a list or thumb view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentDir&amp;lt;/code&amp;gt; || Go up a folder to the parent folder. &#039;&#039;&#039;(deprecated, same meaning of &amp;quot;Back&amp;quot; action)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentFolder&amp;lt;/code&amp;gt; || Go up a folder to the parent folder.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousMenu&amp;lt;/code&amp;gt; || Go back to the previous menu screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; || Go back in navigation.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Info&amp;lt;/code&amp;gt; || Show the information about the currently highlighted item, or currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Pause&amp;lt;/code&amp;gt; || Pause the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Stop&amp;lt;/code&amp;gt; || Stop the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipNext&amp;lt;/code&amp;gt; || Skip to next video in playlist. If no playlist, then skip to next chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipPrevious&amp;lt;/code&amp;gt; || Skip to previous video in playlist. If no playlist, then skip to previous chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FullScreen&amp;lt;/code&amp;gt; || Toggles full-screen content playback (either visualisation or video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;togglefullscreen&amp;lt;/code&amp;gt; || Changes whether the app is displayed full-screen or windowed (on windowing OSs)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AspectRatio&amp;lt;/code&amp;gt; || Toggle through the various aspect ratio modes (Normal is the preferred option).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepForward&amp;lt;/code&amp;gt; || Step forward 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepBack&amp;lt;/code&amp;gt; || Step back 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepForward&amp;lt;/code&amp;gt; || Step forward 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepBack&amp;lt;/code&amp;gt; || Step back 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; || Step back 7 seconds in the current video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(&#039;&#039;##&#039;&#039;)&amp;lt;/code&amp;gt; || A definable seek action, where &amp;lt;code&amp;gt;&#039;&#039;##&#039;&#039;&amp;lt;/code&amp;gt; is a number of seconds. For example, to make a seek action that goes forward 25 seconds use &amp;lt;code&amp;gt;Seek(25)&amp;lt;/code&amp;gt;, and to make a seek action that goes back 36 seconds use &amp;lt;code&amp;gt;Seek(-36)&amp;lt;/code&amp;gt;. &#039;&#039;&#039;(v15 Isengard addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepForward&amp;lt;/code&amp;gt; || Go to to next chapter in video. If no chapters, then step forward 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepBack&amp;lt;/code&amp;gt; || Go to previous chapter in video, If no chapters, then step back 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextScene&amp;lt;/code&amp;gt; || Go to next scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousScene&amp;lt;/code&amp;gt; || Go to previous scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD (On Screen Display) while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDVD&amp;lt;/code&amp;gt; || Start playing a DVD (goes to the DVD menu)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowVideoMenu&amp;lt;/code&amp;gt; || Go to the DVD Video menu when playing a DVD.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowSubtitles&amp;lt;/code&amp;gt; || Toggles whether subtitles are shown or not.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextSubtitle&amp;lt;/code&amp;gt; || Change to the next subtitle language, if there is more than one (does not allow subtitles to be disabled).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousSubtitle&amp;lt;/code&amp;gt; || Change to the previous subtitle language, if there is more than one (does not allow subtitles to be disabled). &#039;&#039;&#039;(v22 Piers addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CycleSubtitle&amp;lt;/code&amp;gt; || Change to the next subtitle language, if there is more than one (it also allow subtitles to be disabled).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftUp&amp;lt;/code&amp;gt; || Move subtitles up&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || Move subtitles down&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || Subtitle position control&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CodecInfo&amp;lt;/code&amp;gt; || Show codec information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProcessInfo&amp;lt;/code&amp;gt; || Show player process information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProgramSelect&amp;lt;/code&amp;gt; || Show dialog to select a program tv channel (during video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPicture&amp;lt;/code&amp;gt; || Move to the next picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPicture&amp;lt;/code&amp;gt; || Move to the previous picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomOut&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom out of the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomIn&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom in to the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to increase the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to decrease the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; || Queue the item to the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayNext&amp;lt;/code&amp;gt; || Queue the item to the next position in the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. Used in the [[Advanced_library_filtering|advanced filter]] for the video library.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist&amp;lt;/code&amp;gt; || Toggle to playlist view from My Music or My Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomNormal&amp;lt;/code&amp;gt; || Normal (fullscreen) viewing in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel1&amp;lt;/code&amp;gt; || Zoom to 120% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel2&amp;lt;/code&amp;gt; || Zoom to 150% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel3&amp;lt;/code&amp;gt; || Zoom to 200% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel4&amp;lt;/code&amp;gt; || Zoom to 280% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel5&amp;lt;/code&amp;gt; || Zoom to 400% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel6&amp;lt;/code&amp;gt; || Zoom to 600% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel7&amp;lt;/code&amp;gt; || Zoom to 900% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel8&amp;lt;/code&amp;gt; || Zoom to 1350% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel9&amp;lt;/code&amp;gt; || Zoom to 2000% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ResetCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogMove&amp;lt;/code&amp;gt; || Move in the calibration screens, and while zoomed in My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rotate&amp;lt;/code&amp;gt; || Rotate a picture in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rotateccw&amp;lt;/code&amp;gt; || Rotate current picture counterclockwise during slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Close&amp;lt;/code&amp;gt; || Used to close a dialog&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitledelay&amp;lt;/code&amp;gt; || Show the current delay amount of subtitles.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of subtitles (use if subtitles are displaying too late)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of subtitles (use if subtitles are displaying too early)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiodelay&amp;lt;/code&amp;gt; || Show the current delay amount of audio.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of audio (use if audio is being heard too early) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of audio (use if audio is being heard too late) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioNextLanguage&amp;lt;/code&amp;gt; || Change to the next audio track in a video with multiple audio tracks.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextResolution&amp;lt;/code&amp;gt; || Used in Video calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Number&#039;&#039;&amp;lt;0-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Used to input the number 0 through 9&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FastForward&amp;lt;/code&amp;gt; || Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rewind&amp;lt;/code&amp;gt; || Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Play&amp;lt;/code&amp;gt; || Play the selected item (or folder of items).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPause&amp;lt;/code&amp;gt; || Play the selected item (or folder of items). Will also pause media when something is already playing.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; || Used in My Files to delete a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Copy&amp;lt;/code&amp;gt; || Used in My Files to copy a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; || Used in My Files to move a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rename&amp;lt;/code&amp;gt; || Used in My Files to rename a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;HideSubmenu&amp;lt;/code&amp;gt; || &amp;lt;depreciated&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Screenshot&amp;lt;/code&amp;gt; || Take a screenshot of the current screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt; || Reboot&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown()&amp;lt;/code&amp;gt; || Shutdown and power off&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeUp&amp;lt;/code&amp;gt; || Increase the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeDown&amp;lt;/code&amp;gt; || Decrease the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt; || Mute the volume.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampup&amp;lt;/code&amp;gt; || Increase volume amplification.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampdown&amp;lt;/code&amp;gt; || Decrease volume amplification.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiotoggledigital&amp;lt;/code&amp;gt; || Switch between digital / analog audio.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BackSpace&amp;lt;/code&amp;gt; || Used in the virtual keyboards to delete one letter.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollUp&amp;lt;/code&amp;gt; || Variable speed scroll up for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollDown&amp;lt;/code&amp;gt; || Variable speed scroll down for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogFastForward&amp;lt;/code&amp;gt; || Variable speed fast forward for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogRewind&amp;lt;/code&amp;gt; || Variable speed rewind for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekForward&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekBack&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemUp&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemDown&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Menu&amp;lt;/code&amp;gt; || Focus the menu control (e.g. sidebar in confluence) which is specified by the skin in different windows (e.g. Movies, Music, PVR etc.) &#039;&#039;&#039;(v16 Jarvis addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ContextMenu&amp;lt;/code&amp;gt; || Pops up a contextual menu&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to upper or lower case letters&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Symbols&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to or from symbols mode&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorLeft&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the left&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorRight&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the right&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowTime&amp;lt;/code&amp;gt; || Used to show the current play time in music + video playback&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; || Shows the visualisation preset list&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPreset&amp;lt;/code&amp;gt; || Shows the current visualisation preset (milkdrop/spectrum)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPreset&amp;lt;/code&amp;gt; || Next visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPreset&amp;lt;/code&amp;gt; || Previous visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;LockPreset&amp;lt;/code&amp;gt; || Lock the current visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;RandomPreset&amp;lt;/code&amp;gt; || Switch to a new random preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreaseRating&amp;lt;/code&amp;gt; || Used to increase track rating in full screen playback (press info on track and use pageplus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreaseRating&amp;lt;/code&amp;gt; || Used to decrease track rating in full screen playback (press info on track and use pageminus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleWatched&amp;lt;/code&amp;gt; || Toggles watched/unwatched status for Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextLetter&amp;lt;/code&amp;gt; || Move to the next letter in a list or thumb panel. Note that SHIFT-B on the keyboard will take you to the B&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PrevLetter&amp;lt;/code&amp;gt; || Move to the previous letter in a list or thumb panel. Note that SHIFT-Z on the keyboard will take you to the Z&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JumpSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Jump through a list using SMS-style input (eg press 2 twice to jump to the B&#039;s.)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FilterSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Filter a list in music or videos using SMS-style input.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftup&amp;lt;/code&amp;gt; || Shift up video image currently played.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftdown&amp;lt;/code&amp;gt; || Shift down video image currently played.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scanitem&amp;lt;/code&amp;gt; || Scan selected item for video or music files.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;reloadkeymaps&amp;lt;/code&amp;gt; || Reload keymap, loading any changes made to the keymap since started up.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;increasevisrating&amp;lt;/code&amp;gt; || Increase the preset rate for visualization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;decreasevisrating&amp;lt;/code&amp;gt; || Decrease the preset rate for visualization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;firstpage&amp;lt;/code&amp;gt; || Move to the first element of the page.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;lastpage&amp;lt;/code&amp;gt; || Move to the last element of the page.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;guiprofile&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_GUIPROFILE_BEGIN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;red&amp;lt;/code&amp;gt; || Used to simulate red button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;green&amp;lt;/code&amp;gt; || Used to simulate green button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yellow&amp;lt;/code&amp;gt; || Used to simulate yellow button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blue&amp;lt;/code&amp;gt; || Used to simulate blue button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreateBookmark&amp;lt;/code&amp;gt; || Creates a bookmark of the currently playing Video &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreatEpisodeBookmark&amp;lt;/code&amp;gt; || Creates an episode bookmark of the currently playing multi-episode file (e.g. S01E01E02). An episode bookmark specifies the end of the one and the begin of the other episode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the next channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the previous channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelUp&amp;lt;/code&amp;gt; || [[PVR]] Used to switch up to the next channel. Works only if you playback TV or radio &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelDown&amp;lt;/code&amp;gt; || [[PVR]] Used to switch down to the previous channel. Works only if you playback TV or radio&#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV or radio channel depends on the last played channel. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a radio channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Record&amp;lt;/code&amp;gt; || [[PVR]] record current playing channel or selected item in windows like EPG &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleCommSkip&amp;lt;/code&amp;gt; || Enable / Disable commercial skipping (based on [[Edit_decision_list]] file) during video playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SwitchPlayer&amp;lt;/code&amp;gt; || Select player to use, such as internal (DVDPlayer/PAPlayer), UPnP &amp;quot;play using&amp;quot; targets, external players. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(video)&amp;lt;/code&amp;gt; || Update Movie/TV-Show library (only tested with v13 Gotham addition).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SetRating&amp;lt;/code&amp;gt; || For use when playing music. Will pop-up a 1-10 userrating select dialog, to rate the currently playing song. &#039;&#039;&#039;(v17 Krypton addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DialogSelectVideo&amp;lt;/code&amp;gt; || Open a window dialog to select a video stream. &#039;&#039;&#039;(v22 Piers addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DialogSelectAudio&amp;lt;/code&amp;gt; || Open a window dialog to select an audio stream. &#039;&#039;&#039;(v22 Piers addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DialogSelectSubtitle&amp;lt;/code&amp;gt; || Open a window dialog to select a subtitle stream. &#039;&#039;&#039;(v22 Piers addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Other&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;noop&amp;lt;/code&amp;gt; || No action. Used to specifically disable a key.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed action IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;PresetList&amp;lt;/code&amp;gt; - replaced with &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; in a previous version (unknown?)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Keymaps]]&lt;br /&gt;
* [[Window IDs]]&lt;br /&gt;
* [[Built-in scripting]]&lt;br /&gt;
&lt;br /&gt;
{{updated|21}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253620</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253620"/>
		<updated>2024-10-18T12:11:17Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add DialogSelectVideo,DialogSelectAudio,DialogSelectSubtitle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
;Main actions&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Left&amp;lt;/code&amp;gt; || Move left off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Right&amp;lt;/code&amp;gt; || Move right off a control. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Up&amp;lt;/code&amp;gt; || Move up off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Down&amp;lt;/code&amp;gt; || Move down off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Select&amp;lt;/code&amp;gt; || Select a button, or an item from a list of thumb view.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ENTER) Not sure about all areas, but on some windows this will be the same as the &amp;quot;done&amp;quot; on screen button.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt; || Scroll up on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt; || Scroll down on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Highlight&amp;lt;/code&amp;gt; || Highlight an item in a list or thumb view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentDir&amp;lt;/code&amp;gt; || Go up a folder to the parent folder. &#039;&#039;&#039;(deprecated, same meaning of &amp;quot;Back&amp;quot; action)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentFolder&amp;lt;/code&amp;gt; || Go up a folder to the parent folder.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousMenu&amp;lt;/code&amp;gt; || Go back to the previous menu screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; || Go back in navigation.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Info&amp;lt;/code&amp;gt; || Show the information about the currently highlighted item, or currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Pause&amp;lt;/code&amp;gt; || Pause the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Stop&amp;lt;/code&amp;gt; || Stop the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipNext&amp;lt;/code&amp;gt; || Skip to next video in playlist. If no playlist, then skip to next chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipPrevious&amp;lt;/code&amp;gt; || Skip to previous video in playlist. If no playlist, then skip to previous chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FullScreen&amp;lt;/code&amp;gt; || Toggles full-screen content playback (either visualisation or video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;togglefullscreen&amp;lt;/code&amp;gt; || Changes whether the app is displayed full-screen or windowed (on windowing OSs)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AspectRatio&amp;lt;/code&amp;gt; || Toggle through the various aspect ratio modes (Normal is the preferred option).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepForward&amp;lt;/code&amp;gt; || Step forward 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepBack&amp;lt;/code&amp;gt; || Step back 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepForward&amp;lt;/code&amp;gt; || Step forward 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepBack&amp;lt;/code&amp;gt; || Step back 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; || Step back 7 seconds in the current video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(&#039;&#039;##&#039;&#039;)&amp;lt;/code&amp;gt; || A definable seek action, where &amp;lt;code&amp;gt;&#039;&#039;##&#039;&#039;&amp;lt;/code&amp;gt; is a number of seconds. For example, to make a seek action that goes forward 25 seconds use &amp;lt;code&amp;gt;Seek(25)&amp;lt;/code&amp;gt;, and to make a seek action that goes back 36 seconds use &amp;lt;code&amp;gt;Seek(-36)&amp;lt;/code&amp;gt;. &#039;&#039;&#039;(v15 Isengard addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepForward&amp;lt;/code&amp;gt; || Go to to next chapter in video. If no chapters, then step forward 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepBack&amp;lt;/code&amp;gt; || Go to previous chapter in video, If no chapters, then step back 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextScene&amp;lt;/code&amp;gt; || Go to next scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousScene&amp;lt;/code&amp;gt; || Go to previous scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD (On Screen Display) while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDVD&amp;lt;/code&amp;gt; || Start playing a DVD (goes to the DVD menu)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowVideoMenu&amp;lt;/code&amp;gt; || Go to the DVD Video menu when playing a DVD.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowSubtitles&amp;lt;/code&amp;gt; || Toggles whether subtitles are shown or not.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextSubtitle&amp;lt;/code&amp;gt; || Change to the next subtitle language, if there is more than one.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftUp&amp;lt;/code&amp;gt; || Move subtitles up&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || Move subtitles down&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || Subtitle position control&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CodecInfo&amp;lt;/code&amp;gt; || Show codec information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProcessInfo&amp;lt;/code&amp;gt; || Show player process information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProgramSelect&amp;lt;/code&amp;gt; || Show dialog to select a program tv channel (during video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPicture&amp;lt;/code&amp;gt; || Move to the next picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPicture&amp;lt;/code&amp;gt; || Move to the previous picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomOut&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom out of the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomIn&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom in to the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to increase the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to decrease the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; || Queue the item to the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayNext&amp;lt;/code&amp;gt; || Queue the item to the next position in the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. Used in the [[Advanced_library_filtering|advanced filter]] for the video library.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist&amp;lt;/code&amp;gt; || Toggle to playlist view from My Music or My Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomNormal&amp;lt;/code&amp;gt; || Normal (fullscreen) viewing in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel1&amp;lt;/code&amp;gt; || Zoom to 120% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel2&amp;lt;/code&amp;gt; || Zoom to 150% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel3&amp;lt;/code&amp;gt; || Zoom to 200% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel4&amp;lt;/code&amp;gt; || Zoom to 280% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel5&amp;lt;/code&amp;gt; || Zoom to 400% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel6&amp;lt;/code&amp;gt; || Zoom to 600% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel7&amp;lt;/code&amp;gt; || Zoom to 900% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel8&amp;lt;/code&amp;gt; || Zoom to 1350% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel9&amp;lt;/code&amp;gt; || Zoom to 2000% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ResetCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogMove&amp;lt;/code&amp;gt; || Move in the calibration screens, and while zoomed in My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rotate&amp;lt;/code&amp;gt; || Rotate a picture in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rotateccw&amp;lt;/code&amp;gt; || Rotate current picture counterclockwise during slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Close&amp;lt;/code&amp;gt; || Used to close a dialog&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitledelay&amp;lt;/code&amp;gt; || Show the current delay amount of subtitles.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of subtitles (use if subtitles are displaying too late)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of subtitles (use if subtitles are displaying too early)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiodelay&amp;lt;/code&amp;gt; || Show the current delay amount of audio.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of audio (use if audio is being heard too early) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of audio (use if audio is being heard too late) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioNextLanguage&amp;lt;/code&amp;gt; || Change to the next audio track in a video with multiple audio tracks.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextResolution&amp;lt;/code&amp;gt; || Used in Video calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Number&#039;&#039;&amp;lt;0-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Used to input the number 0 through 9&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FastForward&amp;lt;/code&amp;gt; || Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rewind&amp;lt;/code&amp;gt; || Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Play&amp;lt;/code&amp;gt; || Play the selected item (or folder of items).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPause&amp;lt;/code&amp;gt; || Play the selected item (or folder of items). Will also pause media when something is already playing.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; || Used in My Files to delete a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Copy&amp;lt;/code&amp;gt; || Used in My Files to copy a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; || Used in My Files to move a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rename&amp;lt;/code&amp;gt; || Used in My Files to rename a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;HideSubmenu&amp;lt;/code&amp;gt; || &amp;lt;depreciated&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Screenshot&amp;lt;/code&amp;gt; || Take a screenshot of the current screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt; || Reboot&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown()&amp;lt;/code&amp;gt; || Shutdown and power off&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeUp&amp;lt;/code&amp;gt; || Increase the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeDown&amp;lt;/code&amp;gt; || Decrease the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt; || Mute the volume.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampup&amp;lt;/code&amp;gt; || Increase volume amplification.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampdown&amp;lt;/code&amp;gt; || Decrease volume amplification.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiotoggledigital&amp;lt;/code&amp;gt; || Switch between digital / analog audio.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BackSpace&amp;lt;/code&amp;gt; || Used in the virtual keyboards to delete one letter.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollUp&amp;lt;/code&amp;gt; || Variable speed scroll up for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollDown&amp;lt;/code&amp;gt; || Variable speed scroll down for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogFastForward&amp;lt;/code&amp;gt; || Variable speed fast forward for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogRewind&amp;lt;/code&amp;gt; || Variable speed rewind for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekForward&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekBack&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemUp&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemDown&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Menu&amp;lt;/code&amp;gt; || Focus the menu control (e.g. sidebar in confluence) which is specified by the skin in different windows (e.g. Movies, Music, PVR etc.) &#039;&#039;&#039;(v16 Jarvis addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ContextMenu&amp;lt;/code&amp;gt; || Pops up a contextual menu&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to upper or lower case letters&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Symbols&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to or from symbols mode&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorLeft&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the left&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorRight&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the right&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowTime&amp;lt;/code&amp;gt; || Used to show the current play time in music + video playback&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; || Shows the visualisation preset list&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPreset&amp;lt;/code&amp;gt; || Shows the current visualisation preset (milkdrop/spectrum)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPreset&amp;lt;/code&amp;gt; || Next visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPreset&amp;lt;/code&amp;gt; || Previous visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;LockPreset&amp;lt;/code&amp;gt; || Lock the current visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;RandomPreset&amp;lt;/code&amp;gt; || Switch to a new random preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreaseRating&amp;lt;/code&amp;gt; || Used to increase track rating in full screen playback (press info on track and use pageplus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreaseRating&amp;lt;/code&amp;gt; || Used to decrease track rating in full screen playback (press info on track and use pageminus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleWatched&amp;lt;/code&amp;gt; || Toggles watched/unwatched status for Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextLetter&amp;lt;/code&amp;gt; || Move to the next letter in a list or thumb panel. Note that SHIFT-B on the keyboard will take you to the B&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PrevLetter&amp;lt;/code&amp;gt; || Move to the previous letter in a list or thumb panel. Note that SHIFT-Z on the keyboard will take you to the Z&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JumpSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Jump through a list using SMS-style input (eg press 2 twice to jump to the B&#039;s.)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FilterSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Filter a list in music or videos using SMS-style input.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftup&amp;lt;/code&amp;gt; || Shift up video image currently played.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftdown&amp;lt;/code&amp;gt; || Shift down video image currently played.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scanitem&amp;lt;/code&amp;gt; || Scan selected item for video or music files.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;reloadkeymaps&amp;lt;/code&amp;gt; || Reload keymap, loading any changes made to the keymap since started up.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;increasevisrating&amp;lt;/code&amp;gt; || Increase the preset rate for visualization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;decreasevisrating&amp;lt;/code&amp;gt; || Decrease the preset rate for visualization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;firstpage&amp;lt;/code&amp;gt; || Move to the first element of the page.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;lastpage&amp;lt;/code&amp;gt; || Move to the last element of the page.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;guiprofile&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_GUIPROFILE_BEGIN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;red&amp;lt;/code&amp;gt; || Used to simulate red button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;green&amp;lt;/code&amp;gt; || Used to simulate green button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yellow&amp;lt;/code&amp;gt; || Used to simulate yellow button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blue&amp;lt;/code&amp;gt; || Used to simulate blue button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreateBookmark&amp;lt;/code&amp;gt; || Creates a bookmark of the currently playing Video &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreatEpisodeBookmark&amp;lt;/code&amp;gt; || Creates an episode bookmark of the currently playing multi-episode file (e.g. S01E01E02). An episode bookmark specifies the end of the one and the begin of the other episode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the next channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the previous channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelUp&amp;lt;/code&amp;gt; || [[PVR]] Used to switch up to the next channel. Works only if you playback TV or radio &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelDown&amp;lt;/code&amp;gt; || [[PVR]] Used to switch down to the previous channel. Works only if you playback TV or radio&#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV or radio channel depends on the last played channel. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a radio channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Record&amp;lt;/code&amp;gt; || [[PVR]] record current playing channel or selected item in windows like EPG &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleCommSkip&amp;lt;/code&amp;gt; || Enable / Disable commercial skipping (based on [[Edit_decision_list]] file) during video playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SwitchPlayer&amp;lt;/code&amp;gt; || Select player to use, such as internal (DVDPlayer/PAPlayer), UPnP &amp;quot;play using&amp;quot; targets, external players. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(video)&amp;lt;/code&amp;gt; || Update Movie/TV-Show library (only tested with v13 Gotham addition).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SetRating&amp;lt;/code&amp;gt; || For use when playing music. Will pop-up a 1-10 userrating select dialog, to rate the currently playing song. &#039;&#039;&#039;(v17 Krypton addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DialogSelectVideo&amp;lt;/code&amp;gt; || Open a window dialog to select a video stream. &#039;&#039;&#039;(v22 Piers addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DialogSelectAudio&amp;lt;/code&amp;gt; || Open a window dialog to select an audio stream. &#039;&#039;&#039;(v22 Piers addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DialogSelectSubtitle&amp;lt;/code&amp;gt; || Open a window dialog to select a subtitle stream. &#039;&#039;&#039;(v22 Piers addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Other&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;noop&amp;lt;/code&amp;gt; || No action. Used to specifically disable a key.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed action IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;PresetList&amp;lt;/code&amp;gt; - replaced with &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; in a previous version (unknown?)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Keymaps]]&lt;br /&gt;
* [[Window IDs]]&lt;br /&gt;
* [[Built-in scripting]]&lt;br /&gt;
&lt;br /&gt;
{{updated|21}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253619</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253619"/>
		<updated>2024-10-17T14:35:38Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: reworded text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
;Main actions&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Left&amp;lt;/code&amp;gt; || Move left off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Right&amp;lt;/code&amp;gt; || Move right off a control. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Up&amp;lt;/code&amp;gt; || Move up off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Down&amp;lt;/code&amp;gt; || Move down off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Select&amp;lt;/code&amp;gt; || Select a button, or an item from a list of thumb view.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ENTER) Not sure about all areas, but on some windows this will be the same as the &amp;quot;done&amp;quot; on screen button.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt; || Scroll up on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt; || Scroll down on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Highlight&amp;lt;/code&amp;gt; || Highlight an item in a list or thumb view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentDir&amp;lt;/code&amp;gt; || Go up a folder to the parent folder. &#039;&#039;&#039;(deprecated, same meaning of &amp;quot;Back&amp;quot; action)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentFolder&amp;lt;/code&amp;gt; || Go up a folder to the parent folder.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousMenu&amp;lt;/code&amp;gt; || Go back to the previous menu screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; || Go back in navigation.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Info&amp;lt;/code&amp;gt; || Show the information about the currently highlighted item, or currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Pause&amp;lt;/code&amp;gt; || Pause the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Stop&amp;lt;/code&amp;gt; || Stop the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipNext&amp;lt;/code&amp;gt; || Skip to next video in playlist. If no playlist, then skip to next chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipPrevious&amp;lt;/code&amp;gt; || Skip to previous video in playlist. If no playlist, then skip to previous chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FullScreen&amp;lt;/code&amp;gt; || Toggles full-screen content playback (either visualisation or video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;togglefullscreen&amp;lt;/code&amp;gt; || Changes whether the app is displayed full-screen or windowed (on windowing OSs)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AspectRatio&amp;lt;/code&amp;gt; || Toggle through the various aspect ratio modes (Normal is the preferred option).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepForward&amp;lt;/code&amp;gt; || Step forward 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepBack&amp;lt;/code&amp;gt; || Step back 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepForward&amp;lt;/code&amp;gt; || Step forward 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepBack&amp;lt;/code&amp;gt; || Step back 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; || Step back 7 seconds in the current video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(&#039;&#039;##&#039;&#039;)&amp;lt;/code&amp;gt; || A definable seek action, where &amp;lt;code&amp;gt;&#039;&#039;##&#039;&#039;&amp;lt;/code&amp;gt; is a number of seconds. For example, to make a seek action that goes forward 25 seconds use &amp;lt;code&amp;gt;Seek(25)&amp;lt;/code&amp;gt;, and to make a seek action that goes back 36 seconds use &amp;lt;code&amp;gt;Seek(-36)&amp;lt;/code&amp;gt;. &#039;&#039;&#039;(v15 Isengard addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepForward&amp;lt;/code&amp;gt; || Go to to next chapter in video. If no chapters, then step forward 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepBack&amp;lt;/code&amp;gt; || Go to previous chapter in video, If no chapters, then step back 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextScene&amp;lt;/code&amp;gt; || Go to next scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousScene&amp;lt;/code&amp;gt; || Go to previous scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD (On Screen Display) while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDVD&amp;lt;/code&amp;gt; || Start playing a DVD (goes to the DVD menu)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowVideoMenu&amp;lt;/code&amp;gt; || Go to the DVD Video menu when playing a DVD.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowSubtitles&amp;lt;/code&amp;gt; || Toggles whether subtitles are shown or not.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextSubtitle&amp;lt;/code&amp;gt; || Change to the next subtitle language, if there is more than one.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftUp&amp;lt;/code&amp;gt; || Move subtitles up&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || Move subtitles down&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || Subtitle position control&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CodecInfo&amp;lt;/code&amp;gt; || Show codec information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProcessInfo&amp;lt;/code&amp;gt; || Show player process information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProgramSelect&amp;lt;/code&amp;gt; || Show dialog to select a program tv channel (during video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPicture&amp;lt;/code&amp;gt; || Move to the next picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPicture&amp;lt;/code&amp;gt; || Move to the previous picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomOut&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom out of the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomIn&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom in to the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to increase the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to decrease the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; || Queue the item to the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayNext&amp;lt;/code&amp;gt; || Queue the item to the next position in the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. Used in the [[Advanced_library_filtering|advanced filter]] for the video library.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist&amp;lt;/code&amp;gt; || Toggle to playlist view from My Music or My Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomNormal&amp;lt;/code&amp;gt; || Normal (fullscreen) viewing in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel1&amp;lt;/code&amp;gt; || Zoom to 120% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel2&amp;lt;/code&amp;gt; || Zoom to 150% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel3&amp;lt;/code&amp;gt; || Zoom to 200% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel4&amp;lt;/code&amp;gt; || Zoom to 280% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel5&amp;lt;/code&amp;gt; || Zoom to 400% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel6&amp;lt;/code&amp;gt; || Zoom to 600% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel7&amp;lt;/code&amp;gt; || Zoom to 900% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel8&amp;lt;/code&amp;gt; || Zoom to 1350% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel9&amp;lt;/code&amp;gt; || Zoom to 2000% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ResetCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogMove&amp;lt;/code&amp;gt; || Move in the calibration screens, and while zoomed in My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rotate&amp;lt;/code&amp;gt; || Rotate a picture in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rotateccw&amp;lt;/code&amp;gt; || Rotate current picture counterclockwise during slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Close&amp;lt;/code&amp;gt; || Used to close a dialog&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitledelay&amp;lt;/code&amp;gt; || Show the current delay amount of subtitles.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of subtitles (use if subtitles are displaying too late)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of subtitles (use if subtitles are displaying too early)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiodelay&amp;lt;/code&amp;gt; || Show the current delay amount of audio.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of audio (use if audio is being heard too early) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of audio (use if audio is being heard too late) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioNextLanguage&amp;lt;/code&amp;gt; || Change to the next audio track in a video with multiple audio tracks.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextResolution&amp;lt;/code&amp;gt; || Used in Video calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Number&#039;&#039;&amp;lt;0-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Used to input the number 0 through 9&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FastForward&amp;lt;/code&amp;gt; || Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rewind&amp;lt;/code&amp;gt; || Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Play&amp;lt;/code&amp;gt; || Play the selected item (or folder of items).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPause&amp;lt;/code&amp;gt; || Play the selected item (or folder of items). Will also pause media when something is already playing.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; || Used in My Files to delete a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Copy&amp;lt;/code&amp;gt; || Used in My Files to copy a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; || Used in My Files to move a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rename&amp;lt;/code&amp;gt; || Used in My Files to rename a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;HideSubmenu&amp;lt;/code&amp;gt; || &amp;lt;depreciated&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Screenshot&amp;lt;/code&amp;gt; || Take a screenshot of the current screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt; || Reboot&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown()&amp;lt;/code&amp;gt; || Shutdown and power off&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeUp&amp;lt;/code&amp;gt; || Increase the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeDown&amp;lt;/code&amp;gt; || Decrease the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt; || Mute the volume.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampup&amp;lt;/code&amp;gt; || Increase volume amplification.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampdown&amp;lt;/code&amp;gt; || Decrease volume amplification.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiotoggledigital&amp;lt;/code&amp;gt; || Switch between digital / analog audio.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BackSpace&amp;lt;/code&amp;gt; || Used in the virtual keyboards to delete one letter.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollUp&amp;lt;/code&amp;gt; || Variable speed scroll up for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollDown&amp;lt;/code&amp;gt; || Variable speed scroll down for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogFastForward&amp;lt;/code&amp;gt; || Variable speed fast forward for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogRewind&amp;lt;/code&amp;gt; || Variable speed rewind for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekForward&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekBack&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemUp&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemDown&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Menu&amp;lt;/code&amp;gt; || Focus the menu control (e.g. sidebar in confluence) which is specified by the skin in different windows (e.g. Movies, Music, PVR etc.) &#039;&#039;&#039;(v16 Jarvis addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ContextMenu&amp;lt;/code&amp;gt; || Pops up a contextual menu&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to upper or lower case letters&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Symbols&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to or from symbols mode&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorLeft&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the left&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorRight&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the right&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowTime&amp;lt;/code&amp;gt; || Used to show the current play time in music + video playback&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; || Shows the visualisation preset list&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPreset&amp;lt;/code&amp;gt; || Shows the current visualisation preset (milkdrop/spectrum)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPreset&amp;lt;/code&amp;gt; || Next visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPreset&amp;lt;/code&amp;gt; || Previous visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;LockPreset&amp;lt;/code&amp;gt; || Lock the current visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;RandomPreset&amp;lt;/code&amp;gt; || Switch to a new random preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreaseRating&amp;lt;/code&amp;gt; || Used to increase track rating in full screen playback (press info on track and use pageplus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreaseRating&amp;lt;/code&amp;gt; || Used to decrease track rating in full screen playback (press info on track and use pageminus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleWatched&amp;lt;/code&amp;gt; || Toggles watched/unwatched status for Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextLetter&amp;lt;/code&amp;gt; || Move to the next letter in a list or thumb panel. Note that SHIFT-B on the keyboard will take you to the B&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PrevLetter&amp;lt;/code&amp;gt; || Move to the previous letter in a list or thumb panel. Note that SHIFT-Z on the keyboard will take you to the Z&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JumpSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Jump through a list using SMS-style input (eg press 2 twice to jump to the B&#039;s.)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FilterSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Filter a list in music or videos using SMS-style input.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftup&amp;lt;/code&amp;gt; || Shift up video image currently played.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftdown&amp;lt;/code&amp;gt; || Shift down video image currently played.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scanitem&amp;lt;/code&amp;gt; || Scan selected item for video or music files.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;reloadkeymaps&amp;lt;/code&amp;gt; || Reload keymap, loading any changes made to the keymap since started up.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;increasevisrating&amp;lt;/code&amp;gt; || Increase the preset rate for visualization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;decreasevisrating&amp;lt;/code&amp;gt; || Decrease the preset rate for visualization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;firstpage&amp;lt;/code&amp;gt; || Move to the first element of the page.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;lastpage&amp;lt;/code&amp;gt; || Move to the last element of the page.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;guiprofile&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_GUIPROFILE_BEGIN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;red&amp;lt;/code&amp;gt; || Used to simulate red button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;green&amp;lt;/code&amp;gt; || Used to simulate green button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yellow&amp;lt;/code&amp;gt; || Used to simulate yellow button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blue&amp;lt;/code&amp;gt; || Used to simulate blue button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreateBookmark&amp;lt;/code&amp;gt; || Creates a bookmark of the currently playing Video &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreatEpisodeBookmark&amp;lt;/code&amp;gt; || Creates an episode bookmark of the currently playing multi-episode file (e.g. S01E01E02). An episode bookmark specifies the end of the one and the begin of the other episode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the next channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the previous channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelUp&amp;lt;/code&amp;gt; || [[PVR]] Used to switch up to the next channel. Works only if you playback TV or radio &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelDown&amp;lt;/code&amp;gt; || [[PVR]] Used to switch down to the previous channel. Works only if you playback TV or radio&#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV or radio channel depends on the last played channel. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a radio channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Record&amp;lt;/code&amp;gt; || [[PVR]] record current playing channel or selected item in windows like EPG &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleCommSkip&amp;lt;/code&amp;gt; || Enable / Disable commercial skipping (based on [[Edit_decision_list]] file) during video playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SwitchPlayer&amp;lt;/code&amp;gt; || Select player to use, such as internal (DVDPlayer/PAPlayer), UPnP &amp;quot;play using&amp;quot; targets, external players. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(video)&amp;lt;/code&amp;gt; || Update Movie/TV-Show library (only tested with v13 Gotham addition).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SetRating&amp;lt;/code&amp;gt; || For use when playing music. Will pop-up a 1-10 userrating select dialog, to rate the currently playing song. &#039;&#039;&#039;(v17 Krypton addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Other&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;noop&amp;lt;/code&amp;gt; || No action. Used to specifically disable a key.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed action IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;PresetList&amp;lt;/code&amp;gt; - replaced with &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; in a previous version (unknown?)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Keymaps]]&lt;br /&gt;
* [[Window IDs]]&lt;br /&gt;
* [[Built-in scripting]]&lt;br /&gt;
&lt;br /&gt;
{{updated|21}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253618</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253618"/>
		<updated>2024-10-17T14:28:48Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Updated for v21&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
;Main actions&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Left&amp;lt;/code&amp;gt; || Move left off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Right&amp;lt;/code&amp;gt; || Move right off a control. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Up&amp;lt;/code&amp;gt; || Move up off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Down&amp;lt;/code&amp;gt; || Move down off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Select&amp;lt;/code&amp;gt; || Select a button, or an item from a list of thumb view.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ENTER) Not sure about all areas, but on some windows this will be the same as the &amp;quot;done&amp;quot; on screen button.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt; || Scroll up on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt; || Scroll down on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Highlight&amp;lt;/code&amp;gt; || Highlight an item in a list or thumb view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentDir&amp;lt;/code&amp;gt; || Go up a folder to the parent folder. &#039;&#039;&#039;(deprecated, same meaning of &amp;quot;Back&amp;quot; code)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentFolder&amp;lt;/code&amp;gt; || Go up a folder to the parent folder.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousMenu&amp;lt;/code&amp;gt; || Go back to the previous menu screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; || Go back in navigation.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Info&amp;lt;/code&amp;gt; || Show the information about the currently highlighted item, or currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Pause&amp;lt;/code&amp;gt; || Pause the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Stop&amp;lt;/code&amp;gt; || Stop the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipNext&amp;lt;/code&amp;gt; || Skip to next video in playlist. If no playlist, then skip to next chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipPrevious&amp;lt;/code&amp;gt; || Skip to previous video in playlist. If no playlist, then skip to previous chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FullScreen&amp;lt;/code&amp;gt; || Toggles full-screen content playback (either visualisation or video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;togglefullscreen&amp;lt;/code&amp;gt; || Changes whether the app is displayed full-screen or windowed (on windowing OSs)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AspectRatio&amp;lt;/code&amp;gt; || Toggle through the various aspect ratio modes (Normal is the preferred option).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepForward&amp;lt;/code&amp;gt; || Step forward 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepBack&amp;lt;/code&amp;gt; || Step back 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepForward&amp;lt;/code&amp;gt; || Step forward 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepBack&amp;lt;/code&amp;gt; || Step back 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; || Step back 7 seconds in the current video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(&#039;&#039;##&#039;&#039;)&amp;lt;/code&amp;gt; || A definable seek action, where &amp;lt;code&amp;gt;&#039;&#039;##&#039;&#039;&amp;lt;/code&amp;gt; is a number of seconds. For example, to make a seek action that goes forward 25 seconds use &amp;lt;code&amp;gt;Seek(25)&amp;lt;/code&amp;gt;, and to make a seek action that goes back 36 seconds use &amp;lt;code&amp;gt;Seek(-36)&amp;lt;/code&amp;gt;. &#039;&#039;&#039;(v15 Isengard addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepForward&amp;lt;/code&amp;gt; || Go to to next chapter in video. If no chapters, then step forward 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepBack&amp;lt;/code&amp;gt; || Go to previous chapter in video, If no chapters, then step back 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextScene&amp;lt;/code&amp;gt; || Go to next scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousScene&amp;lt;/code&amp;gt; || Go to previous scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD (On Screen Display) while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDVD&amp;lt;/code&amp;gt; || Start playing a DVD (goes to the DVD menu)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowVideoMenu&amp;lt;/code&amp;gt; || Go to the DVD Video menu when playing a DVD.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowSubtitles&amp;lt;/code&amp;gt; || Toggles whether subtitles are shown or not.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextSubtitle&amp;lt;/code&amp;gt; || Change to the next subtitle language, if there is more than one.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftUp&amp;lt;/code&amp;gt; || Move subtitles up&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || Move subtitles down&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || Subtitle position control&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CodecInfo&amp;lt;/code&amp;gt; || Show codec information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProcessInfo&amp;lt;/code&amp;gt; || Show player process information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProgramSelect&amp;lt;/code&amp;gt; || Show dialog to select a program tv channel (during video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPicture&amp;lt;/code&amp;gt; || Move to the next picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPicture&amp;lt;/code&amp;gt; || Move to the previous picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomOut&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom out of the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomIn&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom in to the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to increase the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to decrease the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; || Queue the item to the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayNext&amp;lt;/code&amp;gt; || Queue the item to the next position in the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. Used in the [[Advanced_library_filtering|advanced filter]] for the video library.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist&amp;lt;/code&amp;gt; || Toggle to playlist view from My Music or My Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomNormal&amp;lt;/code&amp;gt; || Normal (fullscreen) viewing in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel1&amp;lt;/code&amp;gt; || Zoom to 120% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel2&amp;lt;/code&amp;gt; || Zoom to 150% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel3&amp;lt;/code&amp;gt; || Zoom to 200% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel4&amp;lt;/code&amp;gt; || Zoom to 280% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel5&amp;lt;/code&amp;gt; || Zoom to 400% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel6&amp;lt;/code&amp;gt; || Zoom to 600% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel7&amp;lt;/code&amp;gt; || Zoom to 900% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel8&amp;lt;/code&amp;gt; || Zoom to 1350% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel9&amp;lt;/code&amp;gt; || Zoom to 2000% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ResetCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogMove&amp;lt;/code&amp;gt; || Move in the calibration screens, and while zoomed in My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rotate&amp;lt;/code&amp;gt; || Rotate a picture in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rotateccw&amp;lt;/code&amp;gt; || Rotate current picture counterclockwise during slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Close&amp;lt;/code&amp;gt; || Used to close a dialog&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitledelay&amp;lt;/code&amp;gt; || Show the current delay amount of subtitles.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of subtitles (use if subtitles are displaying too late)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of subtitles (use if subtitles are displaying too early)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiodelay&amp;lt;/code&amp;gt; || Show the current delay amount of audio.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of audio (use if audio is being heard too early) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of audio (use if audio is being heard too late) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioNextLanguage&amp;lt;/code&amp;gt; || Change to the next audio track in a video with multiple audio tracks.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextResolution&amp;lt;/code&amp;gt; || Used in Video calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Number&#039;&#039;&amp;lt;0-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Used to input the number 0 through 9&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FastForward&amp;lt;/code&amp;gt; || Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rewind&amp;lt;/code&amp;gt; || Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Play&amp;lt;/code&amp;gt; || Play the selected item (or folder of items).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPause&amp;lt;/code&amp;gt; || Play the selected item (or folder of items). Will also pause media when something is already playing.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; || Used in My Files to delete a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Copy&amp;lt;/code&amp;gt; || Used in My Files to copy a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; || Used in My Files to move a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rename&amp;lt;/code&amp;gt; || Used in My Files to rename a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;HideSubmenu&amp;lt;/code&amp;gt; || &amp;lt;depreciated&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Screenshot&amp;lt;/code&amp;gt; || Take a screenshot of the current screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt; || Reboot&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown()&amp;lt;/code&amp;gt; || Shutdown and power off&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeUp&amp;lt;/code&amp;gt; || Increase the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeDown&amp;lt;/code&amp;gt; || Decrease the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt; || Mute the volume.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampup&amp;lt;/code&amp;gt; || Increase volume amplification.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampdown&amp;lt;/code&amp;gt; || Decrease volume amplification.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiotoggledigital&amp;lt;/code&amp;gt; || Switch between digital / analog audio.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BackSpace&amp;lt;/code&amp;gt; || Used in the virtual keyboards to delete one letter.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollUp&amp;lt;/code&amp;gt; || Variable speed scroll up for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollDown&amp;lt;/code&amp;gt; || Variable speed scroll down for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogFastForward&amp;lt;/code&amp;gt; || Variable speed fast forward for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogRewind&amp;lt;/code&amp;gt; || Variable speed rewind for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekForward&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekBack&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemUp&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemDown&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Menu&amp;lt;/code&amp;gt; || Focus the menu control (e.g. sidebar in confluence) which is specified by the skin in different windows (e.g. Movies, Music, PVR etc.) &#039;&#039;&#039;(v16 Jarvis addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ContextMenu&amp;lt;/code&amp;gt; || Pops up a contextual menu&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to upper or lower case letters&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Symbols&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to or from symbols mode&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorLeft&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the left&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorRight&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the right&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowTime&amp;lt;/code&amp;gt; || Used to show the current play time in music + video playback&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; || Shows the visualisation preset list&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPreset&amp;lt;/code&amp;gt; || Shows the current visualisation preset (milkdrop/spectrum)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPreset&amp;lt;/code&amp;gt; || Next visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPreset&amp;lt;/code&amp;gt; || Previous visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;LockPreset&amp;lt;/code&amp;gt; || Lock the current visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;RandomPreset&amp;lt;/code&amp;gt; || Switch to a new random preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreaseRating&amp;lt;/code&amp;gt; || Used to increase track rating in full screen playback (press info on track and use pageplus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreaseRating&amp;lt;/code&amp;gt; || Used to decrease track rating in full screen playback (press info on track and use pageminus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleWatched&amp;lt;/code&amp;gt; || Toggles watched/unwatched status for Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextLetter&amp;lt;/code&amp;gt; || Move to the next letter in a list or thumb panel. Note that SHIFT-B on the keyboard will take you to the B&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PrevLetter&amp;lt;/code&amp;gt; || Move to the previous letter in a list or thumb panel. Note that SHIFT-Z on the keyboard will take you to the Z&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JumpSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Jump through a list using SMS-style input (eg press 2 twice to jump to the B&#039;s.)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FilterSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Filter a list in music or videos using SMS-style input.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftup&amp;lt;/code&amp;gt; || Shift up video image currently played.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftdown&amp;lt;/code&amp;gt; || Shift down video image currently played.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scanitem&amp;lt;/code&amp;gt; || Scan selected item for video or music files.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;reloadkeymaps&amp;lt;/code&amp;gt; || Reload keymap, loading any changes made to the keymap since started up.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;increasevisrating&amp;lt;/code&amp;gt; || Increase the preset rate for visualization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;decreasevisrating&amp;lt;/code&amp;gt; || Decrease the preset rate for visualization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;firstpage&amp;lt;/code&amp;gt; || Move to the first element of the page.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;lastpage&amp;lt;/code&amp;gt; || Move to the last element of the page.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;guiprofile&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_GUIPROFILE_BEGIN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;red&amp;lt;/code&amp;gt; || Used to simulate red button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;green&amp;lt;/code&amp;gt; || Used to simulate green button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yellow&amp;lt;/code&amp;gt; || Used to simulate yellow button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blue&amp;lt;/code&amp;gt; || Used to simulate blue button click for the teletext.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreateBookmark&amp;lt;/code&amp;gt; || Creates a bookmark of the currently playing Video &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreatEpisodeBookmark&amp;lt;/code&amp;gt; || Creates an episode bookmark of the currently playing multi-episode file (e.g. S01E01E02). An episode bookmark specifies the end of the one and the begin of the other episode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the next channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the previous channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelUp&amp;lt;/code&amp;gt; || [[PVR]] Used to switch up to the next channel. Works only if you playback TV or radio &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelDown&amp;lt;/code&amp;gt; || [[PVR]] Used to switch down to the previous channel. Works only if you playback TV or radio&#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV or radio channel depends on the last played channel. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a radio channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Record&amp;lt;/code&amp;gt; || [[PVR]] record current playing channel or selected item in windows like EPG &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleCommSkip&amp;lt;/code&amp;gt; || Enable / Disable commercial skipping (based on [[Edit_decision_list]] file) during video playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SwitchPlayer&amp;lt;/code&amp;gt; || Select player to use, such as internal (DVDPlayer/PAPlayer), UPnP &amp;quot;play using&amp;quot; targets, external players. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(video)&amp;lt;/code&amp;gt; || Update Movie/TV-Show library (only tested with v13 Gotham addition).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SetRating&amp;lt;/code&amp;gt; || For use when playing music. Will pop-up a 1-10 userrating select dialog, to rate the currently playing song. &#039;&#039;&#039;(v17 Krypton addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Other&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;noop&amp;lt;/code&amp;gt; || No action. Used to specifically disable a key.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed action IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;PresetList&amp;lt;/code&amp;gt; - replaced with &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; in a previous version (unknown?)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Keymaps]]&lt;br /&gt;
* [[Window IDs]]&lt;br /&gt;
* [[Built-in scripting]]&lt;br /&gt;
&lt;br /&gt;
{{updated|21}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253617</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253617"/>
		<updated>2024-10-17T09:35:00Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add link to EDL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
;Main actions&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Left&amp;lt;/code&amp;gt; || Move left off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Right&amp;lt;/code&amp;gt; || Move right off a control. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Up&amp;lt;/code&amp;gt; || Move up off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Down&amp;lt;/code&amp;gt; || Move down off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Select&amp;lt;/code&amp;gt; || Select a button, or an item from a list of thumb view.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ENTER) Not sure about all areas, but on some windows this will be the same as the &amp;quot;done&amp;quot; on screen button.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt; || Scroll up on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt; || Scroll down on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Highlight&amp;lt;/code&amp;gt; || Highlight an item in a list or thumb view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentDir&amp;lt;/code&amp;gt; || Go up a folder to the parent folder. &#039;&#039;&#039;(deprecated, same meaning of &amp;quot;Back&amp;quot; code)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentFolder&amp;lt;/code&amp;gt; || Go up a folder to the parent folder.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousMenu&amp;lt;/code&amp;gt; || Go back to the previous menu screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; || Go back in navigation.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Info&amp;lt;/code&amp;gt; || Show the information about the currently highlighted item, or currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Pause&amp;lt;/code&amp;gt; || Pause the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Stop&amp;lt;/code&amp;gt; || Stop the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipNext&amp;lt;/code&amp;gt; || Skip to next video in playlist. If no playlist, then skip to next chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipPrevious&amp;lt;/code&amp;gt; || Skip to previous video in playlist. If no playlist, then skip to previous chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FullScreen&amp;lt;/code&amp;gt; || Toggles full-screen content playback (either visualisation or video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;togglefullscreen&amp;lt;/code&amp;gt; || Changes whether the app is displayed full-screen or windowed (on windowing OSs)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AspectRatio&amp;lt;/code&amp;gt; || Toggle through the various aspect ratio modes (Normal is the preferred option).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepForward&amp;lt;/code&amp;gt; || Step forward 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepBack&amp;lt;/code&amp;gt; || Step back 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepForward&amp;lt;/code&amp;gt; || Step forward 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepBack&amp;lt;/code&amp;gt; || Step back 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; || Step back 7 seconds in the current video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(&#039;&#039;##&#039;&#039;)&amp;lt;/code&amp;gt; || A definable seek action, where &amp;lt;code&amp;gt;&#039;&#039;##&#039;&#039;&amp;lt;/code&amp;gt; is a number of seconds. For example, to make a seek action that goes forward 25 seconds use &amp;lt;code&amp;gt;Seek(25)&amp;lt;/code&amp;gt;, and to make a seek action that goes back 36 seconds use &amp;lt;code&amp;gt;Seek(-36)&amp;lt;/code&amp;gt;. &#039;&#039;&#039;(v15 Isengard addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepForward&amp;lt;/code&amp;gt; || Go to to next chapter in video. If no chapters, then step forward 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepBack&amp;lt;/code&amp;gt; || Go to previous chapter in video, If no chapters, then step back 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextScene&amp;lt;/code&amp;gt; || Go to next scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousScene&amp;lt;/code&amp;gt; || Go to previous scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD (On Screen Display) while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDVD&amp;lt;/code&amp;gt; || Start playing a DVD (goes to the DVD menu)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowVideoMenu&amp;lt;/code&amp;gt; || Go to the DVD Video menu when playing a DVD.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowSubtitles&amp;lt;/code&amp;gt; || Toggles whether subtitles are shown or not.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextSubtitle&amp;lt;/code&amp;gt; || Change to the next subtitle language, if there is more than one.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftUp&amp;lt;/code&amp;gt; || Move subtitles up&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || Move subtitles down&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || Subtitle position control&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CodecInfo&amp;lt;/code&amp;gt; || Show codec information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProcessInfo&amp;lt;/code&amp;gt; || Show player process information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProgramSelect&amp;lt;/code&amp;gt; || Show dialog to select a program tv channel (during video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPicture&amp;lt;/code&amp;gt; || Move to the next picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPicture&amp;lt;/code&amp;gt; || Move to the previous picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomOut&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom out of the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomIn&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom in to the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to increase the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to decrease the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; || Queue the item to the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayNext&amp;lt;/code&amp;gt; || Queue the item to the next position in the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. Used in the [[Advanced_library_filtering|advanced filter]] for the video library.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist&amp;lt;/code&amp;gt; || Toggle to playlist view from My Music or My Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomNormal&amp;lt;/code&amp;gt; || Normal (fullscreen) viewing in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel1&amp;lt;/code&amp;gt; || Zoom to 120% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel2&amp;lt;/code&amp;gt; || Zoom to 150% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel3&amp;lt;/code&amp;gt; || Zoom to 200% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel4&amp;lt;/code&amp;gt; || Zoom to 280% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel5&amp;lt;/code&amp;gt; || Zoom to 400% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel6&amp;lt;/code&amp;gt; || Zoom to 600% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel7&amp;lt;/code&amp;gt; || Zoom to 900% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel8&amp;lt;/code&amp;gt; || Zoom to 1350% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel9&amp;lt;/code&amp;gt; || Zoom to 2000% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ResetCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogMove&amp;lt;/code&amp;gt; || Move in the calibration screens, and while zoomed in My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rotate&amp;lt;/code&amp;gt; || Rotate a picture in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rotateccw&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ROTATE_PICTURE_CCW)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Close&amp;lt;/code&amp;gt; || Used to close a dialog&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitledelay&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_DELAY)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of subtitles (use if subtitles are displaying too late)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of subtitles (use if subtitles are displaying too early)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiodelay&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_AUDIO_DELAY)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of audio (use if audio is being heard too early) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of audio (use if audio is being heard too late) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioNextLanguage&amp;lt;/code&amp;gt; || Change to the next audio track in a video with multiple audio tracks.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextResolution&amp;lt;/code&amp;gt; || Used in Video calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Number&#039;&#039;&amp;lt;0-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Used to input the number 0 through 9&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FastForward&amp;lt;/code&amp;gt; || Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rewind&amp;lt;/code&amp;gt; || Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Play&amp;lt;/code&amp;gt; || Play the selected item (or folder of items).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPause&amp;lt;/code&amp;gt; || Play the selected item (or folder of items). Will also pause media when something is already playing.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; || Used in My Files to delete a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Copy&amp;lt;/code&amp;gt; || Used in My Files to copy a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; || Used in My Files to move a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rename&amp;lt;/code&amp;gt; || Used in My Files to rename a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;HideSubmenu&amp;lt;/code&amp;gt; || &amp;lt;depreciated&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Screenshot&amp;lt;/code&amp;gt; || Take a screenshot of the current screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt; || Reboot&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown()&amp;lt;/code&amp;gt; || Shutdown and power off&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeUp&amp;lt;/code&amp;gt; || Increase the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeDown&amp;lt;/code&amp;gt; || Decrease the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt; || Mute the volume.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VOLAMP_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VOLAMP_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiotoggledigital&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TOGGLE_DIGITAL_ANALOG)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BackSpace&amp;lt;/code&amp;gt; || Used in the virtual keyboards to delete one letter.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollUp&amp;lt;/code&amp;gt; || Variable speed scroll up for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollDown&amp;lt;/code&amp;gt; || Variable speed scroll down for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogFastForward&amp;lt;/code&amp;gt; || Variable speed fast forward for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogRewind&amp;lt;/code&amp;gt; || Variable speed rewind for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekForward&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekBack&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemUp&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemDown&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Menu&amp;lt;/code&amp;gt; || Focus the menu control (e.g. sidebar in confluence) which is specified by the skin in different windows (e.g. Movies, Music, PVR etc.) &#039;&#039;&#039;(v16 Jarvis addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ContextMenu&amp;lt;/code&amp;gt; || Pops up a contextual menu&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to upper or lower case letters&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Symbols&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to or from symbols mode&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorLeft&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the left&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorRight&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the right&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowTime&amp;lt;/code&amp;gt; || Used to show the current play time in music + video playback&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; || Shows the visualisation preset list&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPreset&amp;lt;/code&amp;gt; || Shows the current visualisation preset (milkdrop/spectrum)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPreset&amp;lt;/code&amp;gt; || Next visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPreset&amp;lt;/code&amp;gt; || Previous visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;LockPreset&amp;lt;/code&amp;gt; || Lock the current visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;RandomPreset&amp;lt;/code&amp;gt; || Switch to a new random preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreaseRating&amp;lt;/code&amp;gt; || Used to increase track rating in full screen playback (press info on track and use pageplus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreaseRating&amp;lt;/code&amp;gt; || Used to decrease track rating in full screen playback (press info on track and use pageminus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleWatched&amp;lt;/code&amp;gt; || Toggles watched/unwatched status for Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextLetter&amp;lt;/code&amp;gt; || Move to the next letter in a list or thumb panel. Note that SHIFT-B on the keyboard will take you to the B&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PrevLetter&amp;lt;/code&amp;gt; || Move to the previous letter in a list or thumb panel. Note that SHIFT-Z on the keyboard will take you to the Z&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JumpSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Jump through a list using SMS-style input (eg press 2 twice to jump to the B&#039;s.)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FilterSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Filter a list in music or videos using SMS-style input.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scanitem&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SCAN_ITEM)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;reloadkeymaps&amp;lt;/code&amp;gt; || Reload keymap, loading any changes made to the keymap since started up.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;increasevisrating&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VIS_RATE_PRESET_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;decreasevisrating&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VIS_RATE_PRESET_MINUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;firstpage&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_FIRST_PAGE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;lastpage&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_LAST_PAGE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;guiprofile&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_GUIPROFILE_BEGIN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;red&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_RED)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;green&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_GREEN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yellow&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_YELLOW)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blue&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_BLUE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreateBookmark&amp;lt;/code&amp;gt; || Creates a bookmark of the currently playing Video &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreatEpisodeBookmark&amp;lt;/code&amp;gt; || Creates an episode bookmark of the currently playing multi-episode file (e.g. S01E01E02). An episode bookmark specifies the end of the one and the begin of the other episode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the next channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the previous channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelUp&amp;lt;/code&amp;gt; || [[PVR]] Used to switch up to the next channel. Works only if you playback TV or radio &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelDown&amp;lt;/code&amp;gt; || [[PVR]] Used to switch down to the previous channel. Works only if you playback TV or radio&#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV or radio channel depends on the last played channel. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a radio channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Record&amp;lt;/code&amp;gt; || [[PVR]] record current playing channel or selected item in windows like EPG &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleCommSkip&amp;lt;/code&amp;gt; || Enable / Disable commercial skipping (based on [[Edit_decision_list]] file) during video playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SwitchPlayer&amp;lt;/code&amp;gt; || Select player to use, such as internal (DVDPlayer/PAPlayer), UPnP &amp;quot;play using&amp;quot; targets, external players. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(video)&amp;lt;/code&amp;gt; || Update Movie/TV-Show library (only tested with v13 Gotham addition).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SetRating&amp;lt;/code&amp;gt; || For use when playing music. Will pop-up a 1-10 userrating select dialog, to rate the currently playing song. &#039;&#039;&#039;(v17 Krypton addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Other&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;noop&amp;lt;/code&amp;gt; || No action. Used to specifically disable a key.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed action IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;PresetList&amp;lt;/code&amp;gt; - replaced with &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; in a previous version (unknown?)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Keymaps]]&lt;br /&gt;
* [[Window IDs]]&lt;br /&gt;
* [[Built-in scripting]]&lt;br /&gt;
&lt;br /&gt;
{{Isengard updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253616</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=253616"/>
		<updated>2024-10-17T08:25:23Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add missing code&amp;#039;s until to kodi 21&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
;Main actions&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Left&amp;lt;/code&amp;gt; || Move left off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Right&amp;lt;/code&amp;gt; || Move right off a control. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Up&amp;lt;/code&amp;gt; || Move up off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Down&amp;lt;/code&amp;gt; || Move down off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Select&amp;lt;/code&amp;gt; || Select a button, or an item from a list of thumb view.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ENTER) Not sure about all areas, but on some windows this will be the same as the &amp;quot;done&amp;quot; on screen button.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt; || Scroll up on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt; || Scroll down on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Highlight&amp;lt;/code&amp;gt; || Highlight an item in a list or thumb view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentDir&amp;lt;/code&amp;gt; || Go up a folder to the parent folder. &#039;&#039;&#039;(deprecated, same meaning of &amp;quot;Back&amp;quot; code)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentFolder&amp;lt;/code&amp;gt; || Go up a folder to the parent folder.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousMenu&amp;lt;/code&amp;gt; || Go back to the previous menu screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; || Go back in navigation.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Info&amp;lt;/code&amp;gt; || Show the information about the currently highlighted item, or currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Pause&amp;lt;/code&amp;gt; || Pause the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Stop&amp;lt;/code&amp;gt; || Stop the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipNext&amp;lt;/code&amp;gt; || Skip to next video in playlist. If no playlist, then skip to next chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipPrevious&amp;lt;/code&amp;gt; || Skip to previous video in playlist. If no playlist, then skip to previous chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FullScreen&amp;lt;/code&amp;gt; || Toggles full-screen content playback (either visualisation or video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;togglefullscreen&amp;lt;/code&amp;gt; || Changes whether the app is displayed full-screen or windowed (on windowing OSs)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AspectRatio&amp;lt;/code&amp;gt; || Toggle through the various aspect ratio modes (Normal is the preferred option).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepForward&amp;lt;/code&amp;gt; || Step forward 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepBack&amp;lt;/code&amp;gt; || Step back 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepForward&amp;lt;/code&amp;gt; || Step forward 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepBack&amp;lt;/code&amp;gt; || Step back 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; || Step back 7 seconds in the current video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(&#039;&#039;##&#039;&#039;)&amp;lt;/code&amp;gt; || A definable seek action, where &amp;lt;code&amp;gt;&#039;&#039;##&#039;&#039;&amp;lt;/code&amp;gt; is a number of seconds. For example, to make a seek action that goes forward 25 seconds use &amp;lt;code&amp;gt;Seek(25)&amp;lt;/code&amp;gt;, and to make a seek action that goes back 36 seconds use &amp;lt;code&amp;gt;Seek(-36)&amp;lt;/code&amp;gt;. &#039;&#039;&#039;(v15 Isengard addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepForward&amp;lt;/code&amp;gt; || Go to to next chapter in video. If no chapters, then step forward 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepBack&amp;lt;/code&amp;gt; || Go to previous chapter in video, If no chapters, then step back 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextScene&amp;lt;/code&amp;gt; || Go to next scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousScene&amp;lt;/code&amp;gt; || Go to previous scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD (On Screen Display) while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDVD&amp;lt;/code&amp;gt; || Start playing a DVD (goes to the DVD menu)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowVideoMenu&amp;lt;/code&amp;gt; || Go to the DVD Video menu when playing a DVD.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowSubtitles&amp;lt;/code&amp;gt; || Toggles whether subtitles are shown or not.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextSubtitle&amp;lt;/code&amp;gt; || Change to the next subtitle language, if there is more than one.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftUp&amp;lt;/code&amp;gt; || Move subtitles up&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || Move subtitles down&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || Subtitle position control&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CodecInfo&amp;lt;/code&amp;gt; || Show codec information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProcessInfo&amp;lt;/code&amp;gt; || Show player process information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerProgramSelect&amp;lt;/code&amp;gt; || Show dialog to select a program tv channel (during video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPicture&amp;lt;/code&amp;gt; || Move to the next picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPicture&amp;lt;/code&amp;gt; || Move to the previous picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomOut&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom out of the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomIn&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom in to the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to increase the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to decrease the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; || Queue the item to the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayNext&amp;lt;/code&amp;gt; || Queue the item to the next position in the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. Used in the [[Advanced_library_filtering|advanced filter]] for the video library.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist&amp;lt;/code&amp;gt; || Toggle to playlist view from My Music or My Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomNormal&amp;lt;/code&amp;gt; || Normal (fullscreen) viewing in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel1&amp;lt;/code&amp;gt; || Zoom to 120% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel2&amp;lt;/code&amp;gt; || Zoom to 150% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel3&amp;lt;/code&amp;gt; || Zoom to 200% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel4&amp;lt;/code&amp;gt; || Zoom to 280% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel5&amp;lt;/code&amp;gt; || Zoom to 400% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel6&amp;lt;/code&amp;gt; || Zoom to 600% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel7&amp;lt;/code&amp;gt; || Zoom to 900% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel8&amp;lt;/code&amp;gt; || Zoom to 1350% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel9&amp;lt;/code&amp;gt; || Zoom to 2000% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ResetCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogMove&amp;lt;/code&amp;gt; || Move in the calibration screens, and while zoomed in My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rotate&amp;lt;/code&amp;gt; || Rotate a picture in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rotateccw&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ROTATE_PICTURE_CCW)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Close&amp;lt;/code&amp;gt; || Used to close a dialog&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitledelay&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_DELAY)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of subtitles (use if subtitles are displaying too late)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of subtitles (use if subtitles are displaying too early)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiodelay&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_AUDIO_DELAY)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of audio (use if audio is being heard too early) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of audio (use if audio is being heard too late) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioNextLanguage&amp;lt;/code&amp;gt; || Change to the next audio track in a video with multiple audio tracks.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextResolution&amp;lt;/code&amp;gt; || Used in Video calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Number&#039;&#039;&amp;lt;0-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Used to input the number 0 through 9&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FastForward&amp;lt;/code&amp;gt; || Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rewind&amp;lt;/code&amp;gt; || Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Play&amp;lt;/code&amp;gt; || Play the selected item (or folder of items).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPause&amp;lt;/code&amp;gt; || Play the selected item (or folder of items). Will also pause media when something is already playing.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; || Used in My Files to delete a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Copy&amp;lt;/code&amp;gt; || Used in My Files to copy a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; || Used in My Files to move a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rename&amp;lt;/code&amp;gt; || Used in My Files to rename a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;HideSubmenu&amp;lt;/code&amp;gt; || &amp;lt;depreciated&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Screenshot&amp;lt;/code&amp;gt; || Take a screenshot of the current screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt; || Reboot&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown()&amp;lt;/code&amp;gt; || Shutdown and power off&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeUp&amp;lt;/code&amp;gt; || Increase the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeDown&amp;lt;/code&amp;gt; || Decrease the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt; || Mute the volume.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VOLAMP_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VOLAMP_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiotoggledigital&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TOGGLE_DIGITAL_ANALOG)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BackSpace&amp;lt;/code&amp;gt; || Used in the virtual keyboards to delete one letter.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollUp&amp;lt;/code&amp;gt; || Variable speed scroll up for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollDown&amp;lt;/code&amp;gt; || Variable speed scroll down for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogFastForward&amp;lt;/code&amp;gt; || Variable speed fast forward for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogRewind&amp;lt;/code&amp;gt; || Variable speed rewind for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekForward&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekBack&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemUp&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemDown&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Menu&amp;lt;/code&amp;gt; || Focus the menu control (e.g. sidebar in confluence) which is specified by the skin in different windows (e.g. Movies, Music, PVR etc.) &#039;&#039;&#039;(v16 Jarvis addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ContextMenu&amp;lt;/code&amp;gt; || Pops up a contextual menu&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to upper or lower case letters&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Symbols&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to or from symbols mode&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorLeft&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the left&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorRight&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the right&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowTime&amp;lt;/code&amp;gt; || Used to show the current play time in music + video playback&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; || Shows the visualisation preset list&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPreset&amp;lt;/code&amp;gt; || Shows the current visualisation preset (milkdrop/spectrum)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPreset&amp;lt;/code&amp;gt; || Next visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPreset&amp;lt;/code&amp;gt; || Previous visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;LockPreset&amp;lt;/code&amp;gt; || Lock the current visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;RandomPreset&amp;lt;/code&amp;gt; || Switch to a new random preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreaseRating&amp;lt;/code&amp;gt; || Used to increase track rating in full screen playback (press info on track and use pageplus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreaseRating&amp;lt;/code&amp;gt; || Used to decrease track rating in full screen playback (press info on track and use pageminus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleWatched&amp;lt;/code&amp;gt; || Toggles watched/unwatched status for Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextLetter&amp;lt;/code&amp;gt; || Move to the next letter in a list or thumb panel. Note that SHIFT-B on the keyboard will take you to the B&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PrevLetter&amp;lt;/code&amp;gt; || Move to the previous letter in a list or thumb panel. Note that SHIFT-Z on the keyboard will take you to the Z&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JumpSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Jump through a list using SMS-style input (eg press 2 twice to jump to the B&#039;s.)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FilterSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Filter a list in music or videos using SMS-style input.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scanitem&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SCAN_ITEM)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;reloadkeymaps&amp;lt;/code&amp;gt; || Reload keymap, loading any changes made to the keymap since started up.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;increasevisrating&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VIS_RATE_PRESET_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;decreasevisrating&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VIS_RATE_PRESET_MINUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;firstpage&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_FIRST_PAGE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;lastpage&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_LAST_PAGE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;guiprofile&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_GUIPROFILE_BEGIN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;red&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_RED)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;green&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_GREEN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yellow&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_YELLOW)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blue&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_BLUE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreateBookmark&amp;lt;/code&amp;gt; || Creates a bookmark of the currently playing Video &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreatEpisodeBookmark&amp;lt;/code&amp;gt; || Creates an episode bookmark of the currently playing multi-episode file (e.g. S01E01E02). An episode bookmark specifies the end of the one and the begin of the other episode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the next channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the previous channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelUp&amp;lt;/code&amp;gt; || [[PVR]] Used to switch up to the next channel. Works only if you playback TV or radio &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelDown&amp;lt;/code&amp;gt; || [[PVR]] Used to switch down to the previous channel. Works only if you playback TV or radio&#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV or radio channel depends on the last played channel. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a radio channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Record&amp;lt;/code&amp;gt; || [[PVR]] record current playing channel or selected item in windows like EPG &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleCommSkip&amp;lt;/code&amp;gt; || Enable / Disable commercial skipping (EDL based) during video playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SwitchPlayer&amp;lt;/code&amp;gt; || Select player to use, such as internal (DVDPlayer/PAPlayer), UPnP &amp;quot;play using&amp;quot; targets, external players. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(video)&amp;lt;/code&amp;gt; || Update Movie/TV-Show library (only tested with v13 Gotham addition).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SetRating&amp;lt;/code&amp;gt; || For use when playing music. Will pop-up a 1-10 userrating select dialog, to rate the currently playing song. &#039;&#039;&#039;(v17 Krypton addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Other&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;noop&amp;lt;/code&amp;gt; || No action. Used to specifically disable a key.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed action IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;PresetList&amp;lt;/code&amp;gt; - replaced with &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; in a previous version (unknown?)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Keymaps]]&lt;br /&gt;
* [[Window IDs]]&lt;br /&gt;
* [[Built-in scripting]]&lt;br /&gt;
&lt;br /&gt;
{{Isengard updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=248653</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=248653"/>
		<updated>2023-12-04T14:45:02Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: languagecodes - Add note for MKV files about workaround for language code with subtags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is only relevant for Passthrough in the context of resyncing, e.g.; when there is no resampling possible. This value decides after which amount of discontinuity in milliseconds VideoPlayer will ErrorAdjust the Clock. On platforms like Android where the sink delay is just a non exact interpolation, a too small value might cause rare image stutter. The maximum value is 100 ms. A higher value makes no sense cause of A/V issues. This is a last-resort workaround as the root-cause cannot be mitigated 100% [Available from Kodi v20] --&amp;gt;&lt;br /&gt;
  &amp;lt;maxpassthroughoffsyncduration&amp;gt;10&amp;lt;/maxpassthroughoffsyncduration&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
    &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
    &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
    &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
    &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Avoid showing the edl commbreak notifications. These are displayed by default --&amp;gt;&lt;br /&gt;
  &amp;lt;displaycommbreaknotifications&amp;gt;false&amp;lt;/displaycommbreaknotifications&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* displaycommbreaknotifications&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20711&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code with subtag (e.g. pt-BR):&#039;&#039;&#039;&lt;br /&gt;
{{note|This support is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE FOR MKV FILES:&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
MKV files that contain audio/subtitle tracks with language codes with subtags are not yet supported, but from &amp;lt;code&amp;gt;Kodi v21&amp;lt;/code&amp;gt; a workaround was introduced that allows Kodi to recognize language codes with subtags.&lt;br /&gt;
To use the workaround, you must open the MKV file with an editor and in the metadata of the desired audio/subtitle track, edit the track Name (or Title field) by adding the language code wrapped in curly brackets, as in following example:&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;Original track name: Audio portuguese/brazil&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;Modified track name: Audio portuguese/brazil {pt-BR}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to extend an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the same &amp;quot;long&amp;quot; description of the existing language, for example we reuse the Portughese language for another language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to override an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allow you to rename an existing language. Set to an existing language code your preferred &amp;quot;long&amp;quot; name description.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;WARNING: This can cause problems with add-ons, so do not override languages if you are not aware of the side effects.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en-GB&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Nexus/xbmc/settings/AdvancedSettings.cpp#L201-L211 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;([ _\\,\\.\\(\\)\\[\\]\\-](10bit|480p|480i|576p|576i|720p|720i|1080p|1080i|2160p|3d|aac|ac3|aka|atmos|avi|bd5|bdrip|bluray|brrip|cam|cd[1-9]|custom|dc|ddp|divx|divx5|dolbydigital|dolbyvision|dsr|dsrip|dts|dts-hdma|dts-hra|dts-x|dv|dvd|dvd5|dvd9|dvdivx|dvdrip|dvdscr|dvdscreener|extended|fragment|fs|h264|h265|hdr|hdr10|hevc|hddvd|hdrip|hdtv|hdtvrip|hrhd|hrhdtv|internal|limited|multisubs|nfofix|ntsc|ogg|ogm|pal|pdtv|proper|r3|r5|read.nfo|remastered|remux|repack|rerip|retail|screener|se|svcd|tc|telecine|telesync|truehd|ts|uhd|unrated|ws|x264|x265|xvid|xvidvd|xxx|web-dl|webrip|www.www|\\[.*\\])([ _\\,\\.\\(\\)\\[\\]\\-]|$)&amp;quot;);&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Updated in v20&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20549&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/master/xbmc/pictures/PictureScalingAlgorithm.cpp#L20-L32 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt;&lt;br /&gt;
  &amp;lt;nfsretries&amp;gt;0&amp;lt;/nfsretries&amp;gt;                 &amp;lt;!-- 0 to disable, default: -1 (unlimited) Added in v20--&amp;gt;&lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;More information:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;nfsretries&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19513&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;chunksize&amp;gt;65536&amp;lt;/chunksize&amp;gt; &amp;lt;!-- Filesystem like e.g. NFS might not properly receive the server&#039;s max read chunk values and therefore end up with a very low&lt;br /&gt;
                                    default, causing issues during Cache filling and buffering. This values can be tuned between 256 Bytes and 1048576 Bytes.&lt;br /&gt;
                                    Depending on the filesystem this value is overwritten by e.g. FileCache implementation when another default is appropriate --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = detectasudf&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Set to true if you wish to detect joint ISO9660/UDF disks as UDF.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;detectasudf&amp;gt;false&amp;lt;/detectasudf&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = handlemounting&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = Linux&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&amp;lt;br/&amp;gt;Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;handlemounting&amp;gt;false&amp;lt;/handlemounting&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== automountopticalmedia ===&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = automountopticalmedia&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = Linux&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Only used in linux for the udisks and udisks2 providers&amp;lt;br/&amp;gt;defines if kodi should automount optical discs&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20840&amp;lt;/ref&amp;gt;&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;automountopticalmedia&amp;gt;true&amp;lt;/automountopticalmedia&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;dxvaallowhqscaling&amp;gt;&#039;&#039;&#039; - Removed in v18 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/15466&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;episodeextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Episode art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvshowextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvseasonextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;movieextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;moviesetextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicvideoextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Music video art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;try10bitoutput&amp;gt;&#039;&#039;&#039; Removed in v20 and replaced with [[Settings/System/Display#Use_10_bit_for_SDR|Use 10 bit for SDR]] setting &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20014&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;enablehighqualityhwscalers&amp;gt;&#039;&#039;&#039; Removed in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21537&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Android&amp;diff=248097</id>
		<title>HOW-TO:Install Kodi for Android</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Android&amp;diff=248097"/>
		<updated>2023-10-26T06:54:44Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: /* Google Play - stable */ add &amp;quot;TV&amp;quot; to android&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Android]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes how to install Kodi, either from an app &amp;quot;store&amp;quot; such as Google Play, or manually from an APK file.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Kodi from the Google Play Store =&lt;br /&gt;
&lt;br /&gt;
== Google Play - stable ==&lt;br /&gt;
&lt;br /&gt;
Kodi is now available on Google Play: &lt;br /&gt;
&lt;br /&gt;
{{Google Play}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;https://play.google.com/store/apps/details?id=org.xbmc.kodi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Play will automatically select which version (ARM(32bit), ARM(64bit) or x86) of Kodi you need, and will also automatically handle updates (unless you change your Google Play preferences). &lt;br /&gt;
&lt;br /&gt;
{{#widget:YouTube|id=hmO_qVDoXCk}}&lt;br /&gt;
&lt;br /&gt;
{{big|&#039;&#039;&#039;Files permissions on Android TV 11 or higher:&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
On Android TV 11 or higher by default Kodi dont have local files access permissions,&lt;br /&gt;
this means that if you try to open any local files through Kodi, these files although existing will not be visible.&lt;br /&gt;
&lt;br /&gt;
To allow Kodi to have access to local files you need to manually set app files permissions.&lt;br /&gt;
On Android TV settings go to &amp;quot;Settings -&amp;gt; Apps - Kodi -&amp;gt; Permissions -&amp;gt; Files and Media&amp;quot; and select &amp;quot;Allow all the time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Google Play - beta testing ==&lt;br /&gt;
{{see also|Development builds}}&lt;br /&gt;
&lt;br /&gt;
In order to test Kodi nightlies on your Android device, just download them from here: &lt;br /&gt;
&lt;br /&gt;
http://mirrors.kodi.tv/nightlies/android/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keep the words below, in case we will activate beta testing again--&amp;gt;&lt;br /&gt;
&amp;lt;!--If you would like to have Google Play automatically install monthly, beta, and RC test builds for the upcoming release of Kodi, you can enable beta testing here:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;https://play.google.com/apps/testing/org.xbmc.kodi/&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|Be sure to &#039;&#039;&#039;[[backup]]&#039;&#039;&#039; before you install this!&lt;br /&gt;
&lt;br /&gt;
These alpha and beta builds are considered &amp;quot;semi stable&amp;quot;, and contain the latest changes to Kodi. They may contain bugs and/or drastically change how the program works.}}&lt;br /&gt;
&lt;br /&gt;
Please report any bugs and issues you come across to the &#039;&#039;&#039;[http://forum.kodi.tv Kodi forum]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--To exit the beta program and stop beta updates, just go to &#039;&#039;&#039;https://play.google.com/apps/testing/org.xbmc.kodi/&#039;&#039;&#039; and click on &#039;&#039;&#039;&amp;quot;Leave program&amp;quot;&#039;&#039;&#039;. If you then want to go back to the most recent stable build of Kodi, first uninstall Kodi and then reinstall through Google Play, in order to clear out the test version. This will reset all Kodi settings, so be sure to &#039;&#039;&#039;[[backup]]&#039;&#039;&#039; your stable Kodi settings before beta testing, and then restore from that backup once you have stable Kodi installed again.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to go back to the most recent stable version, uninstall the Kodi nightly first and reinstall Kodi either via Google Play or the manual installation which is explained in this article. Uninstalling the Kodi nightly and reinstalling Kodi will reset all Kodi settings. So make sure to &#039;&#039;&#039;[[backup]]&#039;&#039;&#039; your stable Kodi settings before testing nightlies and then restore from that backup once you have stable Kodi installed again.&lt;br /&gt;
&lt;br /&gt;
= Manual installation =&lt;br /&gt;
&lt;br /&gt;
== Enabling installation ==&lt;br /&gt;
===Android (normal)===&lt;br /&gt;
This includes installation instructions for phones, tablets and most boxes running Android.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to install Kodi from an .APK file. This is commonly known as &amp;quot;sideloading&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step01.jpg|{{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} First located the settings menu on your Android device and search for the &amp;quot;security&amp;quot; menu.&lt;br /&gt;
File:Android install step02.jpg|{{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Now enable &amp;quot;Unknown sources&amp;quot; option. This will allow you to directly install Kodi as easy as you would install it from Play Store.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Android TV ===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313&amp;quot;&amp;gt;&lt;br /&gt;
File:Android TV install step01.jpg|{{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} From the Android TV launcher, scroll down to and select &amp;quot;Settings&amp;quot;.&lt;br /&gt;
File:Android TV install step02.jpg|{{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} From the &amp;quot;Settings&amp;quot; menu, scroll down and select the &amp;quot;Security &amp;amp; Restrictions&amp;quot; menu.&lt;br /&gt;
File:Android TV install step03.jpg|{{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} In the &amp;quot;Security &amp;amp; Restrictions&amp;quot; menu, turn on &amp;quot;Unknown Sources&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
Download Kodi for Android from the Kodi.tv servers. Official stable builds can be found here: &#039;&#039;&#039;http://kodi.tv/download/&#039;&#039;&#039; You need to either select the &#039;&#039;&#039;ARM&#039;&#039;&#039; or &#039;&#039;&#039;x86&#039;&#039;&#039; version depending on your hardware.&lt;br /&gt;
&lt;br /&gt;
===Android TV===&lt;br /&gt;
# From a desktop computer or phone/tablet, go to http://play.google.com using the same Google account as used in your Android TV device.&lt;br /&gt;
# Install a browser such as Chrome. Select your Android TV box from the popup menu after clicking the install/get button.&lt;br /&gt;
# To make things easy, connect a USB or Bluetooth mouse.&lt;br /&gt;
# Open the browser either by voice remote (for example, say &amp;quot;Open Chrome&amp;quot;) or from something such as Sideload Launcher.&lt;br /&gt;
# Follow the rest of the steps below for &amp;quot;&#039;Normal&#039; Android&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Android (normal)===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android_install_step03.png|{{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} Load up &#039;&#039;&#039;http://kodi.tv/download/&#039;&#039;&#039; in your Android web browser. Most users will want to use the &#039;&#039;&#039;ARM&#039;&#039;&#039; link, unless you have an Intel or AMD CPU. You may get a warning trying to download the file depending on which browser you use. You should say &amp;quot;OK&amp;quot; to actually download it.&lt;br /&gt;
File:Android_install_step04.png|{{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Wait for the &amp;quot;apk&amp;quot; to download.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
&lt;br /&gt;
Installing the Kodi app package is as simple as just finding the .apk you just downloaded and opening it up. You can do this either though the download menu in the web browser or selecting it with a file explorer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step05.png| {{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} After selecting the Kodi apk file you might be asked to select something to open it with. &amp;quot;Package installer&amp;quot;, &amp;quot;Google Play&amp;quot;, or some similar option will be what you want.&lt;br /&gt;
File:Android install step06.png| {{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} You will get another confirmation screen where you will need to select &amp;quot;install&amp;quot;.&lt;br /&gt;
File:Android install step07.png| {{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} Wait for the installation to complete.&lt;br /&gt;
File:Android install step08.png| {{big|&#039;&#039;&#039;Step 4:&#039;&#039;&#039;}} You&#039;ve now installed Kodi for Android!&lt;br /&gt;
File:Android install step09.png| {{big|&#039;&#039;&#039;First run:&#039;&#039;&#039;}} The first time you run Kodi it will take slightly longer than normal in order to finish some final installation steps. When it is done Kodi will open normally. This is only done once per installation/update, so the next time Kodi will start up a little faster.&lt;br /&gt;
File:Android install step10.png| {{big|&#039;&#039;&#039;All done!:&#039;&#039;&#039;}} Once started you are on Kodi home menu just like on any other platform.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are new to Kodi you might wish to check out this section of the wiki: &#039;&#039;&#039;[[First time user]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Install on Fire TV ===&lt;br /&gt;
&lt;br /&gt;
{{#lst:HOW-TO:Install Kodi on Fire TV|intro}}&lt;br /&gt;
{{See also|HOW-TO:Install Kodi on Fire TV}}&lt;br /&gt;
&lt;br /&gt;
== Tidy up ==&lt;br /&gt;
&lt;br /&gt;
After Kodi has installed you can delete the downloaded Kodi APK file to save some disk space.&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
To update Kodi for Android simply follow the normal install steps with the newer version. All your settings and files will be preserved as they are located in a different place in the userdata folder. Be sure to make a backup of the userdata folder when doing updates in case something goes wrong.&lt;br /&gt;
&lt;br /&gt;
{{note|Since Kodi for Android is signed with our own signatures you will be able to install all succeeding versions without a problem. If you are using a non-official version not signed by us you may be required to un-install Kodi and you will loose all your settings due to this. Be warned before trying.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstall ==&lt;br /&gt;
&lt;br /&gt;
To un-install Kodi just go to your Android settings menu and select &amp;quot;apps&amp;quot;. From there you will be able to un-install Kodi like any other Android app.&lt;br /&gt;
&lt;br /&gt;
===Android (normal)===&lt;br /&gt;
{{note|Unlike other OSes, uninstalling Kodi on Android will also erase your [[Userdata|userdata folder]] and all of your settings.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step13.jpg| {{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} Go into your Android &amp;quot;Settings&amp;quot; app and then select &amp;quot;Apps&amp;quot;.&lt;br /&gt;
File:Android install step14.jpg| {{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Select Kodi from the list.&lt;br /&gt;
File:Android install step15.jpg| {{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} Select uninstall and confirm.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Android TV===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android TV install step12.jpg| {{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} Go into your Android TV &#039;&#039;&#039;Settings&#039;&#039;&#039; menu and then select &#039;&#039;&#039;Apps&#039;&#039;&#039;.&lt;br /&gt;
File:Android TV install step13.jpg| {{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Go to the &#039;&#039;&#039;Downloaded apps&#039;&#039;&#039; then select Kodi.&lt;br /&gt;
File:Android TV install step14.jpg| {{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} Select uninstall.&lt;br /&gt;
File:Android TV install step15.jpg| {{big|&#039;&#039;&#039;Step 4:&#039;&#039;&#039;}} Select Ok.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Android]]&lt;br /&gt;
* [[Android hardware]]&lt;br /&gt;
* [[Development builds]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|16}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Installation|Android]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:How-to]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Android&amp;diff=248096</id>
		<title>HOW-TO:Install Kodi for Android</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Android&amp;diff=248096"/>
		<updated>2023-10-26T06:51:21Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Google Play - stable - Add Android TV mandatory local files permissions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Android]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes how to install Kodi, either from an app &amp;quot;store&amp;quot; such as Google Play, or manually from an APK file.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Kodi from the Google Play Store =&lt;br /&gt;
&lt;br /&gt;
== Google Play - stable ==&lt;br /&gt;
&lt;br /&gt;
Kodi is now available on Google Play: &lt;br /&gt;
&lt;br /&gt;
{{Google Play}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;https://play.google.com/store/apps/details?id=org.xbmc.kodi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Play will automatically select which version (ARM(32bit), ARM(64bit) or x86) of Kodi you need, and will also automatically handle updates (unless you change your Google Play preferences). &lt;br /&gt;
&lt;br /&gt;
{{#widget:YouTube|id=hmO_qVDoXCk}}&lt;br /&gt;
&lt;br /&gt;
{{big|&#039;&#039;&#039;Files permissions on Android 11 or higher:&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
On Android TV 11 or higher by default Kodi dont have local files access permissions,&lt;br /&gt;
this means that if you try to open any local files through Kodi, these files although existing will not be visible.&lt;br /&gt;
&lt;br /&gt;
To allow Kodi to have access to local files you need to manually set app files permissions.&lt;br /&gt;
On Android TV settings go to &amp;quot;Settings -&amp;gt; Apps - Kodi -&amp;gt; Permissions -&amp;gt; Files and Media&amp;quot; and select &amp;quot;Allow all the time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Google Play - beta testing ==&lt;br /&gt;
{{see also|Development builds}}&lt;br /&gt;
&lt;br /&gt;
In order to test Kodi nightlies on your Android device, just download them from here: &lt;br /&gt;
&lt;br /&gt;
http://mirrors.kodi.tv/nightlies/android/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keep the words below, in case we will activate beta testing again--&amp;gt;&lt;br /&gt;
&amp;lt;!--If you would like to have Google Play automatically install monthly, beta, and RC test builds for the upcoming release of Kodi, you can enable beta testing here:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;https://play.google.com/apps/testing/org.xbmc.kodi/&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|Be sure to &#039;&#039;&#039;[[backup]]&#039;&#039;&#039; before you install this!&lt;br /&gt;
&lt;br /&gt;
These alpha and beta builds are considered &amp;quot;semi stable&amp;quot;, and contain the latest changes to Kodi. They may contain bugs and/or drastically change how the program works.}}&lt;br /&gt;
&lt;br /&gt;
Please report any bugs and issues you come across to the &#039;&#039;&#039;[http://forum.kodi.tv Kodi forum]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--To exit the beta program and stop beta updates, just go to &#039;&#039;&#039;https://play.google.com/apps/testing/org.xbmc.kodi/&#039;&#039;&#039; and click on &#039;&#039;&#039;&amp;quot;Leave program&amp;quot;&#039;&#039;&#039;. If you then want to go back to the most recent stable build of Kodi, first uninstall Kodi and then reinstall through Google Play, in order to clear out the test version. This will reset all Kodi settings, so be sure to &#039;&#039;&#039;[[backup]]&#039;&#039;&#039; your stable Kodi settings before beta testing, and then restore from that backup once you have stable Kodi installed again.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to go back to the most recent stable version, uninstall the Kodi nightly first and reinstall Kodi either via Google Play or the manual installation which is explained in this article. Uninstalling the Kodi nightly and reinstalling Kodi will reset all Kodi settings. So make sure to &#039;&#039;&#039;[[backup]]&#039;&#039;&#039; your stable Kodi settings before testing nightlies and then restore from that backup once you have stable Kodi installed again.&lt;br /&gt;
&lt;br /&gt;
= Manual installation =&lt;br /&gt;
&lt;br /&gt;
== Enabling installation ==&lt;br /&gt;
===Android (normal)===&lt;br /&gt;
This includes installation instructions for phones, tablets and most boxes running Android.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to install Kodi from an .APK file. This is commonly known as &amp;quot;sideloading&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step01.jpg|{{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} First located the settings menu on your Android device and search for the &amp;quot;security&amp;quot; menu.&lt;br /&gt;
File:Android install step02.jpg|{{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Now enable &amp;quot;Unknown sources&amp;quot; option. This will allow you to directly install Kodi as easy as you would install it from Play Store.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Android TV ===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313&amp;quot;&amp;gt;&lt;br /&gt;
File:Android TV install step01.jpg|{{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} From the Android TV launcher, scroll down to and select &amp;quot;Settings&amp;quot;.&lt;br /&gt;
File:Android TV install step02.jpg|{{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} From the &amp;quot;Settings&amp;quot; menu, scroll down and select the &amp;quot;Security &amp;amp; Restrictions&amp;quot; menu.&lt;br /&gt;
File:Android TV install step03.jpg|{{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} In the &amp;quot;Security &amp;amp; Restrictions&amp;quot; menu, turn on &amp;quot;Unknown Sources&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
Download Kodi for Android from the Kodi.tv servers. Official stable builds can be found here: &#039;&#039;&#039;http://kodi.tv/download/&#039;&#039;&#039; You need to either select the &#039;&#039;&#039;ARM&#039;&#039;&#039; or &#039;&#039;&#039;x86&#039;&#039;&#039; version depending on your hardware.&lt;br /&gt;
&lt;br /&gt;
===Android TV===&lt;br /&gt;
# From a desktop computer or phone/tablet, go to http://play.google.com using the same Google account as used in your Android TV device.&lt;br /&gt;
# Install a browser such as Chrome. Select your Android TV box from the popup menu after clicking the install/get button.&lt;br /&gt;
# To make things easy, connect a USB or Bluetooth mouse.&lt;br /&gt;
# Open the browser either by voice remote (for example, say &amp;quot;Open Chrome&amp;quot;) or from something such as Sideload Launcher.&lt;br /&gt;
# Follow the rest of the steps below for &amp;quot;&#039;Normal&#039; Android&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Android (normal)===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android_install_step03.png|{{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} Load up &#039;&#039;&#039;http://kodi.tv/download/&#039;&#039;&#039; in your Android web browser. Most users will want to use the &#039;&#039;&#039;ARM&#039;&#039;&#039; link, unless you have an Intel or AMD CPU. You may get a warning trying to download the file depending on which browser you use. You should say &amp;quot;OK&amp;quot; to actually download it.&lt;br /&gt;
File:Android_install_step04.png|{{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Wait for the &amp;quot;apk&amp;quot; to download.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
&lt;br /&gt;
Installing the Kodi app package is as simple as just finding the .apk you just downloaded and opening it up. You can do this either though the download menu in the web browser or selecting it with a file explorer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step05.png| {{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} After selecting the Kodi apk file you might be asked to select something to open it with. &amp;quot;Package installer&amp;quot;, &amp;quot;Google Play&amp;quot;, or some similar option will be what you want.&lt;br /&gt;
File:Android install step06.png| {{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} You will get another confirmation screen where you will need to select &amp;quot;install&amp;quot;.&lt;br /&gt;
File:Android install step07.png| {{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} Wait for the installation to complete.&lt;br /&gt;
File:Android install step08.png| {{big|&#039;&#039;&#039;Step 4:&#039;&#039;&#039;}} You&#039;ve now installed Kodi for Android!&lt;br /&gt;
File:Android install step09.png| {{big|&#039;&#039;&#039;First run:&#039;&#039;&#039;}} The first time you run Kodi it will take slightly longer than normal in order to finish some final installation steps. When it is done Kodi will open normally. This is only done once per installation/update, so the next time Kodi will start up a little faster.&lt;br /&gt;
File:Android install step10.png| {{big|&#039;&#039;&#039;All done!:&#039;&#039;&#039;}} Once started you are on Kodi home menu just like on any other platform.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are new to Kodi you might wish to check out this section of the wiki: &#039;&#039;&#039;[[First time user]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Install on Fire TV ===&lt;br /&gt;
&lt;br /&gt;
{{#lst:HOW-TO:Install Kodi on Fire TV|intro}}&lt;br /&gt;
{{See also|HOW-TO:Install Kodi on Fire TV}}&lt;br /&gt;
&lt;br /&gt;
== Tidy up ==&lt;br /&gt;
&lt;br /&gt;
After Kodi has installed you can delete the downloaded Kodi APK file to save some disk space.&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
To update Kodi for Android simply follow the normal install steps with the newer version. All your settings and files will be preserved as they are located in a different place in the userdata folder. Be sure to make a backup of the userdata folder when doing updates in case something goes wrong.&lt;br /&gt;
&lt;br /&gt;
{{note|Since Kodi for Android is signed with our own signatures you will be able to install all succeeding versions without a problem. If you are using a non-official version not signed by us you may be required to un-install Kodi and you will loose all your settings due to this. Be warned before trying.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstall ==&lt;br /&gt;
&lt;br /&gt;
To un-install Kodi just go to your Android settings menu and select &amp;quot;apps&amp;quot;. From there you will be able to un-install Kodi like any other Android app.&lt;br /&gt;
&lt;br /&gt;
===Android (normal)===&lt;br /&gt;
{{note|Unlike other OSes, uninstalling Kodi on Android will also erase your [[Userdata|userdata folder]] and all of your settings.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android install step13.jpg| {{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} Go into your Android &amp;quot;Settings&amp;quot; app and then select &amp;quot;Apps&amp;quot;.&lt;br /&gt;
File:Android install step14.jpg| {{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Select Kodi from the list.&lt;br /&gt;
File:Android install step15.jpg| {{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} Select uninstall and confirm.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Android TV===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;313px&amp;quot;&amp;gt;&lt;br /&gt;
File:Android TV install step12.jpg| {{big|&#039;&#039;&#039;Step 1:&#039;&#039;&#039;}} Go into your Android TV &#039;&#039;&#039;Settings&#039;&#039;&#039; menu and then select &#039;&#039;&#039;Apps&#039;&#039;&#039;.&lt;br /&gt;
File:Android TV install step13.jpg| {{big|&#039;&#039;&#039;Step 2:&#039;&#039;&#039;}} Go to the &#039;&#039;&#039;Downloaded apps&#039;&#039;&#039; then select Kodi.&lt;br /&gt;
File:Android TV install step14.jpg| {{big|&#039;&#039;&#039;Step 3:&#039;&#039;&#039;}} Select uninstall.&lt;br /&gt;
File:Android TV install step15.jpg| {{big|&#039;&#039;&#039;Step 4:&#039;&#039;&#039;}} Select Ok.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Android]]&lt;br /&gt;
* [[Android hardware]]&lt;br /&gt;
* [[Development builds]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|16}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Installation|Android]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:How-to]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Android&amp;diff=248095</id>
		<title>Android</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Android&amp;diff=248095"/>
		<updated>2023-10-26T06:43:03Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Tips and tricks - Add mandatory permissions on Android 11+ for local files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;float:right;&amp;quot;&amp;gt;{{Google Play}} [https://f-droid.org/en/packages/org.xbmc.kodi/ &amp;lt;img src=&amp;quot;https://cloud.githubusercontent.com/assets/9103935/14702535/45f6326a-07ab-11e6-9256-469c1dd51c22.png&amp;quot; width=&amp;quot;224&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
{{mininav|[[Devices]]}}&lt;br /&gt;
:&#039;&#039;Looking for information on the Kodi remote control app for Android? See &#039;&#039;&#039;[[Kore|Kore -The official Kodi Remote for Android]]&#039;&#039;&#039;.&#039;&#039;&lt;br /&gt;
{{forum link2|1=Read this page and still need help? Check out the [http://forum.kodi.tv/forumdisplay.php?fid=164 &#039;&#039;Kodi for Android&#039;&#039; support forum].}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Kodi for Android is a full port of the complete Kodi application to Google&#039;s [[w:Android (operating system)|Android operating-system]]. With the Android NDK (Native Development Kit for Android) Kodi runs natively under Android as a Native Activity application. The main goal for the Android port is to have Kodi working on inexpensive Android set-top-boxes. And whole Android smartphones and tablets are not the main target platforms they do have limited support as well.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main topics ==&lt;br /&gt;
Other Android-specific wiki pages for topics, guides, and advice. For &#039;&#039;&#039;[[Main_Page|everything else]]&#039;&#039;&#039; standard Kodi pages will normally apply.&lt;br /&gt;
{{Index two column&lt;br /&gt;
 | image 1 = Gnome-emblem-downloads.png&lt;br /&gt;
 | link 1 = HOW-TO:Install Kodi for Android&lt;br /&gt;
 | image 2 = Nuvola apps ksim.png&lt;br /&gt;
 | link 2 = Android hardware&lt;br /&gt;
 | image 3 = Applications-development.png&lt;br /&gt;
 | link 3 = Android_development&lt;br /&gt;
 | link 4 = Touch controls&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
{{Main|Android hardware}} {{see also|Supported hardware}}&lt;br /&gt;
{{#lst:Supported hardware|Android}}&lt;br /&gt;
&lt;br /&gt;
== How-tos ==&lt;br /&gt;
Assorted how-tos related to the video library that have been added to the wiki:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This section is auto-generated based on the following criteria. It then lists the page name and the text in the &amp;quot;intro&amp;quot; section, if provided. --&amp;gt;&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
 category = How-to&lt;br /&gt;
 category = Android&lt;br /&gt;
 format   = ,{{list2|%PAGE%}}&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tips and tricks ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;FAQ Performance notes&amp;quot; /&amp;gt;&lt;br /&gt;
* On Android TV 11 or higher to allow Kodi access to local files you need to manually set files permissions. On Android TV go to &amp;quot;Settings -&amp;gt; Apps - Kodi -&amp;gt; Permissions -&amp;gt; Files and Media&amp;quot; and select &amp;quot;Allow all the time&amp;quot;.&lt;br /&gt;
* Avoid using wireless. A lot of Android boxes and &amp;quot;sticks&amp;quot; have weak wifi, even those that advertise as being wireless-n. It may be possible to use a USB-to-ethernet dongle on some devices, or even a USB wifi adapter that has a better wifi radio than what is built-in.&lt;br /&gt;
* Switch to a different network protocol to see if that has any effect, i.e. [[SMB|SMB/CIFS]], [[NFS]], [[FTP]], WebDAV, etc. &lt;br /&gt;
* Try sharing the media on another device to rule out a device-specific (or network) issue.&lt;br /&gt;
* Turn off thumbnails, Kodi -&amp;gt; Settings -&amp;gt; Video -&amp;gt; File and deselect &#039;generate thumbnails&#039;.&lt;br /&gt;
* H.264 videos encoded with Hi10P profile will not work on some Android hardware as some ARM processors are not powerful enough to software decode it, and no hardware decoders exist for it. However, some newer/faster processors are able to playback Hi10P video using software decoding.&lt;br /&gt;
* If RSS feed is enabled, disable it in settings. This can make the main menu a bit faster.&lt;br /&gt;
* Running out of disk space storage, or want to try tweaking caching and other performance settings to achieve faster response times? &amp;lt;section end=&amp;quot;FAQ Performance notes&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Helpful applications ===&lt;br /&gt;
Some helpful Kodi related Android applications, as suggested by the community. This list should not be seen as any kind of official endorsement by Kodi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
&lt;br /&gt;
NOTE TO ANYONE EDITING THIS LIST&lt;br /&gt;
&lt;br /&gt;
WHENEVER POSSIBLE/REASONABLE, PLEASE LIST OPEN SOURCE AND/OR FREE TOOLS FOR A GIVEN TASK/TRICK/IMPROVEMENT.&lt;br /&gt;
&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;plainlinks&amp;quot; width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;5px&amp;quot;&lt;br /&gt;
| [[File:com.finalwire.aida64.png|50px|link=https://play.google.com/store/apps/details?id=com.finalwire.aida64]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.finalwire.aida64 &#039;&#039;&#039;AIDA64&#039;&#039;&#039;]&lt;br /&gt;
: A free app that reports your device&#039;s system info, including CPU type, codec support, and more.&lt;br /&gt;
|-&lt;br /&gt;
|  [[File:com.autostart.png|50px|link=https://play.google.com/store/apps/details?id=com.autostart]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.autostart &#039;&#039;&#039;AutoStart&#039;&#039;&#039;]&lt;br /&gt;
: Another auto launcher&lt;br /&gt;
|- &lt;br /&gt;
| [[File:com.nolanlawson.logcat.png|50px|link=https://play.google.com/store/apps/details?id=com.nolanlawson.logcat]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.nolanlawson.logcat &#039;&#039;&#039;CatLog&#039;&#039;&#039;] &#039;&#039;(requires root)&#039;&#039;&lt;br /&gt;
: Useful for sending system logs to developers when trying to troubleshoot issues. If someone asks you for a &amp;quot;Log Cat&amp;quot; or a &amp;quot;crash log&amp;quot;, this application will get that log.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Firestarter.png|50px|link=http://forum.xda-developers.com/fire-tv/themes-apps/app-root-home-launcher-replacement-app-t3118135]]&lt;br /&gt;
| [http://forum.xda-developers.com/fire-tv/themes-apps/app-root-home-launcher-replacement-app-t3118135 &#039;&#039;&#039;FireStarter&#039;&#039;&#039;] &#039;&#039;(Fire TV/stick only)&#039;&#039;&lt;br /&gt;
: Fire TV replacement launcher that can also launch Kodi by default. Also includes options to both install and update official Kodi versions.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:se.ollan.kodiupdater.png|50px|link=https://play.google.com/store/apps/details?id=se.ollan.kodiupdater]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=se.ollan.kodiupdater &#039;&#039;&#039;Kodi Updater&#039;&#039;&#039;]&lt;br /&gt;
: Easily update or install Kodi without having to manually sideload.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:net.tyniw.mediacodecinfo.application.png|50px|link=https://play.google.com/store/apps/details?id=net.tyniw.mediacodecinfo.application]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=net.tyniw.mediacodecinfo.application &#039;&#039;&#039;Media Codec Info&#039;&#039;&#039;]&lt;br /&gt;
: A tool to display what video codecs are enabled for your device. In theory, anything that your device has enabled for media codec should then work in Kodi.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:innerlife.keyboard.multilanguagekeymapredefiner.png|50px|link=https://play.google.com/store/apps/details?id=innerlife.keyboard.multilanguagekeymapredefiner]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=innerlife.keyboard.multilanguagekeymapredefiner &#039;&#039;&#039;Multilanguage Keymap Redefiner&#039;&#039;&#039;]&lt;br /&gt;
: Remap keys on the Android level without having to use Kodi keymaps&lt;br /&gt;
|-&lt;br /&gt;
| [[File:com.woodslink.android.wiredheadphoneroutingfix.png|50px|link=https://play.google.com/store/apps/details?id=com.woodslink.android.wiredheadphoneroutingfix]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=com.woodslink.android.wiredheadphoneroutingfix &#039;&#039;&#039;SoundAbout&#039;&#039;&#039;]&lt;br /&gt;
: Automatic bluetooth audio routing. Useful for switching between bluetooth headphones and TV audio automatically.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:imoblife.startupmanager.jpg|50px|link=https://play.google.com/store/apps/details?id=imoblife.startupmanager]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=imoblife.startupmanager &#039;&#039;&#039;Startup Manager (Free)&#039;&#039;&#039;]&lt;br /&gt;
: Allows an app, such as Kodi, to be launched when the Android device starts up.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.xgouchet.texteditor.png|50px|link=https://play.google.com/store/apps/details?id=fr.xgouchet.texteditor]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=fr.xgouchet.texteditor &#039;&#039;&#039;Ted (Text Editor)&#039;&#039;&#039;]&lt;br /&gt;
: Free and open source text editor that is useful for editing various files, such as [[keymaps]] and [[advancedsettings.xml]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:se.blunden.xbmclauncher.png|50px|link=https://play.google.com/store/apps/details?id=se.blunden.xbmclauncher]]&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=se.blunden.xbmclauncher &#039;&#039;&#039;XBMC Launcher&#039;&#039;&#039;]&lt;br /&gt;
: Set Kodi (and various forks) as a Launcher without having to mod the APK&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{updated|16}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|*]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Index]]&lt;br /&gt;
[[Category:Manual]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Supported_hardware&amp;diff=248094</id>
		<title>Supported hardware</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Supported_hardware&amp;diff=248094"/>
		<updated>2023-10-26T06:39:23Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add Android TV mandatory permissions for local files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[General topics]]{{l2|[[Hardware]]}}|[[Installing]]}}&lt;br /&gt;
{{forum link2|1=Want to discuss or ask about what hardware is good for Kodi? Check out the [http://forum.kodi.tv/forumdisplay.php?fid=112 Hardware for Kodi subforum]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Kodi is officially supported on a number of operating systems and hardware devices that are designed to be connected directly to a TV. Kodi runs well on what are relatively &amp;quot;underpowered&amp;quot; systems, thanks to hardware video decoding being common on nearly all supported platforms. These requirements don&#039;t include what might be required for some &amp;quot;advanced&amp;quot; features, such as PVR, which might require additional hardware. &amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Android ==&lt;br /&gt;
{{see also|Android|Android hardware}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Android&amp;quot; /&amp;gt;{{Warning|It is highly recommended for users to not make any hardware purchases in anticipation of running Kodi on Android without first researching the device you want to buy. Before you do buy, make sure multiple people have verified that it works! &amp;lt;big&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;&#039;&#039;If in doubt, do not buy any hardware!&#039;&#039;&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;/big&amp;gt;}}&lt;br /&gt;
* Kodi v17 and later requires Android 5.0 or higher.&lt;br /&gt;
* x86 (Intel) or a NEON-compatible ARM-processor, (for example: Nvidia Tegra 3 and newer are fully supported by Kodi, while Tegra 2 and older are not).&lt;br /&gt;
* The main aim for the Android port of Kodi is to foremost target media-players/set-top-boxes/sticks that connect to a large screen television and uses a standard remote control as its main interface device, (that is the same market as for HTPC).&amp;lt;section end=&amp;quot;Android&amp;quot; /&amp;gt;&lt;br /&gt;
* Android TV 11 or higher to allow Kodi access to local files you need to manually set files permissions. On Android TV go to &amp;quot;Settings -&amp;gt; Apps - Kodi -&amp;gt; Permissions -&amp;gt; Files and Media&amp;quot; and select &amp;quot;Allow all the time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== iOS and iPadOS ==&lt;br /&gt;
{{see also|iOS}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;iOS&amp;quot; /&amp;gt;&lt;br /&gt;
*To &#039;&#039;&#039;[[HOW-TO:Install Kodi for iOS|install Kodi for iOS/iPadOS]]&#039;&#039;&#039; you must have one of the following:&lt;br /&gt;
** a jailbroken [[w:iDevice|iDevice]] running iOS 6.0 or higher, though iOS 8.0 or higher is recommended&lt;br /&gt;
** a normal iDevice running iOS 6.0 or higher and a Mac running Xcode 7 and higher&lt;br /&gt;
* For hardware: iPad, iPhone and iPod touch.&amp;lt;section end=&amp;quot;iOS&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tvOS ==&lt;br /&gt;
{{see also|tvOS}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;tvOS&amp;quot; /&amp;gt;&lt;br /&gt;
=== Apple TV 2 ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Apple TV 2&amp;quot; /&amp;gt;* As of v15.0, Kodi no longer supports the Apple TV 2.&amp;lt;section end=&amp;quot;Apple TV 2&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apple TV 3 ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Apple TV 3&amp;quot; /&amp;gt;* Kodi is not supported on Apple TV 3 because there is no jailbreak for this device and it&#039;s impossible to sideload an application on it.&amp;lt;section end=&amp;quot;Apple TV 3&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apple TV 4 and 5 (HD and 4K) ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;ATV4&amp;quot; /&amp;gt;* Apple TV 4 and 5 (also called Apple TV HD and Apple TV 4K) are supported by Kodi. For step by step Installation guide, follow &#039;&#039;&#039;[[HOW-TO:Install Kodi on Apple TV 4 and 5 (HD and 4K)|HOW-TO:Install Kodi on Apple TV 4 and 5 (HD and 4K)]]&#039;&#039;&#039;.&amp;lt;section end=&amp;quot;ATV4&amp;quot; /&amp;gt;&amp;lt;section end=&amp;quot;tvOS&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
{{See also|Linux}}&lt;br /&gt;
&lt;br /&gt;
=== Desktop ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Linux&amp;quot; /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
! CPU&lt;br /&gt;
| x86 or x86-64 processor such as: Intel Pentium 4/ Pentium M, AMD Athlon 64 / Opteron, or newer CPU (that support [[w:Streaming SIMD Extensions|SSE2]], which all CPUs made within the last 10-years does).&lt;br /&gt;
* If your GPU/VPU does not support hardware video decoding then you will require a fast modern processor is required to decode some 1080p videos encoded in H.264, VC-1/WMV9, HEVC/H.265 VP9, etc&lt;br /&gt;
|-&lt;br /&gt;
! RAM&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 1GB or more in a HTPC media player appliance-like computer dedicated for Kodi, and 2GB or more in a computer for multipurpose use.&lt;br /&gt;
|-&lt;br /&gt;
! Graphics&lt;br /&gt;
|&lt;br /&gt;
Kodi will run on most graphics cards made within the last 10-years or so, though for good hardware video decoding support a little newer graphics cards can be required. This includes most cards from AMD/ATI, Intel, or NVIDIA which support OpenGL 2.0 or later.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AMD/Intel&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Minimum:&#039;&#039;&#039; [[w:Mesa_(computer_graphics)|Mesa 11.3]] or later&lt;br /&gt;
* &#039;&#039;&#039;Recommended:&#039;&#039;&#039;  [[w:Mesa_(computer_graphics)|Mesa 17.1]] or later (required for 10 bit HEVC)&lt;br /&gt;
|-&lt;br /&gt;
! Video decoding&lt;br /&gt;
| For hardware video decoding, which may be necessary on low-performance CPUs to playback 1080p content, make sure your GPU or VPU supports either VAAPI or VDPAU. For everything but older AMD cards and Nvidia, VAAPI is recommended. On AMD, you might have to start with the environment variable &amp;lt;code&amp;gt;KODI_GL_INTERFACE&amp;lt;/code&amp;gt; set to &amp;lt;code&amp;gt;GLX&amp;lt;/code&amp;gt; in order to get VDPAU support.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! !! ATI/AMD ( [[w:Video Acceleration API|VA-API]] 2.0.0 or [[w:VDPAU|VDPAU]] ) !! Intel ( [[w:Video Acceleration API|VA-API]] 1.7.1 ) !! Nvidia ( [[w:VDPAU|VDPAU]] )&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Minimum without HW decoding:&#039;&#039;&#039; || [[w:Radeon|ATI Radeon RV710/M92 (HD 4300/4500)]] [[w:Unified Video Decoder#UVD enabled GPUs|Note: These are uvd2.2 cards]] || [[w:Intel HD and Iris Graphics| Arrandale / Clarkdale]] or newer || [[w:GeForce|Nvidia GeForce 6-Series]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of 8-bit H.264 and VC-1:&#039;&#039;&#039; || [[w:Radeon HD 5000 series|Radeon HD 5000 series]] or newer || [[w:Sandy Bridge|Sandy Bridge]] / [[w:Silvermont|Silvermont]] or newer || [[w:GeForce 8 series|GeForce 8 series]] or newer &amp;lt;small&amp;gt;(released 2006)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of 8-bit HEVC (H.265):&#039;&#039;&#039; || [[w:AMD_Radeon_Rx_300_series|AMD Radeon Rx 300 series]] or newer || [[w:Intel HD and Iris Graphics| Braswell / Skylake]] or newer || [[w:GeForce|Nvidia GeForce 900 series (GM20x)]] or newer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of 10-bit HEVC (H.265):&#039;&#039;&#039; || [[w:AMD_Radeon_400_series|AMD Radeon 400 series]] or newer || [[w:Intel_HD_and_Iris_Graphic| Apollo Lake / Kaby Lake]] or newer || Not available&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of VP9:&#039;&#039;&#039; || Stoney Ridge [[w:AMD_Accelerated_Processing_Unit|APU]] or newer; not available for desktop GPUs at the moment || [[w:Intel_HD_and_Iris_Graphic| Apollo Lake / Kaby Lake]] or newer || Not available&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Drive space&lt;br /&gt;
| The Kodi application generally only takes up between 100 to 200 MB of space, depending on how the binary is compiled. Technically speaking, if your hardware supports netbooting, you do not even require a internal storage for either the operating-system or for Kodi.&lt;br /&gt;
* &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 4 to 8GB&lt;br /&gt;
* &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 16GB or more&lt;br /&gt;
: Depending on how big your video library is. Most of the space required for Kodi comes from the images/artwork cache.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{note|There´s no 304.xxx driver for Ubuntu 18.04 available anymore from the &amp;quot;Graphic Drivers&amp;quot;-ppa. Users who are using GeForce 6-series cards should either stay on an older Ubuntu version or use newer cards}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Linux&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Embedded systems (ARM/MIPS-based hardware) ===&lt;br /&gt;
Other than OpenGL ES 2.0 graphics support being a must it is very hard to generalize Kodi hardware requirements for Linux-based operating-system distributions on ARM or MIPS based embedded systems. This is partially due to most of the work in this area still being early/on-going in development. For most ARM and MIPS-based devices, hardware video decoding support will also be needed for most high-definition videos, (and possibly even some standard-definition videos). Some newer and faster high-end ARM/MIPS chipset can decode some high-definition video using software video decoding, but those encoded with the latest video codecs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Here are a few popular embedded hardware devices that are known to work with Kodi and Linux:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Raspberry Pi]]&#039;&#039;&#039; - Hardware video decoding support for H.264, MPEG-2, and VC-1. GUI is responsive on most light skins. Official supported by many third-party JeOS (Just enough Operating System) Linux distributions made for Kodi such as [[LibreELEC]], GeeXboX, XBian, and [[OSMC]]&lt;br /&gt;
* &#039;&#039;&#039;SolidRun_CuBox-i&#039;&#039;&#039; - Official supported by [[LibreELEC]], GeeXboX and XBian&lt;br /&gt;
* &#039;&#039;&#039;Various &amp;quot;Android&amp;quot; boxes&#039;&#039;&#039; - can run reinstalled with a Linux firmware and boot directly into Kodi. Hardware video decoding for most video codecs, GUI is very responsive on most skins. Running Linux and Kodi on these &amp;quot;Android boxes&amp;quot; will likely result in better performance and enhanced playback capabilities than running Kodi under Android.&lt;br /&gt;
&lt;br /&gt;
=== JeOS implementations for Kodi ===&lt;br /&gt;
{{main|JeOS implementations for Kodi}} &lt;br /&gt;
{{#lst:JeOS implementations for Kodi|JeOS for Kodi}}&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
{{see also|Mac OS X}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Mac OS X&amp;quot; /&amp;gt;&lt;br /&gt;
*Kodi v17 requires Mac OS X 10.8 or later.&lt;br /&gt;
*Kodi v18 (and its nightlies) will at least require 10.9)&lt;br /&gt;
*Kodi v20 and above requires an Intel Mac running OS X 10.13 or higher.&amp;lt;section end=&amp;quot;Mac OS X&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
{{See also|Windows}}&lt;br /&gt;
{{Note|Due to changes in code it may be possible that older hardware/videocards are no longer supported. If starting of Kodi fails then try upgrading to last available drivers (or beta drivers).}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Windows&amp;quot; /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
! Windows Version&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;&#039;Minimum:&#039;&#039;&#039; Windows 7&lt;br /&gt;
* &#039;&#039;&#039;Recommended:&#039;&#039;&#039; Windows 10&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| x86 or x86-64 processor such as: Intel Pentium 4/ Pentium M, AMD Athlon 64 / Opteron, or newer CPU (that support [[w:Streaming SIMD Extensions|SSE2]], which all CPUs made within the last 10-years does).&lt;br /&gt;
* If your GPU/VPU does not support hardware video decoding then you will require a fast modern processor is required to decode some 1080p videos encoded in H.264, VC-1/WMV9, HEVC/H.265 VP9, etc&lt;br /&gt;
|-&lt;br /&gt;
! RAM&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 1GB or more in a HTPC media player appliance-like computer dedicated for Kodi, and 2GB or more in a computer for multipurpose use.&lt;br /&gt;
|-&lt;br /&gt;
! Graphics&lt;br /&gt;
|&lt;br /&gt;
GPU hardware must support at least level [[w:DirectX|DirectX version 9.0c]] however the GPU software drivers must support the [[w:Feature_levels_in_Direct3D#Direct3D_11| DirectX 11 Feature Level 9.1]] (which means the DX11 API has been implemented in the GPU software driver to be compatible with DX9 hardware) &lt;br /&gt;
|-&lt;br /&gt;
! Video decoding&lt;br /&gt;
| On low-performance CPUs to playback 1080p content then hardware video decoding maybe necessary.&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! !! AMD/ATI !! Intel !! Nvidia&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Minimum without HW decoding:&#039;&#039;&#039; || [[w:Radeon|ATI Radeon R300 Series (Radeon 9500)]] || [[w:Intel HD and Iris Graphics| Arrandale / Clarkdale]] or newer || [[w:GeForce|Nvidia GeForce 4-Series]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of 8-bit H.264 and VC-1:&#039;&#039;&#039; || [[w:Radeon|	AMD/ATI Radeon HD 3000 Series ]] or newer || [[w:Intel HD and Iris Graphics| Bay Trail /Sandybridge]] or newer || [[w:GeForce|Nvidia GeForce 4-Series]] or newer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of 8-bit HEVC (H.265) and VP9:&#039;&#039;&#039; || [[w:Radeon|AMD Radeon RX 300 series]] or newer || [[w:Intel HD and Iris Graphics| Braswell / Skylake]] or newer || [[w:GeForce|Nvidia GeForce 8-Series]] or newer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Minimum for HW decoding of 10-bit HEVC (H.265) and VP9:&#039;&#039;&#039; || [[w:Radeon|AMD Radeon 400 series]] or newer || [[w:Intel_HD_and_Iris_Graphic| Apollo Lake / Kaby Lake]] or newer || [[w:GeForce|Nvidia GeForce 8-Series]] or newer&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Drive space&lt;br /&gt;
| The Kodi application generally only takes up between 100 to 200 MB of space, depending on how the binary is compiled. Technically speaking, if your hardware supports netbooting, you do not even require a internal storage for either the operating-system or for Kodi.&lt;br /&gt;
* &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 4 to 8GB&lt;br /&gt;
* &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 16GB or more&lt;br /&gt;
: Depending on how big your video library is. Most of the space required for Kodi comes from the images/artwork cache.&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;Windows&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Updated|17}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Hardware|*]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:General topics]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=244249</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=244249"/>
		<updated>2023-02-14T07:16:33Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add kodi version to maxpassthroughoffsyncduration&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is only relevant for Passthrough in the context of resyncing, e.g.; when there is no resampling possible. This value decides after which amount of discontinuity in milliseconds VideoPlayer will ErrorAdjust the Clock. On platforms like Android where the sink delay is just a non exact interpolation, a too small value might cause rare image stutter. The maximum value is 100 ms. A higher value makes no sense cause of A/V issues. This is a last-resort workaround as the root-cause cannot be mitigated 100% [Available from Kodi v20] --&amp;gt;&lt;br /&gt;
  &amp;lt;maxpassthroughoffsyncduration&amp;gt;10&amp;lt;/maxpassthroughoffsyncduration&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code with subtag (e.g. pt-BR):&#039;&#039;&#039;&lt;br /&gt;
{{note|This support is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to extend an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the same &amp;quot;long&amp;quot; description of the existing language, for example we reuse the Portughese language for another language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to override an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allow you to rename an existing language. Set to an existing language code your preferred &amp;quot;long&amp;quot; name description.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;WARNING: This can cause problems with add-ons, so do not override languages if you are not aware of the side effects.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en-GB&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;episodeextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Episode art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvshowextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvseasonextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;movieextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;moviesetextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicvideoextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Music video art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;try10bitoutput&amp;gt;&#039;&#039;&#039; Removed in v20 and replaced with [[Settings/System/Display#Use_10_bit_for_SDR|Use 10 bit for SDR]] setting &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20014&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=MySQL/Setting_up_MySQL&amp;diff=244164</id>
		<title>MySQL/Setting up MySQL</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=MySQL/Setting_up_MySQL&amp;diff=244164"/>
		<updated>2023-02-07T07:12:54Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Restricting MySQL access rights - Fix wrong command for MySQL 8.0 Server and upwards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:MySQL/Contents}}&lt;br /&gt;
{{mininav| [[MySQL]] }}&lt;br /&gt;
You&#039;ll need to choose which of your computers, Kodi devices, or NAS will be the MySQL server. The server needs to be on 24/7 or have wake-on-lan (preferably the former), and needs to have a local static IP. You will probably want the Kodi device that is hosting most or all of your videos and music to also be the MySQL server, but this is not required.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;Please Note:&#039;&#039;&#039;| Do not manually create the MySQL/MariaDB databases on your database server. Set up the MySQL/MariaDB server, and Kodi will create the specific databases for you.}}&lt;br /&gt;
{{redv|&#039;&#039;&#039;Also:&#039;&#039;&#039;| Some versions of MySQL set their passwords to expire by default, &#039;&#039;&#039;even the root password&#039;&#039;&#039;!  If the password expires, Kodi cannot access the database and the TV Series and Movies libraries will disappear.&amp;lt;br /&amp;gt;&lt;br /&gt;
To avoid this and/or fix it after it happens, make sure the account&#039;s password does not expire. (See: https://dev.mysql.com/doc/refman/5.7/en/password-management.html )}}&lt;br /&gt;
&lt;br /&gt;
MySQL/MariaDB can be installed on just about every major OS and NAS:&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;Important:&#039;&#039;&#039;| Please use only supported versions of the MySQL or MariaDB server. As of January 2019, this is MySQL in at least version 5.7 or MariaDB in at least version 5.5, but version 10.3+ is recommended.}}&lt;br /&gt;
&lt;br /&gt;
=Ubuntu Linux=&lt;br /&gt;
&#039;&#039;&#039;Ubuntu Linux:&#039;&#039;&#039;&lt;br /&gt;
#&amp;lt;code&amp;gt;$sudo apt-get install mysql-server&amp;lt;/code&amp;gt; &#039;&#039;(see also: https://help.ubuntu.com/18.04/serverguide/mysql.html )&#039;&#039;&lt;br /&gt;
#Create a password when asked&lt;br /&gt;
#To configure MySQL to listen for connections from network hosts, edit &#039;&#039;/etc/mysql/mysql.conf.d/mysqld.cnf&#039;&#039; and change the bind-address directive to the server&#039;s IP address:&lt;br /&gt;
##from: &amp;lt;code&amp;gt;bind-address = 127.0.0.1&amp;lt;/code&amp;gt; &lt;br /&gt;
##to: &amp;lt;code&amp;gt;bind-address = 192.168.0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
#*Note: Replace 192.168.0.5 with the appropriate address.&lt;br /&gt;
#*Note: To allow both local and remote access (i.e. from both the MySQL host to itself and also from other clients), either comment out the bind-address using a hash (#) to disable it, or use &amp;lt;code&amp;gt;bind-address = 0.0.0.0&amp;lt;/code&amp;gt; to open it completely.&lt;br /&gt;
#When using MySQL8 or higher (Ubuntu 20.04 or later), add the following line at the end of &#039;&#039;/etc/mysql/mysql.conf.d/mysqld.cnf&#039;&#039;:&lt;br /&gt;
##&amp;lt;code&amp;gt;default_authentication_plugin=mysql_native_password&amp;lt;/code&amp;gt;&lt;br /&gt;
#Restart your MySQL server. &amp;lt;code&amp;gt;sudo service mysql restart&amp;lt;/code&amp;gt;&lt;br /&gt;
#Get into the MySQL command line utility: &amp;lt;code&amp;gt;mysql -u root -p&amp;lt;/code&amp;gt;&lt;br /&gt;
#Enter the following commands:&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;CREATE USER &#039;kodi&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##*Note: When using MySQL8 or higher, there are additional password requirements and new authentication methods. Using the following command should avoid errors. Type in: &amp;lt;code&amp;gt;CREATE USER &#039;kodi&#039; IDENTIFIED WITH mysql_native_password BY &#039;kodi123#&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;GRANT ALL ON *.* TO &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;flush privileges;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
#Close out the command line tool with &amp;lt;code&amp;gt;\q&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Arch Linux=&lt;br /&gt;
&#039;&#039;&#039;Arch Linux:&#039;&#039;&#039;&lt;br /&gt;
*Please note: Arch, along with many other distributions, has migrated to the faster and more open MariaDB. It is a drop in replacement to MySQL and, thus, Kodi will require no modifications to work with it.&lt;br /&gt;
#Install MariaDB: &amp;lt;code&amp;gt;$ sudo pacman -S mariadb&amp;lt;/code&amp;gt;&lt;br /&gt;
#Start the service: &amp;lt;code&amp;gt;$ sudo systemctl start mysqld&amp;lt;/code&amp;gt;&lt;br /&gt;
#To have it automatically launch at startup: &amp;lt;code&amp;gt;$ sudo systemctl enable mysqld&amp;lt;/code&amp;gt;&lt;br /&gt;
#Create a password: &amp;lt;code&amp;gt;$ /usr/bin/mysql_secure_installation&amp;lt;/code&amp;gt; &#039;&#039;This will also clean up the demo database.&#039;&#039;&lt;br /&gt;
#Get into the MariaDB command line utility: &amp;lt;code&amp;gt;$ mysql -u root -p&amp;lt;/code&amp;gt;&lt;br /&gt;
#Enter the following commands:&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;CREATE USER &#039;kodi&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;GRANT ALL ON *.* TO &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;flush privileges;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
#Close out the command line tool with &amp;lt;code&amp;gt;\q&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=RedHat based Linux=&lt;br /&gt;
&#039;&#039;&#039;RedHat based Linux (RHEL, CentOS, Fedora):&#039;&#039;&#039;&lt;br /&gt;
#&amp;lt;code&amp;gt;$sudo yum install mysql-server&amp;lt;/code&amp;gt;&lt;br /&gt;
#Create a password when asked&lt;br /&gt;
#To configure MySQL to listen for connections only from network hosts, edit &#039;&#039;/etc/mysql/my.cnf&#039;&#039; and add the bind-address directive to the server&#039;s IP address:&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;bind-address = 192.168.0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
#*Note: Replace 192.168.0.5 with the appropriate address.&lt;br /&gt;
#*Note: Alternatively you can leave this file as is to allow local and remote access.&lt;br /&gt;
#Restart your MySQL server. &amp;lt;code&amp;gt;$sudo /sbin/service mysqld restart&amp;lt;/code&amp;gt;&lt;br /&gt;
#*Recommended - Set your MySQL root password with &amp;lt;code&amp;gt;/usr/bin/mysqladmin -u root password &#039;new-password&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
#Get into the MySQL command line utility: &amp;lt;code&amp;gt;$mysql -u root -p&amp;lt;/code&amp;gt;&lt;br /&gt;
#*Enter your MySQL root password as set above, or just press enter if you didn&#039;t set one to log in with a blank password&lt;br /&gt;
#Enter the following commands:&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;CREATE USER &#039;kodi&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;GRANT ALL ON *.* TO &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;flush privileges;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
#Close out the command line tool with &amp;lt;code&amp;gt;\q&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=RaspberryPi Raspbian=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RaspberryPi Raspbian:&#039;&#039;&#039;&lt;br /&gt;
#&amp;lt;code&amp;gt;$sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&amp;lt;/code&amp;gt; to ensure that you have the very latest iteration of Raspbian. &#039;&#039;(September 2017 as of writing this)&#039;&#039;&lt;br /&gt;
#&amp;lt;code&amp;gt;$sudo apt-get install mysql-server&amp;lt;/code&amp;gt; to install &#039;&#039;MYSQL Server&#039;&#039;.&lt;br /&gt;
#To configure MySQL to listen for connections from network hosts, &amp;lt;code&amp;gt;$sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf&amp;lt;/code&amp;gt; and change the bind-address directive to the server&#039;s IP address:&lt;br /&gt;
##from: &amp;lt;code&amp;gt;bind-address = 127.0.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
##to: &amp;lt;code&amp;gt;bind-address = 192.168.0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
#*Note: Replace 192.168.0.5 with the appropriate address.&lt;br /&gt;
#*Note: To allow both local and remote access (i.e. from both the MySQL host to itself and also from other clients), either comment out the bind-address using a hash (#) to disable it, or use &amp;lt;code&amp;gt;bind-address = 0.0.0.0&amp;lt;/code&amp;gt; to open it completely.&lt;br /&gt;
#Restart your MySQL server: &amp;lt;code&amp;gt;sudo service mysql restart&amp;lt;/code&amp;gt;&lt;br /&gt;
#Get into the MySQL command line utility: &amp;lt;code&amp;gt;sudo mysql&amp;lt;/code&amp;gt;&lt;br /&gt;
#Enter the following commands:&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;CREATE USER &#039;kodi&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;GRANT ALL ON *.* TO &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;flush privileges;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
#Close out the command line tool with &amp;lt;code&amp;gt;\q&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
&#039;&#039;&#039;Mac OS X:&#039;&#039;&#039;&lt;br /&gt;
#Download a copy of MySQL server from http://dev.mysql.com/downloads/mysql/&lt;br /&gt;
#In Mac OS X, go to System Preferences -&amp;gt; MySQL, and click on “Start MySQL Server”.  You’ll also want to tick to enable the “Automatically … on Startup” option.&lt;br /&gt;
#Now to set up the &amp;quot;kodi&amp;quot; user in MySQL and give it access. Launch Terminal.app on your Mac and issue the following commands, one line at a time:&lt;br /&gt;
##&amp;lt;code&amp;gt;sudo /usr/local/mysql/bin/mysql&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;CREATE USER &#039;kodi&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;GRANT ALL ON *.* TO &#039;kodi&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;&lt;br /&gt;
#Remain in Terminal.app. Now you&#039;ll be giving other computers on your network access to MySQL. Enter the next set of commands, one line at a time:&lt;br /&gt;
##&amp;lt;code&amp;gt;cd /usr/local/mysql/support-files/&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;sudo cp my-huge.cnf /etc/my.cnf&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&#039;&#039;The command line will ask for your Mac OS X user password. Enter it and press return. No text will show when you type your password in, this is normal.&lt;br /&gt;
##&amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;sudo nano my.cnf&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&#039;&#039;This opens a file in a command line text editor&#039;&#039;&lt;br /&gt;
##Scroll down to the [mysqld] section and add or edit the following line so that it appears as:&lt;br /&gt;
##:&amp;lt;code&amp;gt;bind-address = ***.***.***.***&amp;lt;/code&amp;gt;&lt;br /&gt;
##Save and exit from the command line text editor&lt;br /&gt;
#Reboot the Mac, or restart the MySQL service from the System Preferences pane you installed earlier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Alternative guide for Mac OS X: http://forum.kodi.tv/showthread.php?tid=151631&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
== Installing MySQL on Windows ==&lt;br /&gt;
If you have chocolatey installed run &#039;&#039;&#039;choco install mysql&#039;&#039;&#039; &lt;br /&gt;
:&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
#Download a copy of MySQL server from https://dev.mysql.com/downloads/windows/installer/8.0.html&lt;br /&gt;
#Select &#039;&#039;Archives&#039;&#039; when you want the last stable main version 5.7.36 instead of version 8.0.x.&lt;br /&gt;
#Create a password when asked&lt;br /&gt;
#Select that you want the database to have network access when prompted during installation.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a firewall such as the one that&#039;s built into Windows, you will need to follow the steps below for the version of windows you installed Kodi on.&lt;br /&gt;
=== Windows 7/8/8.1 Built-in Firewall ===&lt;br /&gt;
: Run the following command in powershell or execute all the steps below.&lt;br /&gt;
:::&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
New-NetFirewallRule -DisplayName &amp;quot;Allow inbound TCP Port 3306 for MySQL&amp;quot; -Direction inbound –LocalPort 3306 -Protocol TCP -Action Allow&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:#Go to control panel and open Windows Firewall&lt;br /&gt;
:#Click on Advanced Settings&lt;br /&gt;
:#Click on Inbound Rules, then New Rule&lt;br /&gt;
:#For the Rule Type, choose &#039;&#039;&#039;&#039;&#039;Port&#039;&#039;&#039;&#039;&#039; and hit Next&lt;br /&gt;
:#For Protocol and Ports, select TCP protocol and type in &#039;&#039;&#039;&#039;&#039;3306&#039;&#039;&#039;&#039;&#039; for the &#039;&#039;&#039;&#039;&#039;Specific local ports&#039;&#039;&#039;&#039;&#039; and hit Next&lt;br /&gt;
:#For Action, leave it at default which is &#039;&#039;&#039;&#039;&#039;Allow the connection&#039;&#039;&#039;&#039;&#039; and hit Next&lt;br /&gt;
:#For Profile, you can leave it as default (everything checked by default) and hit Next&lt;br /&gt;
:#For Name, set it to &#039;&#039;&#039;&#039;&#039;MySQL&#039;&#039;&#039;&#039;&#039; or any name that you will know what it is and click Finished&lt;br /&gt;
&lt;br /&gt;
== Setup users in MySQL for Kodi clients ==&lt;br /&gt;
&lt;br /&gt;
#Open the &amp;quot;MySQL Command Line Client&amp;quot; from the MySQL start menu&lt;br /&gt;
#Enter the following commands:&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;CREATE USER &#039;kodi&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;GRANT ALL ON *.* TO &#039;kodi&#039;;&amp;lt;/code&amp;gt; and press return&lt;br /&gt;
##Type in: &amp;lt;code&amp;gt;flush privileges;&amp;lt;/code&amp;gt; and press return &lt;br /&gt;
#Close out the command line tool&lt;br /&gt;
&lt;br /&gt;
{{Note|If Kodi is unable to connect to the MySQL server, returning an error code [1130]:}}&amp;lt;br/&amp;gt;&lt;br /&gt;
If this occurs to you, try amending Step 2 above to read &amp;lt;code&amp;gt;GRANT ALL ON *.* TO &#039;kodi&#039;@&#039;xxx.xxx.xxx.%&#039;;&amp;lt;/code&amp;gt; where xxx.xxx.xxx is the first three quadrants of your home network&#039;s IP address (192.168.1 for example) and % as the last quadrant to allow addresses on the same subnet to connect.&lt;br /&gt;
&lt;br /&gt;
=Other NAS=&lt;br /&gt;
MySQL can also be installed on some [[w:network-attached storage|network-attached storage (NAS)]] device devices. Here are some guides for various NAS devices that can have a MySQL server installed:&lt;br /&gt;
&lt;br /&gt;
*Devices running Arch Linux ARM (such as the PogoPlug, Dockstar, etc) can use the [[Setting_up_MySQL|Arch Linux instructions]] on this page.&lt;br /&gt;
*[https://web.archive.org/web/20160329053954/http://quixventure.com/2011/12/configure-a-synology-nas-as-mysql-server-for-xbmc/ Synology NAS as MySQL server for XBMC] and http://youtu.be/3PmmDtK65ks&lt;br /&gt;
*http://www.robvanhamersveld.nl/2013/02/05/share-your-xbmc-12-0-library-on-a-synology-ds-or-other-nas/ Synology DS with MySQL guide based on Frodo&lt;br /&gt;
*http://forum.kodi.tv/showthread.php?tid=172548 - unRAID&lt;br /&gt;
&lt;br /&gt;
After setting up a database server on you NAS, you should create a Kodi user with full administrative privileges. The user should be able to log in from your Kodi devices, so make sure you give the user login access from external machines.&lt;br /&gt;
You do not need to create a database as Kodi will create the required databases itself.&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;Warning:&#039;&#039;&#039;| As you are giving the Kodi user full administrative privileges and external machine access it is recommended that you review your database security. It is highly recommenced that you block internet access to your database using an appropriate firewall. }}&lt;br /&gt;
&lt;br /&gt;
=FreeNAS and freeBSD=&lt;br /&gt;
&lt;br /&gt;
== About FreeNAS ==&lt;br /&gt;
&lt;br /&gt;
http://www.freenas.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FreeNAS is a FreeBSD based NAS system that can be run on almost any hardware - it uses ZFS for disk and file management. It is used at home and in enterprise businesses. 99% of tasks can be done via the web interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example below is based on FreeNAS 9.1.1 on 12/12/13, and assumes you have already configured your nas with drives, datasets etc&lt;br /&gt;
&lt;br /&gt;
== How to ==&lt;br /&gt;
&lt;br /&gt;
=== Make a jail ===&lt;br /&gt;
&lt;br /&gt;
create a Jail via the FreeNAS webui - if unsure see here http://doc.freenas.org/index.php/Adding_Jails&lt;br /&gt;
&lt;br /&gt;
make a note of the jail IP address shown - you will need this to put in the advancedsettings.xml file on the Kodi machine later&lt;br /&gt;
&lt;br /&gt;
=== Prepare the jail ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*ssh into FreeNAS&lt;br /&gt;
**If you have a windows PC use putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) &lt;br /&gt;
**(easiest) click the &amp;quot;shell&amp;quot; button in the left of the FreeNAS webui&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
type the following commands&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;jls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take note of the JID of the jail you created, use it in the command below and replace n with the number of the jail you just created&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;jexec n csh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install mysql ===&lt;br /&gt;
You are now inside your jail&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;pkg install mysql55-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;pkg install nano&amp;lt;/code&amp;gt;&lt;br /&gt;
**(nano is a text editor you will need shortly)&lt;br /&gt;
&lt;br /&gt;
We now need to enable mysql in rc.conf&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;nano /etc/rc.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
insert the line below into the rc.conf file&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;mysql_enable=&amp;quot;YES&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
save the file and exit (see bottom of nano edit page for keystrokes info)&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;service mysql-server start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional step below - this is an automated script that will secure you mysql instance - it will prompt you for answers to questions. Its up to you if you do this.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;mysql_secure_installation&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure mysql ready for Kodi to use ===&lt;br /&gt;
&lt;br /&gt;
type in&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;mysql -u root -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You are now in mysql administration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;CREATE USER &#039;kodi&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;GRANT ALL ON *.* TO &#039;kodi&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flush privileges;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;quit;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Restricting MySQL access rights=&lt;br /&gt;
&#039;&#039;&#039;Optional:&#039;&#039;&#039; &#039;&#039;&#039;If you only use the MySQL server for Kodi and that server has non-critical data on it, then this probably not necessary.&#039;&#039;&#039;&lt;br /&gt;
For a more secure MySQL installation use these 2 commands to grant permission only to databases Kodi uses. This is useful if you plan on using your MySQL server for more than just Kodi, or if you&#039;re worried about your internal network being exposed and wanting to lock things down more, etc. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upto MySQL Server 5.7 Server:&#039;&#039;&#039;&lt;br /&gt;
#&amp;lt;code&amp;gt;GRANT ALL ON `MyVideos%`.* TO &#039;kodi&#039;@&#039;%&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;GRANT ALL ON `MyMusic%`.* TO &#039;kodi&#039;@&#039;%&#039; IDENTIFIED BY &#039;kodi&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;As per MySQL 8.0 Server and upwards:&#039;&#039;&#039;&lt;br /&gt;
#&amp;lt;code&amp;gt;GRANT ALL PRIVILEGES ON `MyVideos%`.* TO `kodi`@`%`;&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;GRANT ALL PRIVILEGES ON `MyMusic%`.* TO `kodi`@`%`;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;Careful&#039;&#039;&#039;|The limited grants on this page don&#039;t give the kodi user permissions to create required TRIGGERs during install or upgrade. &#039;&#039;&#039;Kodi requires these TRIGGERs to function properly.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Use the broader grant *.* statement that is explained on the previous tabs while creating or upgrading the tables. Only restrict rights afterwards, if you need to. &amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, figure out how to specifically give the account the right to create the require TRIGGERS - this varies between MySQL versions. }}&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Next|[[MySQL/Setting up Kodi|Setting up Kodi]]}}&lt;br /&gt;
&lt;br /&gt;
{{Isengard updated}}&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Settings/Player/Subtitles&amp;diff=243646</id>
		<title>Settings/Player/Subtitles</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Settings/Player/Subtitles&amp;diff=243646"/>
		<updated>2023-01-17T08:05:41Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add note to &amp;quot;Position on screen&amp;quot; for reference to &amp;quot;Override subtitles styles&amp;quot; setting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Settings]] | [[Settings/Player|Player]] }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Styles for text based subtitles =&lt;br /&gt;
The settings in this section are for &#039;&#039;&#039;text based&#039;&#039;&#039; subtitles such as &#039;&#039;.ass,&#039;&#039; and &#039;&#039;.srt&#039;&#039; files.&amp;lt;br&amp;gt;&lt;br /&gt;
Image based subtitles, such as those from DVD (&#039;&#039;VobSub&#039;&#039;) or Bluray (&#039;&#039;pgs&#039;&#039;), are not affected by these settings.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20169&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings-Player-Subtitles-01.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Position on screen ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the on screen location of the subtitle.&amp;lt;br&amp;gt;&lt;br /&gt;
Differences between &#039;Bottom of screen&#039; and &#039;Manual&#039; positions:&lt;br /&gt;
; &#039;&#039;Manual&#039;&#039; position:&lt;br /&gt;
* Allow to set subtitle position by using the &#039;&#039;[[Settings/System/Display#Video_calibration | Screen Calibration]]&#039;&#039; subtitle adjustment.&lt;br /&gt;
* Allow to adjust position by using the [[Action_IDs|Action ID&#039;s]] &#039;&#039;SubtitleShiftUp&#039;&#039; and &#039;&#039;SubtitleShiftDown&#039;&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21680&amp;lt;/ref&amp;gt; or shortcut keys.&lt;br /&gt;
* The position, if changed, is permanently saved (persists over all videos or kodi reboot).&lt;br /&gt;
; &#039;&#039;Bottom of screen&#039;&#039; position:&lt;br /&gt;
* Allow to adjust position by using the [[Action_IDs|Action ID&#039;s]] &#039;&#039;SubtitleShiftUp&#039;&#039; and &#039;&#039;SubtitleShiftDown&#039;&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21680&amp;lt;/ref&amp;gt; or shortcut keys.&lt;br /&gt;
* The position, if changed, is temporary, e.g. playing another video will restore to the default position.&lt;br /&gt;
Some subtitle file formats do not allow the position of subtitles to be changed, see also &#039;&#039;Override subtitles styles&#039;&#039; setting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Font ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the font for the subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
Additional &#039;&#039;.ttf&#039;&#039; and &#039;&#039;.otf&#039;&#039; type fonts can be added to the &#039;&#039;\media\fonts\&#039;&#039; folder located in the &#039;&#039;&#039;[[Kodi_data_folder#media| Kodi data folder]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Increase or decrease the size of the subtitles on screen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Style ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Add &#039;&#039;Bold, Italics&#039;&#039; or &#039;&#039;Bold italics&#039;&#039; effects to subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Change the colour of the subtitle text using the pop-up colour picker. May help reduce eyestrain caused by bright white HDR subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the opacity of the subtitle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Border size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Apply a stroke (outline) to the text. Can help increase contrast between text and background.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Border colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Change the colour of the stroke (outline) of the text using the pop-up colour picker.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Blur ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Will apply a blur to the border.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background type ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Displays subtitles in a box which aids in readibility. When the type of background is selected, further settings will become visible which allow colouring of the box, shadow and opacity.&amp;lt;br&amp;gt;&lt;br /&gt;
Enabling this setting will disable the &#039;&#039;Border size&#039;&#039; and &#039;&#039;Border colour&#039;&#039; settings&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vertical margin ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adds a margin to top and bottom aligned text.&amp;lt;br&amp;gt;&lt;br /&gt;
This setting will affect the subtitle position set with the &#039;&#039;&#039;[[Settings/System/Display#Video_calibration | Video calibration setting]]&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override subtitles fonts ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Override the subtitle fonts specified in subtitle files such as &#039;&#039;*.ass&#039;&#039; and &#039;&#039;*.ssa&#039;&#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override subtitles styles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Override the subtitle theme and alignments specified in subtitle files such as &#039;&#039;*.ass&#039;&#039;, &#039;&#039;*.ssa&#039;&#039; and &#039;&#039;*.vtt&#039;&#039; (WebVTT).&amp;lt;br&amp;gt;&lt;br /&gt;
Enabling this setting may in some cases lead to subtitles being displayed incorrectly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stereoscopic 3D depth of subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the visual depth of subtitles for 3D videos. The higher the setting, the closer to the viewer the subtitles will appear.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Charater set ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the font character set to use for subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Closed caption subtitles =&lt;br /&gt;
[[File:Settings-Player-Subtitles-02.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable parsing for closed captions ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Enable parsing for closed caption subtitles. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download Services =&lt;br /&gt;
[[File:Settings-Player-Subtitles-03.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Languages to download subtitles for ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set which language subtitles to search and download.&amp;lt;br&amp;gt;&lt;br /&gt;
Check with your selected subtitle provider if subtitles are not found in the specified language.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle storage location ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Specify where downloaded subtitles should be saved, the same location as the video or a custom location.&amp;lt;br&amp;gt;&lt;br /&gt;
Options: &#039;&#039;Next to the video&#039;&#039; or &#039;&#039;Custom location&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom subtitle folder ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If you chose &#039;&#039;Custom location&#039;&#039; in the previous setting, set the location with this setting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pause when searching for subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Pause the current video while searching for subtitles and resume once the subtitle is available. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auto download first subtitle ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Automatically download first subtitle from the search result list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default TV service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for TV-show subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&amp;lt;br&amp;gt;&lt;br /&gt;
{{collapse top|Available subtitle providers (click &#039;expand&#039; to view)}}&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
	category = Nexus_add-on_repository&lt;br /&gt;
	category = Subtitle_add-ons&lt;br /&gt;
	notcategory = Outdated&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default movie service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for movie subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&amp;lt;br&amp;gt;&lt;br /&gt;
{{collapse top|Available subtitle providers (click &#039;expand&#039; to view)}}&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
	category = Nexus_add-on_repository&lt;br /&gt;
	category = Subtitle_add-ons&lt;br /&gt;
	notcategory = Outdated&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|20}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:Subtitles]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Settings/Player/Subtitles&amp;diff=243645</id>
		<title>Settings/Player/Subtitles</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Settings/Player/Subtitles&amp;diff=243645"/>
		<updated>2023-01-17T07:54:07Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Details improvements for &amp;quot;Position on screen&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Settings]] | [[Settings/Player|Player]] }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Styles for text based subtitles =&lt;br /&gt;
The settings in this section are for &#039;&#039;&#039;text based&#039;&#039;&#039; subtitles such as &#039;&#039;.ass,&#039;&#039; and &#039;&#039;.srt&#039;&#039; files.&amp;lt;br&amp;gt;&lt;br /&gt;
Image based subtitles, such as those from DVD (&#039;&#039;VobSub&#039;&#039;) or Bluray (&#039;&#039;pgs&#039;&#039;), are not affected by these settings.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20169&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings-Player-Subtitles-01.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Position on screen ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the on screen location of the subtitle.&amp;lt;br&amp;gt;&lt;br /&gt;
Differences between &#039;Bottom of screen&#039; and &#039;Manual&#039; positions:&lt;br /&gt;
; &#039;&#039;Manual&#039;&#039; position:&lt;br /&gt;
* Allow to set subtitle position by using the &#039;&#039;[[Settings/System/Display#Video_calibration | Screen Calibration]]&#039;&#039; subtitle adjustment.&lt;br /&gt;
* Allow to adjust position by using the [[Action_IDs|Action ID&#039;s]] &#039;&#039;SubtitleShiftUp&#039;&#039; and &#039;&#039;SubtitleShiftDown&#039;&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21680&amp;lt;/ref&amp;gt; or shortcut keys.&lt;br /&gt;
* The position, if changed, is permanently saved (persists over all videos or kodi reboot).&lt;br /&gt;
; &#039;&#039;Bottom of screen&#039;&#039; position:&lt;br /&gt;
* Allow to adjust position by using the [[Action_IDs|Action ID&#039;s]] &#039;&#039;SubtitleShiftUp&#039;&#039; and &#039;&#039;SubtitleShiftDown&#039;&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21680&amp;lt;/ref&amp;gt; or shortcut keys.&lt;br /&gt;
* The position, if changed, is temporary, e.g. playing another video will restore to the default position.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Font ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the font for the subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
Additional &#039;&#039;.ttf&#039;&#039; and &#039;&#039;.otf&#039;&#039; type fonts can be added to the &#039;&#039;\media\fonts\&#039;&#039; folder located in the &#039;&#039;&#039;[[Kodi_data_folder#media| Kodi data folder]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Increase or decrease the size of the subtitles on screen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Style ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Add &#039;&#039;Bold, Italics&#039;&#039; or &#039;&#039;Bold italics&#039;&#039; effects to subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Change the colour of the subtitle text using the pop-up colour picker. May help reduce eyestrain caused by bright white HDR subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the opacity of the subtitle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Border size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Apply a stroke (outline) to the text. Can help increase contrast between text and background.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Border colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Change the colour of the stroke (outline) of the text using the pop-up colour picker.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Blur ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Will apply a blur to the border.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background type ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Displays subtitles in a box which aids in readibility. When the type of background is selected, further settings will become visible which allow colouring of the box, shadow and opacity.&amp;lt;br&amp;gt;&lt;br /&gt;
Enabling this setting will disable the &#039;&#039;Border size&#039;&#039; and &#039;&#039;Border colour&#039;&#039; settings&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vertical margin ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adds a margin to top and bottom aligned text.&amp;lt;br&amp;gt;&lt;br /&gt;
This setting will affect the subtitle position set with the &#039;&#039;&#039;[[Settings/System/Display#Video_calibration | Video calibration setting]]&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override subtitles fonts ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Override the subtitle fonts specified in subtitle files such as &#039;&#039;*.ass&#039;&#039; and &#039;&#039;*.ssa&#039;&#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override subtitles styles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Override the subtitle theme and alignments specified in subtitle files such as &#039;&#039;*.ass&#039;&#039;, &#039;&#039;*.ssa&#039;&#039; and &#039;&#039;*.vtt&#039;&#039; (WebVTT).&amp;lt;br&amp;gt;&lt;br /&gt;
Enabling this setting may in some cases lead to subtitles being displayed incorrectly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stereoscopic 3D depth of subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the visual depth of subtitles for 3D videos. The higher the setting, the closer to the viewer the subtitles will appear.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Charater set ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the font character set to use for subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Closed caption subtitles =&lt;br /&gt;
[[File:Settings-Player-Subtitles-02.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable parsing for closed captions ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Enable parsing for closed caption subtitles. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download Services =&lt;br /&gt;
[[File:Settings-Player-Subtitles-03.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Languages to download subtitles for ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set which language subtitles to search and download.&amp;lt;br&amp;gt;&lt;br /&gt;
Check with your selected subtitle provider if subtitles are not found in the specified language.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle storage location ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Specify where downloaded subtitles should be saved, the same location as the video or a custom location.&amp;lt;br&amp;gt;&lt;br /&gt;
Options: &#039;&#039;Next to the video&#039;&#039; or &#039;&#039;Custom location&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom subtitle folder ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If you chose &#039;&#039;Custom location&#039;&#039; in the previous setting, set the location with this setting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pause when searching for subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Pause the current video while searching for subtitles and resume once the subtitle is available. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auto download first subtitle ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Automatically download first subtitle from the search result list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default TV service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for TV-show subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&amp;lt;br&amp;gt;&lt;br /&gt;
{{collapse top|Available subtitle providers (click &#039;expand&#039; to view)}}&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
	category = Nexus_add-on_repository&lt;br /&gt;
	category = Subtitle_add-ons&lt;br /&gt;
	notcategory = Outdated&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default movie service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for movie subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&amp;lt;br&amp;gt;&lt;br /&gt;
{{collapse top|Available subtitle providers (click &#039;expand&#039; to view)}}&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
	category = Nexus_add-on_repository&lt;br /&gt;
	category = Subtitle_add-ons&lt;br /&gt;
	notcategory = Outdated&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|20}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:Subtitles]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Settings/Player/Subtitles&amp;diff=243644</id>
		<title>Settings/Player/Subtitles</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Settings/Player/Subtitles&amp;diff=243644"/>
		<updated>2023-01-17T07:36:33Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add more &amp;quot;Override subtitles styles&amp;quot; details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Settings]] | [[Settings/Player|Player]] }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Styles for text based subtitles =&lt;br /&gt;
The settings in this section are for &#039;&#039;&#039;text based&#039;&#039;&#039; subtitles such as &#039;&#039;.ass,&#039;&#039; and &#039;&#039;.srt&#039;&#039; files.&amp;lt;br&amp;gt;&lt;br /&gt;
Image based subtitles, such as those from DVD (&#039;&#039;VobSub&#039;&#039;) or Bluray (&#039;&#039;pgs&#039;&#039;), are not affected by these settings.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20169&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings-Player-Subtitles-01.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Position on screen ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the on screen location of the subtitle.&amp;lt;br&amp;gt;&lt;br /&gt;
The &#039;&#039;Manual&#039;&#039; option can be set using the &#039;&#039;[[Settings/System/Display#Video_calibration | Screen Calibration]]&#039;&#039; subtitle adjustment, which now works only with the &#039;&#039;Manual&#039;&#039; option.&amp;lt;br&amp;gt;&lt;br /&gt;
During playback, &#039;&#039;Manual&#039;&#039; can also be adjusted using the [[Action_IDs|Action ID&#039;s]] &#039;&#039;SubtitleShiftUp&#039;&#039; and &#039;&#039;SubtitleShiftDown&#039;&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21680&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
There is a difference between &amp;quot;Bottom screen&amp;quot; and &amp;quot;Manual&amp;quot; positions:&lt;br /&gt;
* with &amp;quot;manual&amp;quot;, the subtitle position, if changed, is permanently saved (persists over different videos or kodi reboot), and can be changed also with Calibration screen&lt;br /&gt;
* with &amp;quot;bottom&amp;quot;, the subtitle position, if changed, is temporary, e.g. playing another video will restore to the default position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Font ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the font for the subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
Additional &#039;&#039;.ttf&#039;&#039; and &#039;&#039;.otf&#039;&#039; type fonts can be added to the &#039;&#039;\media\fonts\&#039;&#039; folder located in the &#039;&#039;&#039;[[Kodi_data_folder#media| Kodi data folder]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Increase or decrease the size of the subtitles on screen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Style ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Add &#039;&#039;Bold, Italics&#039;&#039; or &#039;&#039;Bold italics&#039;&#039; effects to subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Change the colour of the subtitle text using the pop-up colour picker. May help reduce eyestrain caused by bright white HDR subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the opacity of the subtitle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Border size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Apply a stroke (outline) to the text. Can help increase contrast between text and background.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Border colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Change the colour of the stroke (outline) of the text using the pop-up colour picker.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Blur ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Will apply a blur to the border.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background type ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Displays subtitles in a box which aids in readibility. When the type of background is selected, further settings will become visible which allow colouring of the box, shadow and opacity.&amp;lt;br&amp;gt;&lt;br /&gt;
Enabling this setting will disable the &#039;&#039;Border size&#039;&#039; and &#039;&#039;Border colour&#039;&#039; settings&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vertical margin ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adds a margin to top and bottom aligned text.&amp;lt;br&amp;gt;&lt;br /&gt;
This setting will affect the subtitle position set with the &#039;&#039;&#039;[[Settings/System/Display#Video_calibration | Video calibration setting]]&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override subtitles fonts ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Override the subtitle fonts specified in subtitle files such as &#039;&#039;*.ass&#039;&#039; and &#039;&#039;*.ssa&#039;&#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override subtitles styles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Override the subtitle theme and alignments specified in subtitle files such as &#039;&#039;*.ass&#039;&#039;, &#039;&#039;*.ssa&#039;&#039; and &#039;&#039;*.vtt&#039;&#039; (WebVTT).&amp;lt;br&amp;gt;&lt;br /&gt;
Enabling this setting may in some cases lead to subtitles being displayed incorrectly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stereoscopic 3D depth of subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the visual depth of subtitles for 3D videos. The higher the setting, the closer to the viewer the subtitles will appear.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Charater set ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the font character set to use for subtitles.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Closed caption subtitles =&lt;br /&gt;
[[File:Settings-Player-Subtitles-02.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable parsing for closed captions ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Enable parsing for closed caption subtitles. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download Services =&lt;br /&gt;
[[File:Settings-Player-Subtitles-03.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Languages to download subtitles for ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set which language subtitles to search and download.&amp;lt;br&amp;gt;&lt;br /&gt;
Check with your selected subtitle provider if subtitles are not found in the specified language.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle storage location ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Specify where downloaded subtitles should be saved, the same location as the video or a custom location.&amp;lt;br&amp;gt;&lt;br /&gt;
Options: &#039;&#039;Next to the video&#039;&#039; or &#039;&#039;Custom location&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom subtitle folder ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If you chose &#039;&#039;Custom location&#039;&#039; in the previous setting, set the location with this setting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pause when searching for subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Pause the current video while searching for subtitles and resume once the subtitle is available. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auto download first subtitle ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Automatically download first subtitle from the search result list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default TV service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for TV-show subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&amp;lt;br&amp;gt;&lt;br /&gt;
{{collapse top|Available subtitle providers (click &#039;expand&#039; to view)}}&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
	category = Nexus_add-on_repository&lt;br /&gt;
	category = Subtitle_add-ons&lt;br /&gt;
	notcategory = Outdated&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default movie service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for movie subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&amp;lt;br&amp;gt;&lt;br /&gt;
{{collapse top|Available subtitle providers (click &#039;expand&#039; to view)}}&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
	category = Nexus_add-on_repository&lt;br /&gt;
	category = Subtitle_add-ons&lt;br /&gt;
	notcategory = Outdated&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|20}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:Subtitles]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/Episodes&amp;diff=243504</id>
		<title>NFO files/Episodes</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/Episodes&amp;diff=243504"/>
		<updated>2022-12-26T10:33:31Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Fixed &amp;lt;code&amp;gt; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&#039;&#039;&#039;Episodes must abide by the standard filenaming conventions even when using nfo files. {{kodi}} determines the season and episode numbering &#039;&#039;(S01E01)&#039;&#039; from the episode filename, not from the NFO file.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One nfo file for &#039;&#039;&#039;each&#039;&#039;&#039; episode is required. This file holds information specific to that episode. &lt;br /&gt;
&lt;br /&gt;
Most metadata contained in a {{kodi}} exported NFO file is metadata inherited from the TV Show or are not used which is why the episode NFO template is relatively small.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The episode nfo file is placed alongside each episode video file. The episode nfo filename is the same as the video filename but with the &#039;&#039;.nfo&#039;&#039; extension. See image below for examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;1000px&amp;quot; heights=&amp;quot;562px&amp;quot;&amp;gt;&lt;br /&gt;
File:LocalEpisodeArtwork01.jpg|&#039;&#039;&#039;&#039;&#039;Episode Artwork and nfo files&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Tags =&lt;br /&gt;
The following table lists the available XML tags in the episode nfo file. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Yes&#039;&#039; in the Inherited column indicates a tag that uses data from the parent TV Show. These tags are created in the exported nfo file but are ignored on import so it is not possible to change this data at the episode level.&lt;br /&gt;
&lt;br /&gt;
Three XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Inherited || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episodedetails&amp;gt;&amp;lt;/episodedetails&amp;gt; || {{Yes}} || No/Yes || || The top level parent tag for the nfo file. All other tags must be contained within these two tags&amp;lt;br/&amp;gt;&lt;br /&gt;
Yes - When creating multi-episode nfo files. See next section. &amp;lt;br/&amp;gt;&lt;br /&gt;
No - In all other cases, a single instance is used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || || The title for the episode&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;originaltitle&amp;gt;&amp;lt;/originaltitle&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;showtitle&amp;gt;&amp;lt;/showtitle&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ratings&amp;gt;&lt;br /&gt;
    &amp;lt;rating name=&amp;quot;&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
       &amp;lt;votes&amp;gt;&amp;lt;/votes&amp;gt;&lt;br /&gt;
    &amp;lt;/rating&amp;gt;&lt;br /&gt;
  &amp;lt;/ratings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No || || &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one rating can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional ratings must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommitted&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name=&amp;quot;identifier&amp;quot;&#039;&#039;. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;trakt&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tvmaze&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;metacritic&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallcritics&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallaudience&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || || Personal rating set by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt; || No || No/Yes || ||  Season number is read from filename in all cases&amp;lt;br/&amp;gt;&lt;br /&gt;
Not required for single nfo files&amp;lt;br/&amp;gt;&lt;br /&gt;
Required for multi-episode nfo files to match the metadata to the correct episode. See next section&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt; || No || No/Yes || || Episode number is read from filename in all cases&amp;lt;br/&amp;gt;&lt;br /&gt;
Not required for single nfo files&amp;lt;br/&amp;gt;&lt;br /&gt;
Required for multi-episode nfo files to match the metadata to the correct episode. See next section&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayepisode&amp;gt;&amp;lt;/displayepisode&amp;gt; || No || No || || Used to place Specials episodes in the correct episode order&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayseason&amp;gt;&amp;lt;/displayseason&amp;gt; || No || No || || Used to place Specials episodes in the correct season&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || || A description of the episode&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || || Short slogan of the episode. No skins use this.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || || Minutes only. If ommitted, {{kodi}} will add runtime upon scanning of the video file&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;thumb&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; || No || Yes || || Path to episode artwork. Not needed when using local artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || || Number of times episode has been played.&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || || Date last played&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || || The default ID. &amp;lt;br&amp;gt;&lt;br /&gt;
Do not use. It is a deprecated Kodi generated tag. See next item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt; || {{Yes}} || Yes || || The ID from the scraper site.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;&amp;quot;&#039;&#039; Identifier of the ID. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tvdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::For non-scraped items, use simple values like &#039;&#039;&amp;quot;home&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;doco&amp;quot;&#039;&#039; etc&amp;lt;br&amp;gt;&lt;br /&gt;
::The value can be alpha-numeric eg &#039;&#039;tt3480556&#039;&#039; for imdb, &#039;&#039;286668&#039;&#039; for tmdb, &#039;&#039;home001&#039;&#039; for home movies, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one uniqueID can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional uniqueIDs must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommit the default attribute &amp;lt;br/&amp;gt;&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt; || No || Yes || || Field for writers.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;director&amp;gt;&amp;lt;/director&amp;gt; || No || Yes || || Director&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Yes || Inherited from TV show&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Yes || Inherited from TV show&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/nowiki&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || || Original air date of the episode&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Yes || Production studio. Inherited from TV Show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No ||  ||Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;episodebookmark&amp;gt;&lt;br /&gt;
        &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
    &amp;lt;/episodebookmark&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No ||  || Episode Bookmark in seconds. &#039;&#039;See: [[Bookmarks_and_chapters|Episode Bookmarks]]&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Not used for Import&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;fileinfo&amp;gt;&lt;br /&gt;
    &amp;lt;streamdetails&amp;gt;&lt;br /&gt;
      &amp;lt;video&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;aspect&amp;gt;&amp;lt;/aspect&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;durationinseconds&amp;gt;&amp;lt;/durationinseconds&amp;gt;&lt;br /&gt;
        &amp;lt;stereomode&amp;gt;&amp;lt;/stereomode&amp;gt;&lt;br /&gt;
      &amp;lt;/video&amp;gt;&lt;br /&gt;
      &amp;lt;audio&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
        &amp;lt;channels&amp;gt;&amp;lt;/channels&amp;gt;&lt;br /&gt;
      &amp;lt;/audio&amp;gt;&lt;br /&gt;
      &amp;lt;subtitle&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
      &amp;lt;/subtitle&amp;gt;&lt;br /&gt;
    &amp;lt;/streamdetails&amp;gt;&lt;br /&gt;
 &amp;lt;/fileinfo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || Yes || || Multiple entries of &amp;lt;audio&amp;gt; and &amp;lt;subtitles&amp;gt; accepted&amp;lt;br&amp;gt;&lt;br /&gt;
In v17 and prior, {{kodi}} would overwrite these values on first play of the file.&amp;lt;br&amp;gt;&lt;br /&gt;
In v18 that process was removed and values in these tags will remain.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16342&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If ommitted, {{kodi}} will add runtime upon scanning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
   &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
   &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || Yes ||  || The &amp;lt;order&amp;gt; tag determines where in the list the actor will appear. 0 = first in the list &lt;br /&gt;
Supports &amp;quot;clear&amp;quot; attribute&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No || || Set the resume position&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]] &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Multi-Episode Files =&lt;br /&gt;
There may be instances where a video file contains two or more episodes. This is common for ISO files. &lt;br /&gt;
&lt;br /&gt;
Multi-episode video files still use a single nfo file. The metadata for each episode is stacked in the single nfo file. Below is an example of an abbreviated multi-episode nfo file containing 3 episodes.&lt;br /&gt;
&lt;br /&gt;
One difference between the single and multi nfo file is that the &#039;&#039;&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt;&#039;&#039; and &#039;&#039;&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt;&#039;&#039; tags are required for each episode in the multi nfo file. {{kodi}} still requires the filename to contain the season and episode numbering, but it also requires these additional tags so it can match the metadata to the correct episode. The metadata for each episode must be in correct numerical order.&lt;br /&gt;
&lt;br /&gt;
For correct naming of the video file, nfo file and artwork thumb, see: &#039;&#039;&#039;[[Naming_video_files/Episodes#Multi-Episode_Files|Naming Multi-Episode Files]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:50%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;Example Multi-Episode NFO File&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for first episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 1&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;1&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; &lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for second episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 2&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;2&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt;&lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for third episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 3&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;3&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt;&lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/Movies&amp;diff=243503</id>
		<title>NFO files/Movies</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/Movies&amp;diff=243503"/>
		<updated>2022-12-26T10:33:10Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Fixed &amp;lt;code&amp;gt; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
NFO files to be scraped into the movie library are relatively simple and require only a single nfo file per title.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are two naming schemes for movie nfo files. Both are explained and {{kodi}} recommends using the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MovieNFONaming&amp;quot; /&amp;gt;;&amp;lt;VideoFileName&amp;gt;.nfo&lt;br /&gt;
:*NFO Files are named the same as the video file except with the &#039;&#039;.nfo&#039;&#039; extension.&lt;br /&gt;
:*We recommend using this filename format to name nfo files.&lt;br /&gt;
&lt;br /&gt;
;movie.nfo&lt;br /&gt;
:{{Kodi}} may also scan nfo files named &#039;&#039;&#039;&#039;&#039;movie.nfo&#039;&#039;&#039;&#039;&#039;. To use this name, the setting &#039;&#039;&#039;Movies are in separate folders that match the movie title&#039;&#039;&#039; must be &#039;&#039;&#039;Enabled&#039;&#039;&#039; in the &#039;&#039;&#039;[[Adding_video_sources#Set_Content|Set Content Screen]]&#039;&#039;&#039;&lt;br /&gt;
:*If the above setting is not enabled, {{kodi}} will ignore the &#039;&#039;movie.nfo&#039;&#039;. If the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; file is available, {{kodi}} will scan this one instead, otherwise an online scrape will be performed if a valid scraper is set for the Source.&lt;br /&gt;
:*If you use &#039;&#039;movie.nfo&#039;&#039; and later Export your library to Separate Files, {{kodi}} will still create the nfo file in the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; format and two nfo files will exist. If a Refresh or rescan is run in future, and the above setting is still enabled, the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; file will be ignored in favour of &#039;&#039;movie.nfo&#039;&#039;, which means any changes you may have made to the library entry (play counts, watched status etc) will not be re-scanned back into the library.&lt;br /&gt;
:*We recommend using the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; format for nfo files to avoid the above traps.&amp;lt;section end=&amp;quot;MovieNFONaming&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The below image details naming and location for Single File, DVD and Bluray movies:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;1000px&amp;quot; heights=&amp;quot;562px&amp;quot;&amp;gt;&lt;br /&gt;
File:LocalMovieArtwork01.jpg|&#039;&#039;&#039;&#039;&#039;Example of correct use of Movie Folder with artwork, nfo file, trailer and theme.&amp;lt;br&amp;gt; Take note of file naming and location.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Tags =&lt;br /&gt;
The following table lists available XML tags. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Required&amp;quot; column indicates whether a tag can be optionally added or ommitted when creating the nfo to suit your purpose. The less tags used, the less information added to the library.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=430px | NFO (xml) Tag || Required || Multiple || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;movie&amp;gt;&amp;lt;/movie&amp;gt; ||  {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || The title for the movie&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;originaltitle&amp;gt;&amp;lt;/originaltitle&amp;gt; || No || No || Displays the original title of the movie. &amp;lt;br&amp;gt;&lt;br /&gt;
For example, if the scraper is set to german language and the scraped movie in german is &amp;quot;Der mit dem Wolf tanzt&amp;quot; the original title will be &amp;quot;Dances with Wolves&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sorttitle&amp;gt;&amp;lt;/sorttitle&amp;gt; || No || No || Allows alternate title sort without modifying movie title. Not displayed in any library listing. See: &#039;&#039;[[Movie_sets#Sort_Title|Sort Title]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
  &amp;lt;ratings&amp;gt;&lt;br /&gt;
    &amp;lt;rating name=&amp;quot;&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
       &amp;lt;votes&amp;gt;&amp;lt;/votes&amp;gt;&lt;br /&gt;
    &amp;lt;/rating&amp;gt;&lt;br /&gt;
  &amp;lt;/ratings&amp;gt;&lt;br /&gt;
|| No || No || &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one rating can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional ratings must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or omit the default attribute&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name=&amp;quot;identifier&amp;quot;&#039;&#039;. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;trakt&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;metacritic&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallcritics&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallaudience&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || Personal rating set by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || Ranking in IMDB Top 250 movies&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; ||  ||  || Should be short, will be displayed on a single line (scraped from IMDB only)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; ||  ||  || Can contain more information on multiple lines, will be wrapped&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || Short movie slogan. &amp;quot;The true story of a real fake&amp;quot; is the tagline for &amp;quot;Catch me if you can&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || Minutes only. If ommitted, {{kodi}} will add runtime upon scanning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; || No || Yes || Path to available Movie Posters. Not needed when using local artwork&amp;lt;br&amp;gt;&lt;br /&gt;
Example use of &#039;&#039;aspect=&amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;banner&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearlogo&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;discart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;keyart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;landscape&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;poster&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;fanart&amp;gt;&lt;br /&gt;
     &amp;lt;thumb preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/fanart&amp;gt;&lt;br /&gt;
|| No || Yes^ || Path to available movie fanart.&amp;lt;br&amp;gt;&lt;br /&gt;
:^ Multiple &amp;lt;thumb&amp;gt; entries allowed between the &amp;lt;fanart&amp;gt;&amp;lt;/fanart&amp;gt; tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country certification flags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || Number of times movie has been played.&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || Date last played as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || The default ID. &amp;lt;br&amp;gt;&lt;br /&gt;
Do not use. This is a Kodi generated tag. See next item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt; || {{Yes}} || Yes ||The ID from the scraper site.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;&amp;quot;&#039;&#039; Identifier of the ID. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tvdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::For non-scraped items, use simple values like &#039;&#039;&amp;quot;home&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;doco&amp;quot;&#039;&#039; etc&amp;lt;br&amp;gt;&lt;br /&gt;
::The value can be alpha-numeric eg &#039;&#039;tt3480556&#039;&#039; for imdb, &#039;&#039;286668&#039;&#039; for tmdb, &#039;&#039;home001&#039;&#039; for home movies, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one uniqueID can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional uniqueID&#039;s must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommit the default attribute&amp;lt;br&amp;gt;&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Movie genre. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt; || No || Yes || Library Tags. See...&#039;&#039;&#039;[[Video library tags]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;set&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;overview&amp;gt;&amp;lt;/overview&amp;gt;&lt;br /&gt;
 &amp;lt;/set&amp;gt;&lt;br /&gt;
|| No || No || Movie set tags &amp;lt;br /&amp;gt;&lt;br /&gt;
The &amp;lt;overview&amp;gt; tag allows a short summary of the movie set. It can be displayed by some skins.&lt;br /&gt;
&amp;lt;br /&amp;gt;See... &#039;&#039;&#039;[[Movie sets]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;country&amp;gt;&amp;lt;/country&amp;gt; || No || Yes || Country of origin &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt; || No || Yes || Field for writers.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;director&amp;gt;&amp;lt;/director&amp;gt; || No || Yes || Movie Director&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Release date of movie. Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Release Year.&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/nowiki&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Production studio&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No || Local or online path to movie trailer&amp;lt;br&amp;gt; Do not add local path to trailer. {{kodi}} will automatically scan for local trailers.&amp;lt;br&amp;gt; See... &#039;&#039;&#039;[[Trailers]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;fileinfo&amp;gt;&lt;br /&gt;
    &amp;lt;streamdetails&amp;gt;&lt;br /&gt;
      &amp;lt;video&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;aspect&amp;gt;&amp;lt;/aspect&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;durationinseconds&amp;gt;&amp;lt;/durationinseconds&amp;gt;&lt;br /&gt;
        &amp;lt;stereomode&amp;gt;&amp;lt;/stereomode&amp;gt;&lt;br /&gt;
      &amp;lt;/video&amp;gt;&lt;br /&gt;
      &amp;lt;audio&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
        &amp;lt;channels&amp;gt;&amp;lt;/channels&amp;gt;&lt;br /&gt;
      &amp;lt;/audio&amp;gt;&lt;br /&gt;
      &amp;lt;subtitle&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
      &amp;lt;/subtitle&amp;gt;&lt;br /&gt;
    &amp;lt;/streamdetails&amp;gt;&lt;br /&gt;
 &amp;lt;/fileinfo&amp;gt;&lt;br /&gt;
|| No || Yes || Multiple entries of &amp;lt;audio&amp;gt; and &amp;lt;subtitles&amp;gt; accepted&amp;lt;br&amp;gt;&lt;br /&gt;
In v17 and prior, {{kodi}} would overwrite these values on first play of the file.&amp;lt;br&amp;gt;&lt;br /&gt;
In v18 that process was removed and values in these tags will remain.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16342&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
   &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
   &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt;&lt;br /&gt;
|| No || Yes || The &amp;lt;order&amp;gt; tag determines where in the list the actor will appear. 0 = first in the list &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;showlink&amp;gt;&amp;lt;/showlink&amp;gt; || No || No || Connect movie to TV Show. Use the TV Show &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; name.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
|| No || No || Movie resume point in Seconds&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/Music_videos&amp;diff=243502</id>
		<title>NFO files/Music videos</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/Music_videos&amp;diff=243502"/>
		<updated>2022-12-26T10:32:40Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Fixed &amp;lt;code&amp;gt; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
The Music Video library uses the Video Library database. Music Video entries displayed in {{kodi}} can also access information from the Music Library if the same artist and album that contains the music video song is also in the Music Library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Music Videos require one nfo for &#039;&#039;&#039;each&#039;&#039;&#039; music video in the folder. These nfo files need to be named exactly as the Music Video file is named, but with the nfo extension.&lt;br /&gt;
&lt;br /&gt;
The below image shows an example of correct naming and placement of the artwork alongside the &#039;&#039;&#039;&#039;&#039;[[NFO_files|nfo]]&#039;&#039;&#039;&#039;&#039; file and the Music Video media file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;500px&amp;quot; heights=&amp;quot;290px&amp;quot;&amp;gt;&lt;br /&gt;
File:Artwork-MusicVideoExample01.jpg|Correct naming and placement of media, nfo and artwork files.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=  Music Video Tags =&lt;br /&gt;
A list of all available tags that Kodi recognises follows in this section. &lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;musicvideo&amp;gt;&amp;lt;/musicvideo&amp;gt; || {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || Name of music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || Personal rating applied by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;track&amp;gt;&amp;lt;/track&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;album&amp;gt;&amp;lt;/album&amp;gt; || No || No || Name of album the song appears on&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || Review / information of music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || Minutes only. If ommitted, {{kodi}} will add runtime upon scanning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;thumb&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; || No || Yes || Path to TV Show and Season artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || Setting this to 1 or greater will mark the Music Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || Date last played&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Genre&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt; || No || Yes || Video tags. See: &#039;&#039;&#039;[[Video library tags]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;director&amp;gt;&amp;lt;/director&amp;gt; || No || Yes || Director of the music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Release date.&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Release Year.&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/nowiki&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Production studio&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
    &amp;lt;fileinfo&amp;gt;&lt;br /&gt;
        &amp;lt;streamdetails&amp;gt;&lt;br /&gt;
            &amp;lt;video&amp;gt;&lt;br /&gt;
                &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
                &amp;lt;aspect&amp;gt;&amp;lt;/aspect&amp;gt;&lt;br /&gt;
                &amp;lt;width&amp;gt;&amp;lt;/width&amp;gt;&lt;br /&gt;
                &amp;lt;height&amp;gt;&amp;lt;/height&amp;gt;&lt;br /&gt;
                &amp;lt;durationinseconds&amp;gt;&amp;lt;/durationinseconds&amp;gt;&lt;br /&gt;
                &amp;lt;stereomode&amp;gt;&amp;lt;/stereomode&amp;gt;&lt;br /&gt;
            &amp;lt;/video&amp;gt;&lt;br /&gt;
            &amp;lt;audio&amp;gt;&lt;br /&gt;
                &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
                &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
                &amp;lt;channels&amp;gt;&amp;lt;/channels&amp;gt;&lt;br /&gt;
            &amp;lt;/audio&amp;gt;&lt;br /&gt;
        &amp;lt;/streamdetails&amp;gt;&lt;br /&gt;
    &amp;lt;/fileinfo&amp;gt;&lt;br /&gt;
|| No || No || While it is possible to manually set the information contained within the &amp;lt;streamdetails&amp;gt; tag, there is little point in doing so. &lt;br /&gt;
Kodi will always overwrite this data when it plays back the video file.&amp;lt;br /&amp;gt; &lt;br /&gt;
In other words, no matter how many times you try to manually set it, it will be overwritten the moment the video is played&lt;br /&gt;
|-&lt;br /&gt;
|   &lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Taylor Swift&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
    &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&lt;br /&gt;
    &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt; &lt;br /&gt;
|| No || Yes || The artist of the song&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;artist&amp;gt;&amp;lt;/artist&amp;gt; || {{yes}} || Yes || The artists/actors in the music video&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
|| No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Music library]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/TV_shows&amp;diff=243501</id>
		<title>NFO files/TV shows</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/TV_shows&amp;diff=243501"/>
		<updated>2022-12-26T10:31:52Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Fixed &amp;lt;code&amp;gt; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
NFO files for TV Shows are a little bit more complex as they require the following NFO files:&lt;br /&gt;
* One nfo file for the TV Show. This file holds the overall TV show information&lt;br /&gt;
* One nfo file for &#039;&#039;&#039;each&#039;&#039;&#039; Episode. This file holds information specific to that episode&lt;br /&gt;
For one TV Show with 10 episodes, 11 nfo files are required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= episodeguide URL =&lt;br /&gt;
The &amp;lt;episodeguide&amp;gt; is the tag that allows the scrapers to find the episodes belonging to the TV Show at the site of the information provider.&lt;br /&gt;
&lt;br /&gt;
Due to an issue where the UniqueID for TV shows and movies across TV Maze, TMDB and TheTVDB are &#039;&#039;&#039;not&#039;&#039;&#039; unique, the episode guide was converted to a JSON format which clearly identified which site the UniqueID belongs to.&lt;br /&gt;
&lt;br /&gt;
These changes have been incorporated into v19 and later releases of {{kodi}}. [https://forum.kodi.tv/showthread.php?tid=370489 Read more here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The tvshow.nfo file is placed inside the TV Show folder. The NFO filename is actually &#039;&#039;&#039;tvshow.nfo&#039;&#039;&#039;. Do not rename it with the title of the tv show. See image for example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;1000px&amp;quot; heights=&amp;quot;562px&amp;quot;&amp;gt;&lt;br /&gt;
File:LocalTVShowArtwork01.jpg|&#039;&#039;&#039;&#039;&#039;Location of tvshow.nfo along with artwork&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Tags =&lt;br /&gt;
The following table lists available XML tags for TV Shows. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Two XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tvshow&amp;gt;&amp;lt;/tvshow&amp;gt; || {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || The title of the TV Show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;originaltitle&amp;gt;&amp;lt;/originaltitle&amp;gt; || No || No || The original title, usually in the language of the country of origin.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;showtitle&amp;gt;&amp;lt;/showtitle&amp;gt; || No || No || Not in common use, but some skins may display an alternate title&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sorttitle&amp;gt;&amp;lt;/sorttitle&amp;gt; || No || No || Allows alternate title sort without modifying the TV Show title. Not displayed in any library listing.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
  &amp;lt;ratings&amp;gt;&lt;br /&gt;
    &amp;lt;rating name=&amp;quot;&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
       &amp;lt;votes&amp;gt;&amp;lt;/votes&amp;gt;&lt;br /&gt;
    &amp;lt;/rating&amp;gt;&lt;br /&gt;
  &amp;lt;/ratings&amp;gt;&lt;br /&gt;
|| No || No || &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one rating can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional ratings must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommitted&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name=&amp;quot;identifier&amp;quot;&#039;&#039;. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;trakt&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tvmaze&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;metacritic&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallcritics&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallaudience&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || Personal rating set by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || Ranking in IMDB Top 250&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt; || No || No ||Number of seasons of this TV Show in the library&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt; || No || No || Number of episodes of this TV Show in the library&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayepisode&amp;gt;&amp;lt;/displayepisode&amp;gt; || No || No || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayseason&amp;gt;&amp;lt;/displayseason&amp;gt; || No || No || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || Can contain more information on multiple lines, will be wrapped&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || Short TV Show slogan&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
&amp;lt;thumb aspect=&amp;quot;poster&amp;quot; type=&amp;quot;season&amp;quot; season=&amp;quot;&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; &lt;br /&gt;
|| No || Yes || Path to available TV Show Posters. Not used for locally saved artwork&amp;lt;br&amp;gt;&lt;br /&gt;
Example use of &#039;&#039;aspect=&amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;banner&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearlogo&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;landscape&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;poster&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;season&amp;quot;&#039;&#039; used for season specific artwork&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;season=&amp;quot;2&amp;quot;&#039;&#039; nominates season number eg. season 2&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;fanart&amp;gt;&lt;br /&gt;
     &amp;lt;thumb preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/fanart&amp;gt;&lt;br /&gt;
|| No || Yes^ || Path to available TV Show fanart.&amp;lt;br&amp;gt;&lt;br /&gt;
:^ Multiple &amp;lt;thumb&amp;gt; entries allowed between the &amp;lt;fanart&amp;gt;&amp;lt;/fanart&amp;gt; tags&amp;lt;br&amp;gt;&lt;br /&gt;
Not used for locally saved artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country local rating system&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || Number of times TV show has been played. Will only ever show 0 or 1. Episodes track playcounts&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || Date TV Show was last played&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;episodeguide&amp;gt;&lt;br /&gt;
   {&amp;quot;tmdb&amp;quot;: &amp;quot;76479&amp;quot;, &amp;quot;imdb&amp;quot;: &amp;quot;tt1190634&amp;quot;, &amp;quot;tvdb&amp;quot;: &amp;quot;355567&amp;quot;}&lt;br /&gt;
 &amp;lt;/episodeguide&amp;gt;&lt;br /&gt;
|| Yes/No || No || Read section &#039;&#039;1.1 episodeguide URL&#039;&#039; above.&amp;lt;br&amp;gt;&lt;br /&gt;
For v19 and later, a JSON format is used. &#039;&#039;[https://forum.kodi.tv/showthread.php?tid=370489 Read more here]&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
TVDB scraper uses TheTVDB v4 API&amp;lt;br&amp;gt;&lt;br /&gt;
Other providers: &#039;&#039;&amp;quot;tvmaze&amp;quot;:&#039;&#039; and &#039;&#039;&amp;quot;tvrage&amp;quot;:&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || The default ID. &amp;lt;br&amp;gt;&lt;br /&gt;
Do not use as this is a Kodi generated tag. See next item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt; || {{Yes}} || Yes ||The ID from the scraper site.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;&amp;quot;&#039;&#039; Identifier of the ID. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tvdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::For non-scraped items, use simple values like &#039;&#039;&amp;quot;home&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;doco&amp;quot;&#039;&#039; etc&amp;lt;br&amp;gt;&lt;br /&gt;
::The value can be alpha-numeric eg &#039;&#039;tt3480556&#039;&#039; for imdb, &#039;&#039;286668&#039;&#039; for tmdb, &#039;&#039;home001&#039;&#039; for home movies, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one uniqueID can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional uniqueID&#039;s must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommit the default attribute&amp;lt;br&amp;gt;&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Genre&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt; || No || Yes || Tags. See: &#039;&#039;[[Video library tags]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Release date of TV Show. Comes from Aired Date of the first episode.&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Release Year.&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || Continuing or Ended show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/nowiki&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Production studio&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No || Local or online path to TV Show trailer &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
   &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
   &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt;&lt;br /&gt;
|| No || Yes || The &amp;lt;order&amp;gt; tag determines where in the list the actor will appear. 0 = first in the list &lt;br /&gt;
Supports &amp;quot;clear&amp;quot; attribute&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;namedseason number=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/namedseason&amp;gt; || No || Yes || Allows naming of Seasons. eg:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;namedseason number=&amp;quot;1&amp;quot;&amp;gt;Season 1: The Maze&amp;lt;/namedseason&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
|| No || No || Not used for TV Show &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/Episodes&amp;diff=243499</id>
		<title>NFO files/Episodes</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/Episodes&amp;diff=243499"/>
		<updated>2022-12-25T10:18:47Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: More details for deprecated &amp;lt;year&amp;gt; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&#039;&#039;&#039;Episodes must abide by the standard filenaming conventions even when using nfo files. {{kodi}} determines the season and episode numbering &#039;&#039;(S01E01)&#039;&#039; from the episode filename, not from the NFO file.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One nfo file for &#039;&#039;&#039;each&#039;&#039;&#039; episode is required. This file holds information specific to that episode. &lt;br /&gt;
&lt;br /&gt;
Most metadata contained in a {{kodi}} exported NFO file is metadata inherited from the TV Show or are not used which is why the episode NFO template is relatively small.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The episode nfo file is placed alongside each episode video file. The episode nfo filename is the same as the video filename but with the &#039;&#039;.nfo&#039;&#039; extension. See image below for examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;1000px&amp;quot; heights=&amp;quot;562px&amp;quot;&amp;gt;&lt;br /&gt;
File:LocalEpisodeArtwork01.jpg|&#039;&#039;&#039;&#039;&#039;Episode Artwork and nfo files&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Tags =&lt;br /&gt;
The following table lists the available XML tags in the episode nfo file. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Yes&#039;&#039; in the Inherited column indicates a tag that uses data from the parent TV Show. These tags are created in the exported nfo file but are ignored on import so it is not possible to change this data at the episode level.&lt;br /&gt;
&lt;br /&gt;
Three XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Inherited || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episodedetails&amp;gt;&amp;lt;/episodedetails&amp;gt; || {{Yes}} || No/Yes || || The top level parent tag for the nfo file. All other tags must be contained within these two tags&amp;lt;br/&amp;gt;&lt;br /&gt;
Yes - When creating multi-episode nfo files. See next section. &amp;lt;br/&amp;gt;&lt;br /&gt;
No - In all other cases, a single instance is used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || || The title for the episode&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;originaltitle&amp;gt;&amp;lt;/originaltitle&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;showtitle&amp;gt;&amp;lt;/showtitle&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ratings&amp;gt;&lt;br /&gt;
    &amp;lt;rating name=&amp;quot;&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
       &amp;lt;votes&amp;gt;&amp;lt;/votes&amp;gt;&lt;br /&gt;
    &amp;lt;/rating&amp;gt;&lt;br /&gt;
  &amp;lt;/ratings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No || || &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one rating can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional ratings must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommitted&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name=&amp;quot;identifier&amp;quot;&#039;&#039;. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;trakt&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tvmaze&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;metacritic&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallcritics&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallaudience&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || || Personal rating set by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt; || No || No/Yes || ||  Season number is read from filename in all cases&amp;lt;br/&amp;gt;&lt;br /&gt;
Not required for single nfo files&amp;lt;br/&amp;gt;&lt;br /&gt;
Required for multi-episode nfo files to match the metadata to the correct episode. See next section&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt; || No || No/Yes || || Episode number is read from filename in all cases&amp;lt;br/&amp;gt;&lt;br /&gt;
Not required for single nfo files&amp;lt;br/&amp;gt;&lt;br /&gt;
Required for multi-episode nfo files to match the metadata to the correct episode. See next section&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayepisode&amp;gt;&amp;lt;/displayepisode&amp;gt; || No || No || || Used to place Specials episodes in the correct episode order&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayseason&amp;gt;&amp;lt;/displayseason&amp;gt; || No || No || || Used to place Specials episodes in the correct season&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || || A description of the episode&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || || Short slogan of the episode. No skins use this.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || || Minutes only. If ommitted, {{kodi}} will add runtime upon scanning of the video file&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;thumb&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; || No || Yes || || Path to episode artwork. Not needed when using local artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || || Number of times episode has been played.&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || || Date last played&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || || The default ID. &amp;lt;br&amp;gt;&lt;br /&gt;
Do not use. It is a deprecated Kodi generated tag. See next item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt; || {{Yes}} || Yes || || The ID from the scraper site.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;&amp;quot;&#039;&#039; Identifier of the ID. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tvdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::For non-scraped items, use simple values like &#039;&#039;&amp;quot;home&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;doco&amp;quot;&#039;&#039; etc&amp;lt;br&amp;gt;&lt;br /&gt;
::The value can be alpha-numeric eg &#039;&#039;tt3480556&#039;&#039; for imdb, &#039;&#039;286668&#039;&#039; for tmdb, &#039;&#039;home001&#039;&#039; for home movies, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one uniqueID can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional uniqueIDs must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommit the default attribute &amp;lt;br/&amp;gt;&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt; || No || Yes || || Field for writers.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;director&amp;gt;&amp;lt;/director&amp;gt; || No || Yes || || Director&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Yes || Inherited from TV show&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Yes || Inherited from TV show&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/code&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || || Original air date of the episode&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Yes || Production studio. Inherited from TV Show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No ||  ||Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;episodebookmark&amp;gt;&lt;br /&gt;
        &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
    &amp;lt;/episodebookmark&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No ||  || Episode Bookmark in seconds. &#039;&#039;See: [[Bookmarks_and_chapters|Episode Bookmarks]]&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Not used for Import&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;fileinfo&amp;gt;&lt;br /&gt;
    &amp;lt;streamdetails&amp;gt;&lt;br /&gt;
      &amp;lt;video&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;aspect&amp;gt;&amp;lt;/aspect&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;durationinseconds&amp;gt;&amp;lt;/durationinseconds&amp;gt;&lt;br /&gt;
        &amp;lt;stereomode&amp;gt;&amp;lt;/stereomode&amp;gt;&lt;br /&gt;
      &amp;lt;/video&amp;gt;&lt;br /&gt;
      &amp;lt;audio&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
        &amp;lt;channels&amp;gt;&amp;lt;/channels&amp;gt;&lt;br /&gt;
      &amp;lt;/audio&amp;gt;&lt;br /&gt;
      &amp;lt;subtitle&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
      &amp;lt;/subtitle&amp;gt;&lt;br /&gt;
    &amp;lt;/streamdetails&amp;gt;&lt;br /&gt;
 &amp;lt;/fileinfo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || Yes || || Multiple entries of &amp;lt;audio&amp;gt; and &amp;lt;subtitles&amp;gt; accepted&amp;lt;br&amp;gt;&lt;br /&gt;
In v17 and prior, {{kodi}} would overwrite these values on first play of the file.&amp;lt;br&amp;gt;&lt;br /&gt;
In v18 that process was removed and values in these tags will remain.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16342&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If ommitted, {{kodi}} will add runtime upon scanning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
   &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
   &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || Yes ||  || The &amp;lt;order&amp;gt; tag determines where in the list the actor will appear. 0 = first in the list &lt;br /&gt;
Supports &amp;quot;clear&amp;quot; attribute&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No || || Set the resume position&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]] &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Multi-Episode Files =&lt;br /&gt;
There may be instances where a video file contains two or more episodes. This is common for ISO files. &lt;br /&gt;
&lt;br /&gt;
Multi-episode video files still use a single nfo file. The metadata for each episode is stacked in the single nfo file. Below is an example of an abbreviated multi-episode nfo file containing 3 episodes.&lt;br /&gt;
&lt;br /&gt;
One difference between the single and multi nfo file is that the &#039;&#039;&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt;&#039;&#039; and &#039;&#039;&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt;&#039;&#039; tags are required for each episode in the multi nfo file. {{kodi}} still requires the filename to contain the season and episode numbering, but it also requires these additional tags so it can match the metadata to the correct episode. The metadata for each episode must be in correct numerical order.&lt;br /&gt;
&lt;br /&gt;
For correct naming of the video file, nfo file and artwork thumb, see: &#039;&#039;&#039;[[Naming_video_files/Episodes#Multi-Episode_Files|Naming Multi-Episode Files]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:50%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;Example Multi-Episode NFO File&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for first episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 1&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;1&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; &lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for second episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 2&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;2&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt;&lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for third episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 3&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;3&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt;&lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/Episodes&amp;diff=243498</id>
		<title>NFO files/Episodes</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/Episodes&amp;diff=243498"/>
		<updated>2022-12-25T10:16:24Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Improved date format info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&#039;&#039;&#039;Episodes must abide by the standard filenaming conventions even when using nfo files. {{kodi}} determines the season and episode numbering &#039;&#039;(S01E01)&#039;&#039; from the episode filename, not from the NFO file.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One nfo file for &#039;&#039;&#039;each&#039;&#039;&#039; episode is required. This file holds information specific to that episode. &lt;br /&gt;
&lt;br /&gt;
Most metadata contained in a {{kodi}} exported NFO file is metadata inherited from the TV Show or are not used which is why the episode NFO template is relatively small.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The episode nfo file is placed alongside each episode video file. The episode nfo filename is the same as the video filename but with the &#039;&#039;.nfo&#039;&#039; extension. See image below for examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;1000px&amp;quot; heights=&amp;quot;562px&amp;quot;&amp;gt;&lt;br /&gt;
File:LocalEpisodeArtwork01.jpg|&#039;&#039;&#039;&#039;&#039;Episode Artwork and nfo files&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Tags =&lt;br /&gt;
The following table lists the available XML tags in the episode nfo file. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Yes&#039;&#039; in the Inherited column indicates a tag that uses data from the parent TV Show. These tags are created in the exported nfo file but are ignored on import so it is not possible to change this data at the episode level.&lt;br /&gt;
&lt;br /&gt;
Three XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Inherited || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episodedetails&amp;gt;&amp;lt;/episodedetails&amp;gt; || {{Yes}} || No/Yes || || The top level parent tag for the nfo file. All other tags must be contained within these two tags&amp;lt;br/&amp;gt;&lt;br /&gt;
Yes - When creating multi-episode nfo files. See next section. &amp;lt;br/&amp;gt;&lt;br /&gt;
No - In all other cases, a single instance is used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || || The title for the episode&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;originaltitle&amp;gt;&amp;lt;/originaltitle&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;showtitle&amp;gt;&amp;lt;/showtitle&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ratings&amp;gt;&lt;br /&gt;
    &amp;lt;rating name=&amp;quot;&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
       &amp;lt;votes&amp;gt;&amp;lt;/votes&amp;gt;&lt;br /&gt;
    &amp;lt;/rating&amp;gt;&lt;br /&gt;
  &amp;lt;/ratings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No || || &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one rating can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional ratings must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommitted&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name=&amp;quot;identifier&amp;quot;&#039;&#039;. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;trakt&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tvmaze&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;metacritic&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallcritics&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallaudience&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || || Personal rating set by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt; || No || No/Yes || ||  Season number is read from filename in all cases&amp;lt;br/&amp;gt;&lt;br /&gt;
Not required for single nfo files&amp;lt;br/&amp;gt;&lt;br /&gt;
Required for multi-episode nfo files to match the metadata to the correct episode. See next section&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt; || No || No/Yes || || Episode number is read from filename in all cases&amp;lt;br/&amp;gt;&lt;br /&gt;
Not required for single nfo files&amp;lt;br/&amp;gt;&lt;br /&gt;
Required for multi-episode nfo files to match the metadata to the correct episode. See next section&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayepisode&amp;gt;&amp;lt;/displayepisode&amp;gt; || No || No || || Used to place Specials episodes in the correct episode order&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayseason&amp;gt;&amp;lt;/displayseason&amp;gt; || No || No || || Used to place Specials episodes in the correct season&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || || A description of the episode&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || || Short slogan of the episode. No skins use this.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || || Minutes only. If ommitted, {{kodi}} will add runtime upon scanning of the video file&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;thumb&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; || No || Yes || || Path to episode artwork. Not needed when using local artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || || Number of times episode has been played.&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || || Date last played&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || || The default ID. &amp;lt;br&amp;gt;&lt;br /&gt;
Do not use. It is a deprecated Kodi generated tag. See next item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt; || {{Yes}} || Yes || || The ID from the scraper site.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;&amp;quot;&#039;&#039; Identifier of the ID. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tvdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::For non-scraped items, use simple values like &#039;&#039;&amp;quot;home&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;doco&amp;quot;&#039;&#039; etc&amp;lt;br&amp;gt;&lt;br /&gt;
::The value can be alpha-numeric eg &#039;&#039;tt3480556&#039;&#039; for imdb, &#039;&#039;286668&#039;&#039; for tmdb, &#039;&#039;home001&#039;&#039; for home movies, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one uniqueID can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional uniqueIDs must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommit the default attribute &amp;lt;br/&amp;gt;&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt; || No || Yes || || Field for writers.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;director&amp;gt;&amp;lt;/director&amp;gt; || No || Yes || || Director&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Yes || Inherited from TV show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/code&amp;gt; || No || No || || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || || Original air date of the episode&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Yes || Production studio. Inherited from TV Show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No ||  ||Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;episodebookmark&amp;gt;&lt;br /&gt;
        &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
    &amp;lt;/episodebookmark&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No ||  || Episode Bookmark in seconds. &#039;&#039;See: [[Bookmarks_and_chapters|Episode Bookmarks]]&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Not used for Import&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;fileinfo&amp;gt;&lt;br /&gt;
    &amp;lt;streamdetails&amp;gt;&lt;br /&gt;
      &amp;lt;video&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;aspect&amp;gt;&amp;lt;/aspect&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;durationinseconds&amp;gt;&amp;lt;/durationinseconds&amp;gt;&lt;br /&gt;
        &amp;lt;stereomode&amp;gt;&amp;lt;/stereomode&amp;gt;&lt;br /&gt;
      &amp;lt;/video&amp;gt;&lt;br /&gt;
      &amp;lt;audio&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
        &amp;lt;channels&amp;gt;&amp;lt;/channels&amp;gt;&lt;br /&gt;
      &amp;lt;/audio&amp;gt;&lt;br /&gt;
      &amp;lt;subtitle&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
      &amp;lt;/subtitle&amp;gt;&lt;br /&gt;
    &amp;lt;/streamdetails&amp;gt;&lt;br /&gt;
 &amp;lt;/fileinfo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || Yes || || Multiple entries of &amp;lt;audio&amp;gt; and &amp;lt;subtitles&amp;gt; accepted&amp;lt;br&amp;gt;&lt;br /&gt;
In v17 and prior, {{kodi}} would overwrite these values on first play of the file.&amp;lt;br&amp;gt;&lt;br /&gt;
In v18 that process was removed and values in these tags will remain.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16342&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If ommitted, {{kodi}} will add runtime upon scanning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
   &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
   &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || Yes ||  || The &amp;lt;order&amp;gt; tag determines where in the list the actor will appear. 0 = first in the list &lt;br /&gt;
Supports &amp;quot;clear&amp;quot; attribute&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| No || No || || Set the resume position&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]] &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Multi-Episode Files =&lt;br /&gt;
There may be instances where a video file contains two or more episodes. This is common for ISO files. &lt;br /&gt;
&lt;br /&gt;
Multi-episode video files still use a single nfo file. The metadata for each episode is stacked in the single nfo file. Below is an example of an abbreviated multi-episode nfo file containing 3 episodes.&lt;br /&gt;
&lt;br /&gt;
One difference between the single and multi nfo file is that the &#039;&#039;&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt;&#039;&#039; and &#039;&#039;&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt;&#039;&#039; tags are required for each episode in the multi nfo file. {{kodi}} still requires the filename to contain the season and episode numbering, but it also requires these additional tags so it can match the metadata to the correct episode. The metadata for each episode must be in correct numerical order.&lt;br /&gt;
&lt;br /&gt;
For correct naming of the video file, nfo file and artwork thumb, see: &#039;&#039;&#039;[[Naming_video_files/Episodes#Multi-Episode_Files|Naming Multi-Episode Files]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:50%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;Example Multi-Episode NFO File&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for first episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 1&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;1&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; &lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for second episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 2&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;2&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt;&lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&amp;lt;episodedetails&amp;gt;                                    &amp;lt;!-- metadata for third episode--&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Episode 3&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt;&lt;br /&gt;
    &amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt;&lt;br /&gt;
    &amp;lt;season&amp;gt;1&amp;lt;/season&amp;gt;&lt;br /&gt;
    &amp;lt;episode&amp;gt;3&amp;lt;/episode&amp;gt;&lt;br /&gt;
    &amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt;&lt;br /&gt;
    &amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt;&lt;br /&gt;
    &amp;lt;director&amp;gt;&amp;lt;/director&amp;gt;&lt;br /&gt;
    &amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt;&lt;br /&gt;
    &amp;lt;actor&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
        &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
        &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
    &amp;lt;/actor&amp;gt;&lt;br /&gt;
&amp;lt;/episodedetails&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/TV_shows&amp;diff=243497</id>
		<title>NFO files/TV shows</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/TV_shows&amp;diff=243497"/>
		<updated>2022-12-25T10:13:25Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Improved date format info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
NFO files for TV Shows are a little bit more complex as they require the following NFO files:&lt;br /&gt;
* One nfo file for the TV Show. This file holds the overall TV show information&lt;br /&gt;
* One nfo file for &#039;&#039;&#039;each&#039;&#039;&#039; Episode. This file holds information specific to that episode&lt;br /&gt;
For one TV Show with 10 episodes, 11 nfo files are required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= episodeguide URL =&lt;br /&gt;
The &amp;lt;episodeguide&amp;gt; is the tag that allows the scrapers to find the episodes belonging to the TV Show at the site of the information provider.&lt;br /&gt;
&lt;br /&gt;
Due to an issue where the UniqueID for TV shows and movies across TV Maze, TMDB and TheTVDB are &#039;&#039;&#039;not&#039;&#039;&#039; unique, the episode guide was converted to a JSON format which clearly identified which site the UniqueID belongs to.&lt;br /&gt;
&lt;br /&gt;
These changes have been incorporated into v19 and later releases of {{kodi}}. [https://forum.kodi.tv/showthread.php?tid=370489 Read more here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The tvshow.nfo file is placed inside the TV Show folder. The NFO filename is actually &#039;&#039;&#039;tvshow.nfo&#039;&#039;&#039;. Do not rename it with the title of the tv show. See image for example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;1000px&amp;quot; heights=&amp;quot;562px&amp;quot;&amp;gt;&lt;br /&gt;
File:LocalTVShowArtwork01.jpg|&#039;&#039;&#039;&#039;&#039;Location of tvshow.nfo along with artwork&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Tags =&lt;br /&gt;
The following table lists available XML tags for TV Shows. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Two XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tvshow&amp;gt;&amp;lt;/tvshow&amp;gt; || {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || The title of the TV Show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;originaltitle&amp;gt;&amp;lt;/originaltitle&amp;gt; || No || No || The original title, usually in the language of the country of origin.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;showtitle&amp;gt;&amp;lt;/showtitle&amp;gt; || No || No || Not in common use, but some skins may display an alternate title&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sorttitle&amp;gt;&amp;lt;/sorttitle&amp;gt; || No || No || Allows alternate title sort without modifying the TV Show title. Not displayed in any library listing.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
  &amp;lt;ratings&amp;gt;&lt;br /&gt;
    &amp;lt;rating name=&amp;quot;&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
       &amp;lt;votes&amp;gt;&amp;lt;/votes&amp;gt;&lt;br /&gt;
    &amp;lt;/rating&amp;gt;&lt;br /&gt;
  &amp;lt;/ratings&amp;gt;&lt;br /&gt;
|| No || No || &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one rating can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional ratings must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommitted&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name=&amp;quot;identifier&amp;quot;&#039;&#039;. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;trakt&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tvmaze&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;metacritic&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallcritics&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallaudience&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || Personal rating set by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || Ranking in IMDB Top 250&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt; || No || No ||Number of seasons of this TV Show in the library&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt; || No || No || Number of episodes of this TV Show in the library&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayepisode&amp;gt;&amp;lt;/displayepisode&amp;gt; || No || No || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayseason&amp;gt;&amp;lt;/displayseason&amp;gt; || No || No || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || Can contain more information on multiple lines, will be wrapped&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || Short TV Show slogan&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
&amp;lt;thumb aspect=&amp;quot;poster&amp;quot; type=&amp;quot;season&amp;quot; season=&amp;quot;&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; &lt;br /&gt;
|| No || Yes || Path to available TV Show Posters. Not used for locally saved artwork&amp;lt;br&amp;gt;&lt;br /&gt;
Example use of &#039;&#039;aspect=&amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;banner&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearlogo&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;landscape&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;poster&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;season&amp;quot;&#039;&#039; used for season specific artwork&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;season=&amp;quot;2&amp;quot;&#039;&#039; nominates season number eg. season 2&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;fanart&amp;gt;&lt;br /&gt;
     &amp;lt;thumb preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/fanart&amp;gt;&lt;br /&gt;
|| No || Yes^ || Path to available TV Show fanart.&amp;lt;br&amp;gt;&lt;br /&gt;
:^ Multiple &amp;lt;thumb&amp;gt; entries allowed between the &amp;lt;fanart&amp;gt;&amp;lt;/fanart&amp;gt; tags&amp;lt;br&amp;gt;&lt;br /&gt;
Not used for locally saved artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country local rating system&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || Number of times TV show has been played. Will only ever show 0 or 1. Episodes track playcounts&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || Date TV Show was last played&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;episodeguide&amp;gt;&lt;br /&gt;
   {&amp;quot;tmdb&amp;quot;: &amp;quot;76479&amp;quot;, &amp;quot;imdb&amp;quot;: &amp;quot;tt1190634&amp;quot;, &amp;quot;tvdb&amp;quot;: &amp;quot;355567&amp;quot;}&lt;br /&gt;
 &amp;lt;/episodeguide&amp;gt;&lt;br /&gt;
|| Yes/No || No || Read section &#039;&#039;1.1 episodeguide URL&#039;&#039; above.&amp;lt;br&amp;gt;&lt;br /&gt;
For v19 and later, a JSON format is used. &#039;&#039;[https://forum.kodi.tv/showthread.php?tid=370489 Read more here]&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
TVDB scraper uses TheTVDB v4 API&amp;lt;br&amp;gt;&lt;br /&gt;
Other providers: &#039;&#039;&amp;quot;tvmaze&amp;quot;:&#039;&#039; and &#039;&#039;&amp;quot;tvrage&amp;quot;:&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || The default ID. &amp;lt;br&amp;gt;&lt;br /&gt;
Do not use as this is a Kodi generated tag. See next item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt; || {{Yes}} || Yes ||The ID from the scraper site.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;&amp;quot;&#039;&#039; Identifier of the ID. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tvdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::For non-scraped items, use simple values like &#039;&#039;&amp;quot;home&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;doco&amp;quot;&#039;&#039; etc&amp;lt;br&amp;gt;&lt;br /&gt;
::The value can be alpha-numeric eg &#039;&#039;tt3480556&#039;&#039; for imdb, &#039;&#039;286668&#039;&#039; for tmdb, &#039;&#039;home001&#039;&#039; for home movies, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one uniqueID can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional uniqueID&#039;s must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommit the default attribute&amp;lt;br&amp;gt;&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Genre&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt; || No || Yes || Tags. See: &#039;&#039;[[Video library tags]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Release date of TV Show. Comes from Aired Date of the first episode.&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Release Year.&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || Continuing or Ended show&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/code&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Production studio&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No || Local or online path to TV Show trailer &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
   &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
   &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt;&lt;br /&gt;
|| No || Yes || The &amp;lt;order&amp;gt; tag determines where in the list the actor will appear. 0 = first in the list &lt;br /&gt;
Supports &amp;quot;clear&amp;quot; attribute&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;namedseason number=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/namedseason&amp;gt; || No || Yes || Allows naming of Seasons. eg:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;namedseason number=&amp;quot;1&amp;quot;&amp;gt;Season 1: The Maze&amp;lt;/namedseason&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
|| No || No || Not used for TV Show &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/Music_videos&amp;diff=243496</id>
		<title>NFO files/Music videos</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/Music_videos&amp;diff=243496"/>
		<updated>2022-12-25T10:12:33Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Improved date format info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
The Music Video library uses the Video Library database. Music Video entries displayed in {{kodi}} can also access information from the Music Library if the same artist and album that contains the music video song is also in the Music Library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Music Videos require one nfo for &#039;&#039;&#039;each&#039;&#039;&#039; music video in the folder. These nfo files need to be named exactly as the Music Video file is named, but with the nfo extension.&lt;br /&gt;
&lt;br /&gt;
The below image shows an example of correct naming and placement of the artwork alongside the &#039;&#039;&#039;&#039;&#039;[[NFO_files|nfo]]&#039;&#039;&#039;&#039;&#039; file and the Music Video media file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;500px&amp;quot; heights=&amp;quot;290px&amp;quot;&amp;gt;&lt;br /&gt;
File:Artwork-MusicVideoExample01.jpg|Correct naming and placement of media, nfo and artwork files.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=  Music Video Tags =&lt;br /&gt;
A list of all available tags that Kodi recognises follows in this section. &lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;musicvideo&amp;gt;&amp;lt;/musicvideo&amp;gt; || {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || Name of music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || Personal rating applied by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;track&amp;gt;&amp;lt;/track&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;album&amp;gt;&amp;lt;/album&amp;gt; || No || No || Name of album the song appears on&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || Review / information of music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || Minutes only. If ommitted, {{kodi}} will add runtime upon scanning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;thumb&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; || No || Yes || Path to TV Show and Season artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || Setting this to 1 or greater will mark the Music Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || Date last played&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Genre&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt; || No || Yes || Video tags. See: &#039;&#039;&#039;[[Video library tags]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;director&amp;gt;&amp;lt;/director&amp;gt; || No || Yes || Director of the music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Release date.&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Release Year.&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/code&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Production studio&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
    &amp;lt;fileinfo&amp;gt;&lt;br /&gt;
        &amp;lt;streamdetails&amp;gt;&lt;br /&gt;
            &amp;lt;video&amp;gt;&lt;br /&gt;
                &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
                &amp;lt;aspect&amp;gt;&amp;lt;/aspect&amp;gt;&lt;br /&gt;
                &amp;lt;width&amp;gt;&amp;lt;/width&amp;gt;&lt;br /&gt;
                &amp;lt;height&amp;gt;&amp;lt;/height&amp;gt;&lt;br /&gt;
                &amp;lt;durationinseconds&amp;gt;&amp;lt;/durationinseconds&amp;gt;&lt;br /&gt;
                &amp;lt;stereomode&amp;gt;&amp;lt;/stereomode&amp;gt;&lt;br /&gt;
            &amp;lt;/video&amp;gt;&lt;br /&gt;
            &amp;lt;audio&amp;gt;&lt;br /&gt;
                &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
                &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
                &amp;lt;channels&amp;gt;&amp;lt;/channels&amp;gt;&lt;br /&gt;
            &amp;lt;/audio&amp;gt;&lt;br /&gt;
        &amp;lt;/streamdetails&amp;gt;&lt;br /&gt;
    &amp;lt;/fileinfo&amp;gt;&lt;br /&gt;
|| No || No || While it is possible to manually set the information contained within the &amp;lt;streamdetails&amp;gt; tag, there is little point in doing so. &lt;br /&gt;
Kodi will always overwrite this data when it plays back the video file.&amp;lt;br /&amp;gt; &lt;br /&gt;
In other words, no matter how many times you try to manually set it, it will be overwritten the moment the video is played&lt;br /&gt;
|-&lt;br /&gt;
|   &lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Taylor Swift&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
    &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&lt;br /&gt;
    &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt; &lt;br /&gt;
|| No || Yes || The artist of the song&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;artist&amp;gt;&amp;lt;/artist&amp;gt; || {{yes}} || Yes || The artists/actors in the music video&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
|| No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Music library]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/Music_videos&amp;diff=243495</id>
		<title>NFO files/Music videos</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/Music_videos&amp;diff=243495"/>
		<updated>2022-12-25T10:11:03Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Added &amp;lt;premiered&amp;gt; and more details for deprecated &amp;lt;year&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
The Music Video library uses the Video Library database. Music Video entries displayed in {{kodi}} can also access information from the Music Library if the same artist and album that contains the music video song is also in the Music Library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Music Videos require one nfo for &#039;&#039;&#039;each&#039;&#039;&#039; music video in the folder. These nfo files need to be named exactly as the Music Video file is named, but with the nfo extension.&lt;br /&gt;
&lt;br /&gt;
The below image shows an example of correct naming and placement of the artwork alongside the &#039;&#039;&#039;&#039;&#039;[[NFO_files|nfo]]&#039;&#039;&#039;&#039;&#039; file and the Music Video media file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;500px&amp;quot; heights=&amp;quot;290px&amp;quot;&amp;gt;&lt;br /&gt;
File:Artwork-MusicVideoExample01.jpg|Correct naming and placement of media, nfo and artwork files.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=  Music Video Tags =&lt;br /&gt;
A list of all available tags that Kodi recognises follows in this section. &lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;musicvideo&amp;gt;&amp;lt;/musicvideo&amp;gt; || {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || Name of music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || Personal rating applied by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;track&amp;gt;&amp;lt;/track&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;album&amp;gt;&amp;lt;/album&amp;gt; || No || No || Name of album the song appears on&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || Review / information of music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || Minutes only. If ommitted, {{kodi}} will add runtime upon scanning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;thumb&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; || No || Yes || Path to TV Show and Season artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || Setting this to 1 or greater will mark the Music Video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || Date last played as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Genre&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt; || No || Yes || Video tags. See: &#039;&#039;&#039;[[Video library tags]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;director&amp;gt;&amp;lt;/director&amp;gt; || No || Yes || Director of the music video&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Release date.&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;2019-01-31&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Release Year.&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/code&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Production studio&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
    &amp;lt;fileinfo&amp;gt;&lt;br /&gt;
        &amp;lt;streamdetails&amp;gt;&lt;br /&gt;
            &amp;lt;video&amp;gt;&lt;br /&gt;
                &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
                &amp;lt;aspect&amp;gt;&amp;lt;/aspect&amp;gt;&lt;br /&gt;
                &amp;lt;width&amp;gt;&amp;lt;/width&amp;gt;&lt;br /&gt;
                &amp;lt;height&amp;gt;&amp;lt;/height&amp;gt;&lt;br /&gt;
                &amp;lt;durationinseconds&amp;gt;&amp;lt;/durationinseconds&amp;gt;&lt;br /&gt;
                &amp;lt;stereomode&amp;gt;&amp;lt;/stereomode&amp;gt;&lt;br /&gt;
            &amp;lt;/video&amp;gt;&lt;br /&gt;
            &amp;lt;audio&amp;gt;&lt;br /&gt;
                &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
                &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
                &amp;lt;channels&amp;gt;&amp;lt;/channels&amp;gt;&lt;br /&gt;
            &amp;lt;/audio&amp;gt;&lt;br /&gt;
        &amp;lt;/streamdetails&amp;gt;&lt;br /&gt;
    &amp;lt;/fileinfo&amp;gt;&lt;br /&gt;
|| No || No || While it is possible to manually set the information contained within the &amp;lt;streamdetails&amp;gt; tag, there is little point in doing so. &lt;br /&gt;
Kodi will always overwrite this data when it plays back the video file.&amp;lt;br /&amp;gt; &lt;br /&gt;
In other words, no matter how many times you try to manually set it, it will be overwritten the moment the video is played&lt;br /&gt;
|-&lt;br /&gt;
|   &lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Taylor Swift&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
    &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&lt;br /&gt;
    &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt; &lt;br /&gt;
|| No || Yes || The artist of the song&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;artist&amp;gt;&amp;lt;/artist&amp;gt; || {{yes}} || Yes || The artists/actors in the music video&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
|| No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Music library]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/Movies&amp;diff=243494</id>
		<title>NFO files/Movies</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/Movies&amp;diff=243494"/>
		<updated>2022-12-25T09:47:51Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: More details for deprecated &amp;lt;year&amp;gt; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
NFO files to be scraped into the movie library are relatively simple and require only a single nfo file per title.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are two naming schemes for movie nfo files. Both are explained and {{kodi}} recommends using the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MovieNFONaming&amp;quot; /&amp;gt;;&amp;lt;VideoFileName&amp;gt;.nfo&lt;br /&gt;
:*NFO Files are named the same as the video file except with the &#039;&#039;.nfo&#039;&#039; extension.&lt;br /&gt;
:*We recommend using this filename format to name nfo files.&lt;br /&gt;
&lt;br /&gt;
;movie.nfo&lt;br /&gt;
:{{Kodi}} may also scan nfo files named &#039;&#039;&#039;&#039;&#039;movie.nfo&#039;&#039;&#039;&#039;&#039;. To use this name, the setting &#039;&#039;&#039;Movies are in separate folders that match the movie title&#039;&#039;&#039; must be &#039;&#039;&#039;Enabled&#039;&#039;&#039; in the &#039;&#039;&#039;[[Adding_video_sources#Set_Content|Set Content Screen]]&#039;&#039;&#039;&lt;br /&gt;
:*If the above setting is not enabled, {{kodi}} will ignore the &#039;&#039;movie.nfo&#039;&#039;. If the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; file is available, {{kodi}} will scan this one instead, otherwise an online scrape will be performed if a valid scraper is set for the Source.&lt;br /&gt;
:*If you use &#039;&#039;movie.nfo&#039;&#039; and later Export your library to Separate Files, {{kodi}} will still create the nfo file in the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; format and two nfo files will exist. If a Refresh or rescan is run in future, and the above setting is still enabled, the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; file will be ignored in favour of &#039;&#039;movie.nfo&#039;&#039;, which means any changes you may have made to the library entry (play counts, watched status etc) will not be re-scanned back into the library.&lt;br /&gt;
:*We recommend using the &#039;&#039;&amp;lt;VideoFileName&amp;gt;.nfo&#039;&#039; format for nfo files to avoid the above traps.&amp;lt;section end=&amp;quot;MovieNFONaming&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The below image details naming and location for Single File, DVD and Bluray movies:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;1000px&amp;quot; heights=&amp;quot;562px&amp;quot;&amp;gt;&lt;br /&gt;
File:LocalMovieArtwork01.jpg|&#039;&#039;&#039;&#039;&#039;Example of correct use of Movie Folder with artwork, nfo file, trailer and theme.&amp;lt;br&amp;gt; Take note of file naming and location.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Tags =&lt;br /&gt;
The following table lists available XML tags. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Required&amp;quot; column indicates whether a tag can be optionally added or ommitted when creating the nfo to suit your purpose. The less tags used, the less information added to the library.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! width=430px | NFO (xml) Tag || Required || Multiple || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;movie&amp;gt;&amp;lt;/movie&amp;gt; ||  {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || The title for the movie&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;originaltitle&amp;gt;&amp;lt;/originaltitle&amp;gt; || No || No || Displays the original title of the movie. &amp;lt;br&amp;gt;&lt;br /&gt;
For example, if the scraper is set to german language and the scraped movie in german is &amp;quot;Der mit dem Wolf tanzt&amp;quot; the original title will be &amp;quot;Dances with Wolves&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sorttitle&amp;gt;&amp;lt;/sorttitle&amp;gt; || No || No || Allows alternate title sort without modifying movie title. Not displayed in any library listing. See: &#039;&#039;[[Movie_sets#Sort_Title|Sort Title]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
  &amp;lt;ratings&amp;gt;&lt;br /&gt;
    &amp;lt;rating name=&amp;quot;&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
       &amp;lt;votes&amp;gt;&amp;lt;/votes&amp;gt;&lt;br /&gt;
    &amp;lt;/rating&amp;gt;&lt;br /&gt;
  &amp;lt;/ratings&amp;gt;&lt;br /&gt;
|| No || No || &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one rating can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional ratings must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or omit the default attribute&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name=&amp;quot;identifier&amp;quot;&#039;&#039;. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;trakt&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;metacritic&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallcritics&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallaudience&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || Personal rating set by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || Ranking in IMDB Top 250 movies&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; ||  ||  || Should be short, will be displayed on a single line (scraped from IMDB only)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; ||  ||  || Can contain more information on multiple lines, will be wrapped&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || Short movie slogan. &amp;quot;The true story of a real fake&amp;quot; is the tagline for &amp;quot;Catch me if you can&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || Minutes only. If ommitted, {{kodi}} will add runtime upon scanning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; || No || Yes || Path to available Movie Posters. Not needed when using local artwork&amp;lt;br&amp;gt;&lt;br /&gt;
Example use of &#039;&#039;aspect=&amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;banner&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearlogo&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;discart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;keyart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;landscape&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;poster&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;fanart&amp;gt;&lt;br /&gt;
     &amp;lt;thumb preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/fanart&amp;gt;&lt;br /&gt;
|| No || Yes^ || Path to available movie fanart.&amp;lt;br&amp;gt;&lt;br /&gt;
:^ Multiple &amp;lt;thumb&amp;gt; entries allowed between the &amp;lt;fanart&amp;gt;&amp;lt;/fanart&amp;gt; tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country certification flags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || Number of times movie has been played.&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || Date last played as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || The default ID. &amp;lt;br&amp;gt;&lt;br /&gt;
Do not use. This is a Kodi generated tag. See next item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt; || {{Yes}} || Yes ||The ID from the scraper site.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;&amp;quot;&#039;&#039; Identifier of the ID. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tvdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::For non-scraped items, use simple values like &#039;&#039;&amp;quot;home&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;doco&amp;quot;&#039;&#039; etc&amp;lt;br&amp;gt;&lt;br /&gt;
::The value can be alpha-numeric eg &#039;&#039;tt3480556&#039;&#039; for imdb, &#039;&#039;286668&#039;&#039; for tmdb, &#039;&#039;home001&#039;&#039; for home movies, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one uniqueID can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional uniqueID&#039;s must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommit the default attribute&amp;lt;br&amp;gt;&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Movie genre. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt; || No || Yes || Library Tags. See...&#039;&#039;&#039;[[Video library tags]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;set&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;overview&amp;gt;&amp;lt;/overview&amp;gt;&lt;br /&gt;
 &amp;lt;/set&amp;gt;&lt;br /&gt;
|| No || No || Movie set tags &amp;lt;br /&amp;gt;&lt;br /&gt;
The &amp;lt;overview&amp;gt; tag allows a short summary of the movie set. It can be displayed by some skins.&lt;br /&gt;
&amp;lt;br /&amp;gt;See... &#039;&#039;&#039;[[Movie sets]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;country&amp;gt;&amp;lt;/country&amp;gt; || No || Yes || Country of origin &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;credits&amp;gt;&amp;lt;/credits&amp;gt; || No || Yes || Field for writers.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;director&amp;gt;&amp;lt;/director&amp;gt; || No || Yes || Movie Director&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Release date of movie. Format as &#039;&#039;yyyy-mm-dd&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Release Year.&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/code&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Production studio&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No || Local or online path to movie trailer&amp;lt;br&amp;gt; Do not add local path to trailer. {{kodi}} will automatically scan for local trailers.&amp;lt;br&amp;gt; See... &#039;&#039;&#039;[[Trailers]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;fileinfo&amp;gt;&lt;br /&gt;
    &amp;lt;streamdetails&amp;gt;&lt;br /&gt;
      &amp;lt;video&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;aspect&amp;gt;&amp;lt;/aspect&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;durationinseconds&amp;gt;&amp;lt;/durationinseconds&amp;gt;&lt;br /&gt;
        &amp;lt;stereomode&amp;gt;&amp;lt;/stereomode&amp;gt;&lt;br /&gt;
      &amp;lt;/video&amp;gt;&lt;br /&gt;
      &amp;lt;audio&amp;gt;&lt;br /&gt;
        &amp;lt;codec&amp;gt;&amp;lt;/codec&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
        &amp;lt;channels&amp;gt;&amp;lt;/channels&amp;gt;&lt;br /&gt;
      &amp;lt;/audio&amp;gt;&lt;br /&gt;
      &amp;lt;subtitle&amp;gt;&lt;br /&gt;
        &amp;lt;language&amp;gt;&amp;lt;/language&amp;gt;&lt;br /&gt;
      &amp;lt;/subtitle&amp;gt;&lt;br /&gt;
    &amp;lt;/streamdetails&amp;gt;&lt;br /&gt;
 &amp;lt;/fileinfo&amp;gt;&lt;br /&gt;
|| No || Yes || Multiple entries of &amp;lt;audio&amp;gt; and &amp;lt;subtitles&amp;gt; accepted&amp;lt;br&amp;gt;&lt;br /&gt;
In v17 and prior, {{kodi}} would overwrite these values on first play of the file.&amp;lt;br&amp;gt;&lt;br /&gt;
In v18 that process was removed and values in these tags will remain.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16342&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
   &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
   &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt;&lt;br /&gt;
|| No || Yes || The &amp;lt;order&amp;gt; tag determines where in the list the actor will appear. 0 = first in the list &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;showlink&amp;gt;&amp;lt;/showlink&amp;gt; || No || No || Connect movie to TV Show. Use the TV Show &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; name.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
|| No || No || Movie resume point in Seconds&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=NFO_files/TV_shows&amp;diff=243493</id>
		<title>NFO files/TV shows</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=NFO_files/TV_shows&amp;diff=243493"/>
		<updated>2022-12-25T09:46:24Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: More details for deprecated &amp;lt;year&amp;gt; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NFO_content}}&lt;br /&gt;
{{mininav|[[NFO files]]}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
NFO files for TV Shows are a little bit more complex as they require the following NFO files:&lt;br /&gt;
* One nfo file for the TV Show. This file holds the overall TV show information&lt;br /&gt;
* One nfo file for &#039;&#039;&#039;each&#039;&#039;&#039; Episode. This file holds information specific to that episode&lt;br /&gt;
For one TV Show with 10 episodes, 11 nfo files are required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= episodeguide URL =&lt;br /&gt;
The &amp;lt;episodeguide&amp;gt; is the tag that allows the scrapers to find the episodes belonging to the TV Show at the site of the information provider.&lt;br /&gt;
&lt;br /&gt;
Due to an issue where the UniqueID for TV shows and movies across TV Maze, TMDB and TheTVDB are &#039;&#039;&#039;not&#039;&#039;&#039; unique, the episode guide was converted to a JSON format which clearly identified which site the UniqueID belongs to.&lt;br /&gt;
&lt;br /&gt;
These changes have been incorporated into v19 and later releases of {{kodi}}. [https://forum.kodi.tv/showthread.php?tid=370489 Read more here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Name and Location =&lt;br /&gt;
&#039;&#039;&#039;{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The tvshow.nfo file is placed inside the TV Show folder. The NFO filename is actually &#039;&#039;&#039;tvshow.nfo&#039;&#039;&#039;. Do not rename it with the title of the tv show. See image for example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;1000px&amp;quot; heights=&amp;quot;562px&amp;quot;&amp;gt;&lt;br /&gt;
File:LocalTVShowArtwork01.jpg|&#039;&#039;&#039;&#039;&#039;Location of tvshow.nfo along with artwork&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= nfo Tags =&lt;br /&gt;
The following table lists available XML tags for TV Shows. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Two XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! NFO (xml) Tag || Required || Multiple || Notes&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tvshow&amp;gt;&amp;lt;/tvshow&amp;gt; || {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; || {{Yes}} || No || The title of the TV Show&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;originaltitle&amp;gt;&amp;lt;/originaltitle&amp;gt; || No || No || The original title, usually in the language of the country of origin.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;showtitle&amp;gt;&amp;lt;/showtitle&amp;gt; || No || No || Not in common use, but some skins may display an alternate title&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sorttitle&amp;gt;&amp;lt;/sorttitle&amp;gt; || No || No || Allows alternate title sort without modifying the TV Show title. Not displayed in any library listing.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
  &amp;lt;ratings&amp;gt;&lt;br /&gt;
    &amp;lt;rating name=&amp;quot;&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
       &amp;lt;votes&amp;gt;&amp;lt;/votes&amp;gt;&lt;br /&gt;
    &amp;lt;/rating&amp;gt;&lt;br /&gt;
  &amp;lt;/ratings&amp;gt;&lt;br /&gt;
|| No || No || &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one rating can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional ratings must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommitted&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name=&amp;quot;identifier&amp;quot;&#039;&#039;. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;trakt&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tvmaze&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;metacritic&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallcritics&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;tomatometerallaudience&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;rating name=&amp;quot;imdb&amp;quot; max=&amp;quot;10&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;rating name=&amp;quot;themoviedb&amp;quot; max=&amp;quot;10&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;userrating&amp;gt;&amp;lt;/userrating&amp;gt; || No || No || Personal rating set by the user&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;top250&amp;gt;&amp;lt;/top250&amp;gt; || No || No || Ranking in IMDB Top 250&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;season&amp;gt;&amp;lt;/season&amp;gt; || No || No ||Number of seasons of this TV Show in the library&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;episode&amp;gt;&amp;lt;/episode&amp;gt; || No || No || Number of episodes of this TV Show in the library&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayepisode&amp;gt;&amp;lt;/displayepisode&amp;gt; || No || No || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;displayseason&amp;gt;&amp;lt;/displayseason&amp;gt; || No || No || Not used &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;outline&amp;gt;&amp;lt;/outline&amp;gt; || No || No || Not Used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;plot&amp;gt;&amp;lt;/plot&amp;gt; || No || No || Can contain more information on multiple lines, will be wrapped&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tagline&amp;gt;&amp;lt;/tagline&amp;gt; || No || No || Short TV Show slogan&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;runtime&amp;gt;&amp;lt;/runtime&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;thumb aspect=&amp;quot;&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
&amp;lt;thumb aspect=&amp;quot;poster&amp;quot; type=&amp;quot;season&amp;quot; season=&amp;quot;&amp;quot; preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt; &lt;br /&gt;
|| No || Yes || Path to available TV Show Posters. Not used for locally saved artwork&amp;lt;br&amp;gt;&lt;br /&gt;
Example use of &#039;&#039;aspect=&amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;banner&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearart&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;clearlogo&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;landscape&amp;quot;&lt;br /&gt;
:&amp;lt;thumb aspect=&amp;quot;poster&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;season&amp;quot;&#039;&#039; used for season specific artwork&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;season=&amp;quot;2&amp;quot;&#039;&#039; nominates season number eg. season 2&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;fanart&amp;gt;&lt;br /&gt;
     &amp;lt;thumb preview=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/fanart&amp;gt;&lt;br /&gt;
|| No || Yes^ || Path to available TV Show fanart.&amp;lt;br&amp;gt;&lt;br /&gt;
:^ Multiple &amp;lt;thumb&amp;gt; entries allowed between the &amp;lt;fanart&amp;gt;&amp;lt;/fanart&amp;gt; tags&amp;lt;br&amp;gt;&lt;br /&gt;
Not used for locally saved artwork&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;mpaa&amp;gt;&amp;lt;/mpaa&amp;gt; || No || No || Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country local rating system&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;playcount&amp;gt;&amp;lt;/playcount&amp;gt; || No || No || Number of times TV show has been played. Will only ever show 0 or 1. Episodes track playcounts&amp;lt;br&amp;gt;See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;lastplayed&amp;gt;&amp;lt;/lastplayed&amp;gt; || No || No || Date TV Show was last played&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;episodeguide&amp;gt;&lt;br /&gt;
   {&amp;quot;tmdb&amp;quot;: &amp;quot;76479&amp;quot;, &amp;quot;imdb&amp;quot;: &amp;quot;tt1190634&amp;quot;, &amp;quot;tvdb&amp;quot;: &amp;quot;355567&amp;quot;}&lt;br /&gt;
 &amp;lt;/episodeguide&amp;gt;&lt;br /&gt;
|| Yes/No || No || Read section &#039;&#039;1.1 episodeguide URL&#039;&#039; above.&amp;lt;br&amp;gt;&lt;br /&gt;
For v19 and later, a JSON format is used. &#039;&#039;[https://forum.kodi.tv/showthread.php?tid=370489 Read more here]&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
TVDB scraper uses TheTVDB v4 API&amp;lt;br&amp;gt;&lt;br /&gt;
Other providers: &#039;&#039;&amp;quot;tvmaze&amp;quot;:&#039;&#039; and &#039;&#039;&amp;quot;tvrage&amp;quot;:&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;id&amp;gt;&amp;lt;/id&amp;gt; || No || No || The default ID. &amp;lt;br&amp;gt;&lt;br /&gt;
Do not use as this is a Kodi generated tag. See next item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;uniqueid type=&amp;quot;&amp;quot; default=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/uniqueid&amp;gt; || {{Yes}} || Yes ||The ID from the scraper site.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;type=&amp;quot;&amp;quot;&#039;&#039; Identifier of the ID. Do not use &amp;quot;default&amp;quot;. Examples of identifier include...&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tvdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::For non-scraped items, use simple values like &#039;&#039;&amp;quot;home&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;doco&amp;quot;&#039;&#039; etc&amp;lt;br&amp;gt;&lt;br /&gt;
::The value can be alpha-numeric eg &#039;&#039;tt3480556&#039;&#039; for imdb, &#039;&#039;286668&#039;&#039; for tmdb, &#039;&#039;home001&#039;&#039; for home movies, etc&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;  &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::Only one uniqueID can be set as &#039;&#039;default=&amp;quot;true&amp;quot;&#039;&#039;, additional uniqueID&#039;s must be set as &#039;&#039;default=&amp;quot;false&amp;quot;&#039;&#039; or ommit the default attribute&amp;lt;br&amp;gt;&lt;br /&gt;
Example of complete entry...&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;tmdb&amp;quot; default=&amp;quot;true&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
::&#039;&#039;&amp;lt;uniqueid type=&amp;quot;imdb&amp;quot; default=&amp;quot;false&amp;quot;&amp;gt; or &amp;lt;uniqueid type=&amp;quot;imdb&amp;quot;&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;genre&amp;gt;&amp;lt;/genre&amp;gt; || No || Yes || Genre&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt; || No || Yes || Tags. See: &#039;&#039;[[Video library tags]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;premiered&amp;gt;&amp;lt;/premiered&amp;gt; || No || No || Release date of TV Show. Comes from Aired Date of the first episode.&amp;lt;br&amp;gt;&lt;br /&gt;
Format as &#039;&#039;2019-01-31&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;year&amp;gt;&amp;lt;/year&amp;gt; || No || No || Release Year.&amp;lt;br&amp;gt;&lt;br /&gt;
{{note|Kodi v17: Tag deprecated, use &amp;lt;premiered&amp;gt; tag instead.}}&lt;br /&gt;
{{note|Kodi v20: Use &amp;lt;premiered&amp;gt; tag only.}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;status&amp;gt;&amp;lt;/status&amp;gt; || No || No || Continuing or Ended show&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/code&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aired&amp;gt;&amp;lt;/aired&amp;gt; || No || No || Not used&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;studio&amp;gt;&amp;lt;/studio&amp;gt; || No || Yes || Production studio&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;trailer&amp;gt;&amp;lt;/trailer&amp;gt; || No || No || Local or online path to TV Show trailer &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;actor&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;role&amp;gt;&amp;lt;/role&amp;gt;&lt;br /&gt;
   &amp;lt;order&amp;gt;&amp;lt;/order&amp;gt;&lt;br /&gt;
   &amp;lt;thumb&amp;gt;&amp;lt;/thumb&amp;gt;&lt;br /&gt;
 &amp;lt;/actor&amp;gt;&lt;br /&gt;
|| No || Yes || The &amp;lt;order&amp;gt; tag determines where in the list the actor will appear. 0 = first in the list &lt;br /&gt;
Supports &amp;quot;clear&amp;quot; attribute&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;namedseason number=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/namedseason&amp;gt; || No || Yes || Allows naming of Seasons. eg:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;namedseason number=&amp;quot;1&amp;quot;&amp;gt;Season 1: The Maze&amp;lt;/namedseason&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 &amp;lt;resume&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;total&amp;gt;&amp;lt;/total&amp;gt;&lt;br /&gt;
 &amp;lt;/resume&amp;gt;&lt;br /&gt;
|| No || No || Not used for TV Show &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;dateadded&amp;gt;&amp;lt;/dateadded&amp;gt; || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml&amp;lt;br&amp;gt;See... &#039;&#039;&#039;[[Advancedsettings.xml#videolibrary]]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=JSON-RPC_API/v13&amp;diff=243474</id>
		<title>JSON-RPC API/v13</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=JSON-RPC_API/v13&amp;diff=243474"/>
		<updated>2022-12-22T08:37:51Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: fixed Player.SetAudioDelay param&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JSON-RPC_API_nav}}&lt;br /&gt;
{{mininav|[[Development]]|[[JSON-RPC API]]}}&lt;br /&gt;
Version 13 is the in development version of Kodi&#039;s JSON-RPC API and is published with the release of v21 (Omega).&lt;br /&gt;
This document has been updated to version 13.0.0. Recent changes are announced on the [https://forum.kodi.tv/forumdisplay.php?fid=174 forum]&lt;br /&gt;
&lt;br /&gt;
It comes with support for [http://en.wikipedia.org/wiki/WebSocket WebSockets] as an alternative transport for third party clients. Using WebSockets will allow webinterfaces (which are currently restricted to the HTTP transport only) to get access to a bidirectional transport with Kodi&#039;s JSON-RPC API and can therefore also profit from additional features like notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
== JSON-RPC 2.0 compatibility ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 0;&amp;quot;&lt;br /&gt;
!style=&amp;quot;padding-left: 5px; width: 7em; text-align: left;&amp;quot;|Version&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Method calls&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Notifications&amp;lt;br /&amp;gt;(server-side)&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Notifications&amp;lt;br /&amp;gt;(client-side)&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Parameters&amp;lt;br /&amp;gt;by-name&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Parameters&amp;lt;br /&amp;gt;by-position&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Batch requests&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 5px;&amp;quot;|Version 6&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Documentation (JSON Schema) ==&lt;br /&gt;
=== Supported features of JSON Schema ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin-right:2em&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 0;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 10em; text-align: left;&amp;quot;|Schema&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|IETF Draft 03&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1 type]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.2 properties]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.3 patternProperties]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.4 additionalProperties]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.5 items]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.6 additionalItems]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.7 required]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.8 dependencies]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.9 minimum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.10 maximum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin-right:2em&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 0;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 10em; text-align: left;&amp;quot;|Schema&lt;br /&gt;
&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|IETF Draft 03&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.11 exclusiveMinimum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.12 exclusiveMaximum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.13 minItems]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.14 maxItems]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.15 uniqueItems]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.16 pattern]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.17 minLength]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.18 maxLength]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.19 enum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.20 default]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 0;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 10em; text-align: left;&amp;quot;|Schema&lt;br /&gt;
&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|IETF Draft 03&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.21 title]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.22 description]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23 format]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.24 divisibleBy]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.25 disallow]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.26 extends]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.27 id]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.28 $ref]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.29 $schema]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-6 Hyper Schema]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Error message ==&lt;br /&gt;
If Kodi detects a bad or missing parameter in a JSON-RPC request it returns an error object. The JSON schema description of that error object is&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;code&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
    &amp;quot;message&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
    &amp;quot;data&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;method&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
        &amp;quot;stack&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;Error.Stack&amp;quot;,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;name&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
            &amp;quot;type&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
            &amp;quot;message&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
            &amp;quot;property&amp;quot;: { &amp;quot;$ref&amp;quot;: &amp;quot;Error.Stack&amp;quot; }&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Namespaces ==&lt;br /&gt;
The Kodi JSON-RPC API is split up into namespaces, which contain methods that can be called. These namespaces are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 10;&amp;quot;&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Namespace&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|Addons&lt;br /&gt;
|List, enable and execute addons.&lt;br /&gt;
|-&lt;br /&gt;
|Application&lt;br /&gt;
|Application information and control.&lt;br /&gt;
|-&lt;br /&gt;
|AudioLibrary&lt;br /&gt;
|Audio Library information.&lt;br /&gt;
|-&lt;br /&gt;
|Favourites&lt;br /&gt;
|Favourites GetFavourites and AddFavourite.&lt;br /&gt;
|-&lt;br /&gt;
|Files&lt;br /&gt;
|Shares information &amp;amp; filesystem listings.&lt;br /&gt;
|-&lt;br /&gt;
|GUI&lt;br /&gt;
|Window properties and activation.&lt;br /&gt;
|-&lt;br /&gt;
|Input&lt;br /&gt;
|Allows limited navigation within Kodi.&lt;br /&gt;
|-&lt;br /&gt;
|JSONRPC&lt;br /&gt;
|A variety of standard JSONRPC calls.&lt;br /&gt;
|-&lt;br /&gt;
|PVR&lt;br /&gt;
|Live TV control.&lt;br /&gt;
|-&lt;br /&gt;
|Player&lt;br /&gt;
|Manages all available players.&lt;br /&gt;
|-&lt;br /&gt;
|Playlist&lt;br /&gt;
|Playlist modification.&lt;br /&gt;
|-&lt;br /&gt;
|Profiles&lt;br /&gt;
|Support for Profiles operations to Kodi.&lt;br /&gt;
|-&lt;br /&gt;
|Settings&lt;br /&gt;
|Allows manipulation of Kodi settings.&lt;br /&gt;
|-&lt;br /&gt;
|System&lt;br /&gt;
|System controls and information.&lt;br /&gt;
|-&lt;br /&gt;
|Textures&lt;br /&gt;
|Supplies GetTextures and RemoveTexture. Textures are images.&lt;br /&gt;
|-&lt;br /&gt;
|VideoLibrary&lt;br /&gt;
|Video Library information.&lt;br /&gt;
|-&lt;br /&gt;
|XBMC&lt;br /&gt;
|Dumping ground for very Kodi specific operations.&lt;br /&gt;
|}&lt;br /&gt;
== Methods ==&lt;br /&gt;
=== Addons ===&lt;br /&gt;
==== Addons.ExecuteAddon ====&lt;br /&gt;
Executes the given addon with the given parameters (if possible)&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ExecuteAddon&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; addonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|array|string&#039;&#039; params = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; wait = False]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Executes the given addon with the given parameters (if possible)&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;addonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;params&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;URL path (must start with / or ?&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;wait&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ExecuteAddon&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addons.GetAddonDetails ====&lt;br /&gt;
Gets the details of a specific addon&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; addonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Addon.Fields|Addon.Fields]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#Addon.Details|Addon.Details]]&#039;&#039; addon&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Gets the details of a specific addon&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;addonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Fields&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;addon&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Details&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addons.GetAddons ====&lt;br /&gt;
Gets all available addons&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Addon.Types|Addon.Types]]&#039;&#039; type = unknown]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Addon.Content|Addon.Content]]&#039;&#039; content = unknown] (Content provided by the addon. Only considered for plugins and scripts.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: boolean|string&#039;&#039; enabled = all]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Addon.Fields|Addon.Fields]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: boolean|string&#039;&#039; installed = True]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Addon.Details|Addon.Details]] ]&#039;&#039; addons]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Gets all available addons&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Types&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Content&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Content provided by the addon. Only considered for plugins and scripts.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;content&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;all&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;enabled&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;all&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Fields&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;installed&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;all&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;addons&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Details&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addons.SetAddonEnabled ====&lt;br /&gt;
Enables/Disables a specific addon&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ManageAddon&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; addonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; enabled&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Enables/Disables a specific addon&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;addonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;enabled&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ManageAddon&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Application ===&lt;br /&gt;
==== Application.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Application.Property.Name|Application.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Application.Property.Value|Application.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Application.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Application.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Application.Quit ====&lt;br /&gt;
Quit application&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Quit application&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Application.SetMute ====&lt;br /&gt;
Toggle mute/unmute&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; mute&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;boolean (Mute state)&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Toggle mute/unmute&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mute&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Mute state&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Application.SetVolume ====&lt;br /&gt;
Set the current volume&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: integer|[[#Global.IncrementDecrement|Global.IncrementDecrement]]&#039;&#039; volume&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the current volume&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;volume&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;maximum&amp;quot;: 100,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.IncrementDecrement&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== AudioLibrary ===&lt;br /&gt;
==== AudioLibrary.Clean ====&lt;br /&gt;
Cleans the audio library from non-existent items&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Cleans the audio library from non-existent items&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to show the progress bar or any other GUI dialog&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showdialogs&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.Export ====&lt;br /&gt;
Exports all items from the audio library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* WriteFile&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object&#039;&#039; options]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Exports all items from the audio library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;options&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;path&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Path to the directory to where the data should be exported&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;images&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to export thumbnails and fanart images&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;overwrite&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to overwrite existing exported files&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;WriteFile&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetAlbumDetails ====&lt;br /&gt;
Retrieve details about a specific album&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Album|Audio.Fields.Album]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Details.Album|Audio.Details.Album]]&#039;&#039; albumdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific album&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;albumdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetAlbums ====&lt;br /&gt;
Retrieve all albums from specified artist (and role) or that has songs of the specified genre&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Album|Audio.Fields.Album]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|object|[[#List.Filter.Albums|List.Filter.Albums]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; includesingles = False]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; allroles = False] (Whether or not to include all roles when filtering by artist, rather than the default of excluding other contributions. When true it overrides any role filter value.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Album|Audio.Details.Album]] ]&#039;&#039; albums]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all albums from specified artist (and role) or that has songs of the specified genre&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Albums&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;includesingles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to include all roles when filtering by artist, rather than the default of excluding other contributions. When true it overrides any role filter value.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;allroles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;albums&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetArtistDetails ====&lt;br /&gt;
Retrieve details about a specific artist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; artistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Artist|Audio.Fields.Artist]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Details.Artist|Audio.Details.Artist]]&#039;&#039; artistdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific artist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Artist&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;artistdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Artist&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetArtists ====&lt;br /&gt;
Retrieve all artists. For backward compatibility by default this implicitly does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; albumartistsonly = None] (Whether or not to only include album artists rather than the artists of only individual songs as well. If the parameter is not passed or is passed as null the GUI setting will be used)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Artist|Audio.Fields.Artist]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|object|object|object|object|object|object|object|object|[[#List.Filter.Artists|List.Filter.Artists]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; allroles = False] (Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Artist|Audio.Details.Artist]] ]&#039;&#039; artists]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all artists. For backward compatibility by default this implicitly does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to only include album artists rather than the artists of only individual songs as well. If the parameter is not passed or is passed as null the GUI setting will be used&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumartistsonly&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Artist&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Deprecated, use songgenreid. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;songgenreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genreid. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songgenreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songgenreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Deprecated, use songgenre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;songgenre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songgenre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songgenre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;album&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;songid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Role contributed by artist. Overridden by allroles parameter&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Role contributed by artist. Overridden by allroles parameter&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Artists&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;allroles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;artists&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Artist&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetAvailableArt ====&lt;br /&gt;
Retrieve all potential art URLs for a media item by art type&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; arttype = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array&#039;&#039; availableart&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all potential art URLs for a media item by art type&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;arttype&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;availableart&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;arttype&amp;quot;: {&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;previewurl&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;URL to a preview thumbnail of the image&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;url&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;URL to the original image&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetAvailableArtTypes ====&lt;br /&gt;
Retrieve a list of potential art types for a media item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array&#039;&#039; availablearttypes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve a list of potential art types for a media item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;availablearttypes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetGenres ====&lt;br /&gt;
Retrieve all genres&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Fields.Genre|Library.Fields.Genre]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#Library.Details.Genre|Library.Details.Genre]] ]&#039;&#039; genres&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all genres&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Fields.Genre&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;genres&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Details.Genre&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetProperties ====&lt;br /&gt;
Retrieves the values of the music library properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Audio.Property.Name|Audio.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Audio.Property.Value|Audio.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the music library properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRecentlyAddedAlbums ====&lt;br /&gt;
Retrieve recently added albums&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Album|Audio.Fields.Album]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Album|Audio.Details.Album]] ]&#039;&#039; albums]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve recently added albums&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;albums&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRecentlyAddedSongs ====&lt;br /&gt;
Retrieve recently added songs&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Amount|List.Amount]]&#039;&#039; albumlimit = -1] (The amount of recently added albums from which to return the songs)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Song|Audio.Fields.Song]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Song|Audio.Details.Song]] ]&#039;&#039; songs]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve recently added songs&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Amount&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The amount of recently added albums from which to return the songs&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumlimit&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;songs&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRecentlyPlayedAlbums ====&lt;br /&gt;
Retrieve recently played albums&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Album|Audio.Fields.Album]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Album|Audio.Details.Album]] ]&#039;&#039; albums]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve recently played albums&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;albums&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRecentlyPlayedSongs ====&lt;br /&gt;
Retrieve recently played songs&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Song|Audio.Fields.Song]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Song|Audio.Details.Song]] ]&#039;&#039; songs]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve recently played songs&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;songs&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRoles ====&lt;br /&gt;
Retrieve all contributor roles&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Role|Audio.Fields.Role]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Audio.Details.Role|Audio.Details.Role]] ]&#039;&#039; roles&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all contributor roles&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Role&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;roles&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Role&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetSongDetails ====&lt;br /&gt;
Retrieve details about a specific song&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; songid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Song|Audio.Fields.Song]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Details.Song|Audio.Details.Song]]&#039;&#039; songdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific song&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;songid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;songdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetSongs ====&lt;br /&gt;
Retrieve all songs from specified album, artist or genre&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Song|Audio.Fields.Song]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|object|object|object|[[#List.Filter.Songs|List.Filter.Songs]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; includesingles = True] (Only songs from albums are returned when false, but overridden when singlesonly parameter is true)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; allroles = False] (Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; singlesonly = False] (Only singles are returned when true, and overrides includesingles parameter)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Song|Audio.Details.Song]] ]&#039;&#039; songs]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all songs from specified album, artist or genre&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;album&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Songs&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Only songs from albums are returned when false, but overridden when singlesonly parameter is true&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;includesingles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;allroles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Only singles are returned when true, and overrides includesingles parameter&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;singlesonly&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;songs&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetSources ====&lt;br /&gt;
Get all music sources, including unique ID&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Fields.Source|Library.Fields.Source]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Library.Details.Source|Library.Details.Source]] ]&#039;&#039; sources&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get all music sources, including unique ID&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Fields.Source&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;sources&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Details.Source&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.Scan ====&lt;br /&gt;
Scans the audio sources for new library items&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; directory = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Scans the audio sources for new library items&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to show the progress bar or any other GUI dialog&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showdialogs&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.SetAlbumDetails ====&lt;br /&gt;
Update the given album with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; artist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; description = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; theme = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; mood = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; style = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; type = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; albumlabel = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; year = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainzalbumid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainzreleasegroupid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sortartist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; displayartist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; musicbrainzalbumartistid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; isboxset = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; releasedate = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaldate = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given album with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;description&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;theme&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumlabel&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;year&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzalbumid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzreleasegroupid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sortartist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;displayartist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;isboxset&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;releasedate&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaldate&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.SetArtistDetails ====&lt;br /&gt;
Update the given artist with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; artistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; artist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; instrument = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; style = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; mood = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; born = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; formed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; description = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; died = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; disbanded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; yearsactive = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainzartistid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sortname = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; type = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; gender = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; disambiguation = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given artist with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;instrument&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;born&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;formed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;description&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;died&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;disbanded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;yearsactive&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzartistid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sortname&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;gender&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;disambiguation&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.SetSongDetails ====&lt;br /&gt;
Update the given song with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; songid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; artist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; year = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; track = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; disc = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; duration = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; comment = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainztrackid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainzartistid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; displayartist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sortartist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; mood = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; disctitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; releasedate = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaldate = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; bpm = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given song with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;songid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;year&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;track&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;disc&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;duration&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;comment&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainztrackid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzartistid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;displayartist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sortartist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mood&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;disctitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;releasedate&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaldate&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;bpm&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Favourites ===&lt;br /&gt;
==== Favourites.AddFavourite ====&lt;br /&gt;
Add a favourite with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; title&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Favourite.Type|Favourite.Type]]&#039;&#039; type&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; path = None] (Required for media, script and androidapp favourites types)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; window = None] (Required for window favourite type)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; windowparameter = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Add a favourite with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Required for media, script and androidapp favourites types&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;path&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Required for window favourite type&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;window&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;windowparameter&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Favourites.GetFavourites ====&lt;br /&gt;
Retrieve all favourites&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Favourite.Type|Favourite.Type]]&#039;&#039; type = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Favourite.Fields.Favourite|Favourite.Fields.Favourite]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Favourite.Details.Favourite|Favourite.Details.Favourite]] ]&#039;&#039; favourites]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all favourites&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Type&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Fields.Favourite&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;favourites&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Details.Favourite&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Files ===&lt;br /&gt;
==== Files.Download ====&lt;br /&gt;
Downloads the given file&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; path&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;any&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Downloads the given file&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;path&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.GetDirectory ====&lt;br /&gt;
Get the directories and files in the given directory&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; directory&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Files.Media|Files.Media]]&#039;&#039; media = files]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Fields.Files|List.Fields.Files]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits] (Limits are applied after getting the directory content thus retrieval is not faster when they are applied.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#List.Item.File|List.Item.File]] ]&#039;&#039; files&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get the directories and files in the given directory&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;files&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Fields.Files&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Limits are applied after getting the directory content thus retrieval is not faster when they are applied.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;files&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Item.File&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.GetFileDetails ====&lt;br /&gt;
Get details for a specific file&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; file (Full path to the file)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Files.Media|Files.Media]]&#039;&#039; media = files]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Fields.Files|List.Fields.Files]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.Item.File|List.Item.File]]&#039;&#039; filedetails&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get details for a specific file&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Full path to the file&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;files&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Fields.Files&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;filedetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.Item.File&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.GetSources ====&lt;br /&gt;
Get the sources of the media windows&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Files.Media|Files.Media]]&#039;&#039; media&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.Items.Sources|List.Items.Sources]]&#039;&#039; sources&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get the sources of the media windows&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;sources&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.Items.Sources&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.PrepareDownload ====&lt;br /&gt;
Provides a way to download a given file (e.g. providing an URL to the real file location)&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; path&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;any&#039;&#039; details (Transport specific details on how/from where to download the given file)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; mode (Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Provides a way to download a given file (e.g. providing an URL to the real file location)&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;path&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;details&amp;quot;: {&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;Transport specific details on how/from where to download the given file&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;mode&amp;quot;: {&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol&amp;quot;,&lt;br /&gt;
        &amp;quot;enums&amp;quot;: [&lt;br /&gt;
          &amp;quot;redirect&amp;quot;,&lt;br /&gt;
          &amp;quot;direct&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;protocol&amp;quot;: {&lt;br /&gt;
        &amp;quot;enums&amp;quot;: [&lt;br /&gt;
          &amp;quot;http&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.SetFileDetails ====&lt;br /&gt;
Update the given specific file with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; file (Full path to the file)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Files.Media|Files.Media]]&#039;&#039; media (File type to update correct database. Currently only &amp;quot;video&amp;quot; is supported.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None] (Setting a valid lastplayed without a playcount will force playcount to 1.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Video.Resume|Video.Resume]]&#039;&#039; resume = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given specific file with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Full path to the file&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;File type to update correct database. Currently only \&amp;quot;video\&amp;quot; is supported.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Setting a valid lastplayed without a playcount will force playcount to 1.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== GUI ===&lt;br /&gt;
==== GUI.ActivateWindow ====&lt;br /&gt;
Activates the given window&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlGUI&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#GUI.Window|GUI.Window]]&#039;&#039; window&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[string]&#039;&#039; parameters]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Activates the given window&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Window&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;window&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;parameters&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlGUI&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#GUI.Property.Name|GUI.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#GUI.Property.Value|GUI.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.GetStereoscopicModes ====&lt;br /&gt;
Returns the supported stereoscopic modes of the GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#GUI.Stereoscopy.Mode|GUI.Stereoscopy.Mode]] ]&#039;&#039; stereoscopicmodes]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Returns the supported stereoscopic modes of the GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;stereoscopicmodes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Stereoscopy.Mode&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
        &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.SetFullscreen ====&lt;br /&gt;
Toggle fullscreen/GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlGUI&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; fullscreen&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;boolean (Fullscreen state)&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Toggle fullscreen/GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fullscreen&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlGUI&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Fullscreen state&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.SetStereoscopicMode ====&lt;br /&gt;
Sets the stereoscopic mode of the GUI to the given mode&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlGUI&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; mode&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Sets the stereoscopic mode of the GUI to the given mode&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;toggle&amp;quot;,&lt;br /&gt;
        &amp;quot;tomono&amp;quot;,&lt;br /&gt;
        &amp;quot;next&amp;quot;,&lt;br /&gt;
        &amp;quot;previous&amp;quot;,&lt;br /&gt;
        &amp;quot;select&amp;quot;,&lt;br /&gt;
        &amp;quot;off&amp;quot;,&lt;br /&gt;
        &amp;quot;split_vertical&amp;quot;,&lt;br /&gt;
        &amp;quot;split_horizontal&amp;quot;,&lt;br /&gt;
        &amp;quot;row_interleaved&amp;quot;,&lt;br /&gt;
        &amp;quot;hardware_based&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_cyan_red&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_green_magenta&amp;quot;,&lt;br /&gt;
        &amp;quot;monoscopic&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mode&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlGUI&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.ShowNotification ====&lt;br /&gt;
Shows a GUI notification&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlGUI&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; title&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; message&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: string|string&#039;&#039; image = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;integer&#039;&#039; displaytime = 5000] (The time in milliseconds the notification will be visible)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shows a GUI notification&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;message&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;image&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;info&amp;quot;,&lt;br /&gt;
            &amp;quot;warning&amp;quot;,&lt;br /&gt;
            &amp;quot;error&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 5000,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The time in milliseconds the notification will be visible&amp;quot;,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 1500,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;displaytime&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlGUI&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Input ===&lt;br /&gt;
==== Input.Back ====&lt;br /&gt;
Goes back in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Goes back in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ButtonEvent ====&lt;br /&gt;
Send a button press event&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; button (Button name)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; keymap (Keymap name (KB, XG, R1, or R2))&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;integer&#039;&#039; holdtime = 0] (Number of milliseconds to simulate button hold.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Send a button press event&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Button name&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;button&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Keymap name (KB, XG, R1, or R2)&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;KB&amp;quot;,&lt;br /&gt;
        &amp;quot;XG&amp;quot;,&lt;br /&gt;
        &amp;quot;R1&amp;quot;,&lt;br /&gt;
        &amp;quot;R2&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;keymap&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Number of milliseconds to simulate button hold.&amp;quot;,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;holdtime&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ContextMenu ====&lt;br /&gt;
Shows the context menu&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shows the context menu&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Down ====&lt;br /&gt;
Navigate down in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Navigate down in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ExecuteAction ====&lt;br /&gt;
Execute a specific action&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Input.Action|Input.Action]]&#039;&#039; action&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Execute a specific action&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Input.Action&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Home ====&lt;br /&gt;
Goes to home window in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Goes to home window in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Info ====&lt;br /&gt;
Shows the information dialog&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shows the information dialog&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Left ====&lt;br /&gt;
Navigate left in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Navigate left in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Right ====&lt;br /&gt;
Navigate right in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Navigate right in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Select ====&lt;br /&gt;
Select current item in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Select current item in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.SendText ====&lt;br /&gt;
Send a generic (unicode) text&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; text (Unicode text)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; done = True] (Whether this is the whole input or not (closes an open input dialog if true).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Send a generic (unicode) text&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Unicode text&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether this is the whole input or not (closes an open input dialog if true).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;done&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ShowCodec ====&lt;br /&gt;
Show codec information of the playing item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Show codec information of the playing item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ShowOSD ====&lt;br /&gt;
Show the on-screen display for the current player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Show the on-screen display for the current player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ShowPlayerProcessInfo ====&lt;br /&gt;
Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Up ====&lt;br /&gt;
Navigate up in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Navigate up in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== JSONRPC ===&lt;br /&gt;
==== JSONRPC.GetConfiguration ====&lt;br /&gt;
Get client-specific configurations&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Configuration|Configuration]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get client-specific configurations&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Configuration&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.Introspect ====&lt;br /&gt;
Enumerates all actions and descriptions&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; getdescriptions = True]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; getmetadata = False]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; filterbytransport = True]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Enumerates all actions and descriptions&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;getdescriptions&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;getmetadata&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filterbytransport&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;getreferences&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: true,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Whether or not to print the schema for referenced types&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Name of a namespace, method or type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Type of the given name&amp;quot;,&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;method&amp;quot;,&lt;br /&gt;
            &amp;quot;namespace&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;,&lt;br /&gt;
            &amp;quot;notification&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.NotifyAll ====&lt;br /&gt;
Notify all other connected clients&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; message&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;any&#039;&#039; data = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;any&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Notify all other connected clients&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;message&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.Permission ====&lt;br /&gt;
Retrieve the clients permissions&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlgui&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlnotify&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlplayback&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlpower&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlpvr&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlsystem&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; executeaddon&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; manageaddon&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; navigate&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; readdata&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; removedata&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; updatedata&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; writefile&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve the clients permissions&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;controlgui&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlnotify&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlplayback&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlpower&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlpvr&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlsystem&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;executeaddon&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;manageaddon&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;navigate&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;readdata&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;removedata&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;updatedata&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;writefile&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.Ping ====&lt;br /&gt;
Ping responder&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Ping responder&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.SetConfiguration ====&lt;br /&gt;
Change the client-specific configuration&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlNotify&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; notifications]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Configuration|Configuration]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Change the client-specific configuration&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;notifications&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;application&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;audiolibrary&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;gui&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;input&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;other&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;player&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playlist&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;system&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;videolibrary&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlNotify&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Configuration&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.Version ====&lt;br /&gt;
Retrieve the JSON-RPC protocol version.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;object&#039;&#039; version&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve the JSON-RPC protocol version.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;version&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;major&amp;quot;: {&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Bumped on backwards incompatible changes to the API definition&amp;quot;,&lt;br /&gt;
            &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minor&amp;quot;: {&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Bumped on backwards compatible additions/changes to the API definition&amp;quot;,&lt;br /&gt;
            &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;patch&amp;quot;: {&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Bumped on any changes to the internal implementation but not to the API definition&amp;quot;,&lt;br /&gt;
            &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== PVR ===&lt;br /&gt;
==== PVR.AddTimer ====&lt;br /&gt;
Adds a timer to record the given show one times or a timer rule to record all showings of the given show or adds a reminder timer or reminder timer rule&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid (the broadcast id of the item to record)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; timerrule = False] (controls whether to create a timer rule or a onetime timer)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; reminder = False] (controls whether to create a reminder timer or a recording timer)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Adds a timer to record the given show one times or a timer rule to record all showings of the given show or adds a reminder timer or reminder timer rule&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;the broadcast id of the item to record&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;broadcastid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;controls whether to create a timer rule or a onetime timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;timerrule&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;controls whether to create a reminder timer or a recording timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;reminder&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.DeleteTimer ====&lt;br /&gt;
Deletes a onetime timer or a timer rule&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; timerid (the id of the onetime timer or timer rule to delete)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Deletes a onetime timer or a timer rule&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;the id of the onetime timer or timer rule to delete&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;timerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetBroadcastDetails ====&lt;br /&gt;
Retrieves the details of a specific broadcast&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Broadcast|PVR.Fields.Broadcast]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.Broadcast|PVR.Details.Broadcast]]&#039;&#039; broadcastdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific broadcast&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;broadcastid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Broadcast&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;broadcastdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetBroadcastIsPlayable ====&lt;br /&gt;
Retrieves whether or not a broadcast is playable&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid (the id of the broadcast to to check for playability)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;boolean&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves whether or not a broadcast is playable&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;the id of the broadcast to to check for playability&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;broadcastid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetBroadcasts ====&lt;br /&gt;
Retrieves the program of a specific channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Broadcast|PVR.Fields.Broadcast]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Broadcast|PVR.Details.Broadcast]] ]&#039;&#039; broadcasts&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the program of a specific channel&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channelid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Broadcast&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;broadcasts&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetChannelDetails ====&lt;br /&gt;
Retrieves the details of a specific channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Channel|PVR.Fields.Channel]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.Channel|PVR.Details.Channel]]&#039;&#039; channeldetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific channel&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channelid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Channel&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;channeldetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Channel&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetChannelGroupDetails ====&lt;br /&gt;
Retrieves the details of a specific channel group&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#PVR.ChannelGroup.Id|PVR.ChannelGroup.Id]]&#039;&#039; channelgroupid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; channels]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.ChannelGroup.Extended|PVR.Details.ChannelGroup.Extended]]&#039;&#039; channelgroupdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific channel group&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.ChannelGroup.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channelgroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channels&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;limits&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Channel&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;channelgroupdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.ChannelGroup.Extended&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetChannelGroups ====&lt;br /&gt;
Retrieves the channel groups for the specified type&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#PVR.Channel.Type|PVR.Channel.Type]]&#039;&#039; channeltype&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.ChannelGroup|PVR.Details.ChannelGroup]] ]&#039;&#039; channelgroups&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the channel groups for the specified type&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channeltype&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;channelgroups&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.ChannelGroup&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetChannels ====&lt;br /&gt;
Retrieves the channel list&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#PVR.ChannelGroup.Id|PVR.ChannelGroup.Id]]&#039;&#039; channelgroupid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Channel|PVR.Fields.Channel]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Channel|PVR.Details.Channel]] ]&#039;&#039; channels&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the channel list&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.ChannelGroup.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channelgroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Channel&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;channels&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Channel&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetClients ====&lt;br /&gt;
Retrieves the enabled PVR clients and their capabilities&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Client|PVR.Details.Client]] ]&#039;&#039; clients&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the enabled PVR clients and their capabilities&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;clients&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Client&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Property.Name|PVR.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#PVR.Property.Value|PVR.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetRecordingDetails ====&lt;br /&gt;
Retrieves the details of a specific recording&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; recordingid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Recording|PVR.Fields.Recording]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.Recording|PVR.Details.Recording]]&#039;&#039; recordingdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific recording&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;recordingid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Recording&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;recordingdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Recording&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetRecordings ====&lt;br /&gt;
Retrieves the recordings&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Recording|PVR.Fields.Recording]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Recording|PVR.Details.Recording]] ]&#039;&#039; recordings&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the recordings&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Recording&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;recordings&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Recording&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetTimerDetails ====&lt;br /&gt;
Retrieves the details of a specific timer&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; timerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Timer|PVR.Fields.Timer]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.Timer|PVR.Details.Timer]]&#039;&#039; timerdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific timer&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;timerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;timerdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Timer&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetTimers ====&lt;br /&gt;
Retrieves the timers&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Timer|PVR.Fields.Timer]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Timer|PVR.Details.Timer]] ]&#039;&#039; timers&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the timers&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;timers&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Timer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Record ====&lt;br /&gt;
Toggle recording of a channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; record = toggle]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: string|[[#Library.Id|Library.Id]]&#039;&#039; channel = current]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Toggle recording of a channel&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;current&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channel&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;current&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Scan ====&lt;br /&gt;
Starts a channel scan&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1] (Specify a PVR client id to avoid UI dialog, optional in kodi 19, required in kodi 20)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Starts a channel scan&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Specify a PVR client id to avoid UI dialog, optional in kodi 19, required in kodi 20&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;clientid&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.ToggleTimer ====&lt;br /&gt;
Creates or deletes a onetime timer or timer rule for a given show. If it exists, it will be deleted. If it does not exist, it will be created&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid (the broadcast id of the item to toggle a onetime timer or time rule for)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; timerrule = False] (controls whether to create / delete a timer rule or a onetime timer)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Creates or deletes a onetime timer or timer rule for a given show. If it exists, it will be deleted. If it does not exist, it will be created&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;the broadcast id of the item to toggle a onetime timer or time rule for&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;broadcastid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;controls whether to create / delete a timer rule or a onetime timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;timerrule&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Player ===&lt;br /&gt;
==== Player.AddSubtitle ====&lt;br /&gt;
Add subtitle to the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; subtitle (Local path or remote URL to the subtitle file to load)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Add subtitle to the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Local path or remote URL to the subtitle file to load&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;subtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetAudioDelay ====&lt;br /&gt;
Get the audio delay for the current playback&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[number]]&#039;&#039; offset] The offset value used in the current playback.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Returns the offset value used in the current playback&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;offset&amp;quot;: {&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;The offset value used in the current playback.&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetActivePlayers ====&lt;br /&gt;
Returns all active players&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Returns all active players&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;items&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playerid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playertype&amp;quot;: {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;internal&amp;quot;,&lt;br /&gt;
            &amp;quot;external&amp;quot;,&lt;br /&gt;
            &amp;quot;remote&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetItem ====&lt;br /&gt;
Retrieves the currently played item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Fields.All|List.Fields.All]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.Item.All|List.Item.All]]&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the currently played item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Fields.All&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;item&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.Item.All&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetPlayers ====&lt;br /&gt;
Get a list of available players&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; media = all]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get a list of available players&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;all&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;all&amp;quot;,&lt;br /&gt;
        &amp;quot;video&amp;quot;,&lt;br /&gt;
        &amp;quot;audio&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;items&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playsaudio&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playsvideo&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;internal&amp;quot;,&lt;br /&gt;
            &amp;quot;external&amp;quot;,&lt;br /&gt;
            &amp;quot;remote&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Player.Property.Name|Player.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Player.Property.Value|Player.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Player.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetViewMode ====&lt;br /&gt;
Get view mode of video player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; nonlinearstretch&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;number&#039;&#039; pixelratio&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;number&#039;&#039; verticalshift&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.ViewMode|Player.ViewMode]]&#039;&#039; viewmode&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;number&#039;&#039; zoom&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get view mode of video player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;nonlinearstretch&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;pixelratio&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;verticalshift&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;viewmode&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.ViewMode&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;zoom&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GoTo ====&lt;br /&gt;
Go to previous/next/specific item in the playlist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|[[#Playlist.Position|Playlist.Position]]&#039;&#039; to&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Go to previous/next/specific item in the playlist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;to&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;previous&amp;quot;,&lt;br /&gt;
            &amp;quot;next&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;position in playlist&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Move ====&lt;br /&gt;
If picture is zoomed move viewport left/right/up/down otherwise skip previous/next&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; direction&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;If picture is zoomed move viewport left/right/up/down otherwise skip previous/next&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;left&amp;quot;,&lt;br /&gt;
        &amp;quot;right&amp;quot;,&lt;br /&gt;
        &amp;quot;up&amp;quot;,&lt;br /&gt;
        &amp;quot;down&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;direction&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Open ====&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|[[#Playlist.Item|Playlist.Item]]|object|object|object|object|object&#039;&#039; item]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; options]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;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.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;position&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
              &amp;quot;default&amp;quot;: 0&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;path&amp;quot;: {&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;random&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: true,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Deprecated, use the shuffled property of the options parameter instead&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;recursive&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;partymode&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: [&lt;br /&gt;
                {&lt;br /&gt;
                  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
                    &amp;quot;music&amp;quot;,&lt;br /&gt;
                    &amp;quot;video&amp;quot;&lt;br /&gt;
                  ],&lt;br /&gt;
                  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                  &amp;quot;description&amp;quot;: &amp;quot;Path to a smartplaylist (*.xsp) file&amp;quot;,&lt;br /&gt;
                  &amp;quot;minLength&amp;quot;: 5,&lt;br /&gt;
                  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;broadcastid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;channelid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;recordingid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;options&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playername&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: null,&lt;br /&gt;
          &amp;quot;type&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;enums&amp;quot;: [&lt;br /&gt;
                &amp;quot;default&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;name of player&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;repeat&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: null,&lt;br /&gt;
          &amp;quot;type&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Repeat&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;resume&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to resume from the resume point or not&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Percentage value to start from&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Time&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Time to start from&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;shuffled&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.PlayPause ====&lt;br /&gt;
Pauses or unpause playback and returns the new state&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; play = toggle]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Player.Speed|Player.Speed]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Pauses or unpause playback and returns the new state&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;play&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Player.Speed&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Rotate ====&lt;br /&gt;
Rotates current picture&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; value = clockwise]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Rotates current picture&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;clockwise&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;clockwise&amp;quot;,&lt;br /&gt;
        &amp;quot;counterclockwise&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;value&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Seek ====&lt;br /&gt;
Seek through the playing item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object|object|object&#039;&#039; value&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Player.Position.Percentage|Player.Position.Percentage]]&#039;&#039; percentage]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; time] (A duration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; totaltime] (A duration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Seek through the playing item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;value&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;percentage&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Percentage value to seek to&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;time&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Time&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Time to seek to&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;step&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Seek by predefined jumps&amp;quot;,&lt;br /&gt;
              &amp;quot;enums&amp;quot;: [&lt;br /&gt;
                &amp;quot;smallforward&amp;quot;,&lt;br /&gt;
                &amp;quot;smallbackward&amp;quot;,&lt;br /&gt;
                &amp;quot;bigforward&amp;quot;,&lt;br /&gt;
                &amp;quot;bigbackward&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;seconds&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Seek by the given number of seconds&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;percentage&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
        &amp;quot;default&amp;quot;: 0.0&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;time&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;totaltime&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetAudioDelay ====&lt;br /&gt;
Set the audio delay for the current playback&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: number|[[#Global.IncrementDecrement|Global.IncrementDecrement]]&#039;&#039; offset&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[number]]&#039;&#039; offset] The offset value used in the current playback.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;offset&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;The value should be a multiple of 0.025 in a range of +/-10 (the default range can be overriden by advancedsettings.xml).&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.IncrementDecrement&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;offset&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;The offset value used in the current playback.&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetAudioStream ====&lt;br /&gt;
Set the audio stream played by the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|integer&#039;&#039; stream&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the audio stream played by the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;stream&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;previous&amp;quot;,&lt;br /&gt;
            &amp;quot;next&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Index of the audio stream to play&amp;quot;,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetPartymode ====&lt;br /&gt;
Turn partymode on or off&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; partymode&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Turn partymode on or off&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;partymode&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetRepeat ====&lt;br /&gt;
Set the repeat mode of the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: [[#Player.Repeat|Player.Repeat]]|string&#039;&#039; repeat&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the repeat mode of the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;repeat&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Repeat&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;cycle&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetShuffle ====&lt;br /&gt;
Shuffle/Unshuffle items in the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; shuffle&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shuffle/Unshuffle items in the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;shuffle&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetSpeed ====&lt;br /&gt;
Set the speed of the current playback&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: integer|[[#Global.IncrementDecrement|Global.IncrementDecrement]]&#039;&#039; speed&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Player.Speed|Player.Speed]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the speed of the current playback&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;speed&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            -32,&lt;br /&gt;
            -16,&lt;br /&gt;
            -8,&lt;br /&gt;
            -4,&lt;br /&gt;
            -2,&lt;br /&gt;
            -1,&lt;br /&gt;
            0,&lt;br /&gt;
            1,&lt;br /&gt;
            2,&lt;br /&gt;
            4,&lt;br /&gt;
            8,&lt;br /&gt;
            16,&lt;br /&gt;
            32&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.IncrementDecrement&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Player.Speed&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetSubtitle ====&lt;br /&gt;
Set the subtitle displayed by the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|integer&#039;&#039; subtitle&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; enable = False] (Whether to enable subtitles to be displayed after setting the new subtitle)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the subtitle displayed by the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;subtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;previous&amp;quot;,&lt;br /&gt;
            &amp;quot;next&amp;quot;,&lt;br /&gt;
            &amp;quot;off&amp;quot;,&lt;br /&gt;
            &amp;quot;on&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Index of the subtitle to display&amp;quot;,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether to enable subtitles to be displayed after setting the new subtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;enable&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetVideoStream ====&lt;br /&gt;
Set the video stream played by the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|integer&#039;&#039; stream&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the video stream played by the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;stream&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;previous&amp;quot;,&lt;br /&gt;
            &amp;quot;next&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Index of the video stream to play&amp;quot;,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetViewMode ====&lt;br /&gt;
Set view mode of video player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: [[#Player.CustomViewMode|Player.CustomViewMode]]|[[#Player.ViewMode|Player.ViewMode]]&#039;&#039; viewmode&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set view mode of video player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;viewmode&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.CustomViewMode&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Custom view mode&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.ViewMode&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Stop ====&lt;br /&gt;
Stops playback&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Stops playback&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Zoom ====&lt;br /&gt;
Zoom current picture&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|integer&#039;&#039; zoom&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Zoom current picture&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;zoom&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;in&amp;quot;,&lt;br /&gt;
            &amp;quot;out&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;zoom level&amp;quot;,&lt;br /&gt;
          &amp;quot;maximum&amp;quot;: 10,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Playlist ===&lt;br /&gt;
==== Playlist.Add ====&lt;br /&gt;
Add item(s) to playlist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: [[#Playlist.Item|Playlist.Item]]|array&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Add item(s) to playlist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Clear ====&lt;br /&gt;
Clear playlist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Clear playlist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.GetItems ====&lt;br /&gt;
Get all items from playlist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Fields.All|List.Fields.All]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#List.Item.All|List.Item.All]] ]&#039;&#039; items&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get all items from playlist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Fields.All&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Item.All&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.GetPlaylists ====&lt;br /&gt;
Returns all existing playlists&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Returns all existing playlists&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;items&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Playlist.Property.Name|Playlist.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Playlist.Property.Value|Playlist.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Insert ====&lt;br /&gt;
Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: [[#Playlist.Item|Playlist.Item]]|array&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;position&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Remove ====&lt;br /&gt;
Remove item from playlist. Does not work for picture playlists (aka slideshows).&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Remove item from playlist. Does not work for picture playlists (aka slideshows).&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;position&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Swap ====&lt;br /&gt;
Swap items in the playlist. Does not work for picture playlists (aka slideshows).&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position1&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position2&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Swap items in the playlist. Does not work for picture playlists (aka slideshows).&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;position1&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;position2&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Profiles ===&lt;br /&gt;
==== Profiles.GetCurrentProfile ====&lt;br /&gt;
Retrieve the current profile&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Profiles.Fields.Profile|Profiles.Fields.Profile]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Profiles.Details.Profile|Profiles.Details.Profile]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve the current profile&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Fields.Profile&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Details.Profile&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Profiles.GetProfiles ====&lt;br /&gt;
Retrieve all profiles&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Profiles.Fields.Profile|Profiles.Fields.Profile]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Profiles.Details.Profile|Profiles.Details.Profile]] ]&#039;&#039; profiles&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all profiles&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Fields.Profile&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;profiles&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Details.Profile&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Profiles.LoadProfile ====&lt;br /&gt;
Load the specified profile&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; profile (Profile name)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; prompt = False] (Prompt for password)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Profiles.Password|Profiles.Password]]&#039;&#039; password]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Load the specified profile&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Profile name&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;profile&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Prompt for password&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;prompt&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Password&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;password&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Settings ===&lt;br /&gt;
==== Settings.GetCategories ====&lt;br /&gt;
Retrieves all setting categories&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; level = standard]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; section = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Setting.Details.Category|Setting.Details.Category]] ]&#039;&#039; categories]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves all setting categories&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;standard&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;level&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;section&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;enums&amp;quot;: [&lt;br /&gt;
          &amp;quot;settings&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;categories&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Category&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.GetSections ====&lt;br /&gt;
Retrieves all setting sections&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; level = standard]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Setting.Details.Section|Setting.Details.Section]] ]&#039;&#039; sections]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves all setting sections&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;standard&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;level&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;enums&amp;quot;: [&lt;br /&gt;
          &amp;quot;categories&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;sections&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Section&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.GetSettingValue ====&lt;br /&gt;
Retrieves the value of a setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#Setting.Value.Extended|Setting.Value.Extended]]&#039;&#039; value&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the value of a setting&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setting&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;value&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.Extended&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.GetSettings ====&lt;br /&gt;
Retrieves all settings&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; level = standard]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Setting.Details.Setting|Setting.Details.Setting]] ]&#039;&#039; settings]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves all settings&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;standard&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;level&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;category&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;section&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;settings&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Setting&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.ResetSettingValue ====&lt;br /&gt;
Resets the value of a setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Resets the value of a setting&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setting&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.SetSettingValue ====&lt;br /&gt;
Changes the value of a setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; setting&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Setting.Value.Extended|Setting.Value.Extended]]&#039;&#039; value&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;boolean&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Changes the value of a setting&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setting&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.Extended&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;value&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== System ===&lt;br /&gt;
==== System.EjectOpticalDrive ====&lt;br /&gt;
Ejects or closes the optical disc drive (if available)&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlSystem&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Ejects or closes the optical disc drive (if available)&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlSystem&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#System.Property.Name|System.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#System.Property.Value|System.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;System.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;System.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Hibernate ====&lt;br /&gt;
Puts the system running Kodi into hibernate mode&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Puts the system running Kodi into hibernate mode&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Reboot ====&lt;br /&gt;
Reboots the system running Kodi&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Reboots the system running Kodi&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Shutdown ====&lt;br /&gt;
Shuts the system running Kodi down&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shuts the system running Kodi down&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Suspend ====&lt;br /&gt;
Suspends the system running Kodi&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Suspends the system running Kodi&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Textures ===&lt;br /&gt;
==== Textures.GetTextures ====&lt;br /&gt;
Retrieve all textures&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Textures.Fields.Texture|Textures.Fields.Texture]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Filter.Textures|List.Filter.Textures]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#Textures.Details.Texture|Textures.Details.Texture]] ]&#039;&#039; textures&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all textures&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Textures.Fields.Texture&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Textures&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;textures&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Textures.Details.Texture&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Textures.RemoveTexture ====&lt;br /&gt;
Remove the specified texture&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; textureid (Texture database identifier)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Remove the specified texture&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Texture database identifier&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;textureid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== VideoLibrary ===&lt;br /&gt;
==== VideoLibrary.Clean ====&lt;br /&gt;
Cleans the video library for non-existent items&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; content = video] (Content type to clean for)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; directory = &amp;quot;&amp;quot;] (Path to the directory to clean up; performs a global cleanup if not specified)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Cleans the video library for non-existent items&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to show the progress bar or any other GUI dialog&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showdialogs&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;video&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Content type to clean for&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;video&amp;quot;,&lt;br /&gt;
        &amp;quot;movies&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshows&amp;quot;,&lt;br /&gt;
        &amp;quot;musicvideos&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;content&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Path to the directory to clean up; performs a global cleanup if not specified&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.Export ====&lt;br /&gt;
Exports all items from the video library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* WriteFile&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object&#039;&#039; options]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Exports all items from the video library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;options&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;path&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Path to the directory to where the data should be exported&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;actorthumbs&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to export actor thumbnails&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;images&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to export thumbnails and fanart images&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;overwrite&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to overwrite existing exported files&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;WriteFile&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetAvailableArt ====&lt;br /&gt;
Retrieve all potential art URLs for a media item by art type&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object|object|object|object|object&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; arttype = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array&#039;&#039; availableart&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all potential art URLs for a media item by art type&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;episodeid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;seasonid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;movieid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;setid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;musicvideoid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;arttype&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;availableart&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;arttype&amp;quot;: {&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;previewurl&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;URL to a preview thumbnail of the image&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;url&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;URL to the original image&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetAvailableArtTypes ====&lt;br /&gt;
Retrieve a list of potential art types for a media item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object|object|object|object|object&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array&#039;&#039; availablearttypes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve a list of potential art types for a media item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;episodeid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;seasonid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;movieid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;setid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;musicvideoid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;availablearttypes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetEpisodeDetails ====&lt;br /&gt;
Retrieve details about a specific tv show episode&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Episode|Video.Fields.Episode]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.Episode|Video.Details.Episode]]&#039;&#039; episodedetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific tv show episode&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Episode&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;episodedetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Episode&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetEpisodes ====&lt;br /&gt;
Retrieve all tv show episodes&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;integer&#039;&#039; season = -1]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Episode|Video.Fields.Episode]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|[[#List.Filter.Episodes|List.Filter.Episodes]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Episode|Video.Details.Episode]] ]&#039;&#039; episodes]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all tv show episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Episode&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Requires tvshowid to be set&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Requires tvshowid to be set&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;year&amp;quot;: {&lt;br /&gt;
              &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;actor&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Requires tvshowid to be set&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;director&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Episodes&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;episodes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Episode&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetGenres ====&lt;br /&gt;
Retrieve all genres&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; type&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Fields.Genre|Library.Fields.Genre]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#Library.Details.Genre|Library.Details.Genre]] ]&#039;&#039; genres&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all genres&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;movie&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshow&amp;quot;,&lt;br /&gt;
        &amp;quot;musicvideo&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Fields.Genre&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;genres&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Details.Genre&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetInProgressTVShows ====&lt;br /&gt;
Retrieve all in progress tvshows&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.TVShow|Video.Fields.TVShow]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.TVShow|Video.Details.TVShow]] ]&#039;&#039; tvshows]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all in progress tvshows&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.TVShow&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;tvshows&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.TVShow&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMovieDetails ====&lt;br /&gt;
Retrieve details about a specific movie&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Movie|Video.Fields.Movie]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.Movie|Video.Details.Movie]]&#039;&#039; moviedetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific movie&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movieid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;moviedetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMovieSetDetails ====&lt;br /&gt;
Retrieve details about a specific movie set&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MovieSet|Video.Fields.MovieSet]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; movies]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.MovieSet.Extended|Video.Details.MovieSet.Extended]]&#039;&#039; setdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific movie set&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MovieSet&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movies&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;limits&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;sort&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;setdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MovieSet.Extended&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMovieSets ====&lt;br /&gt;
Retrieve all movie sets&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MovieSet|Video.Fields.MovieSet]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.MovieSet|Video.Details.MovieSet]] ]&#039;&#039; sets]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all movie sets&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MovieSet&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;sets&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MovieSet&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMovies ====&lt;br /&gt;
Retrieve all movies&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Movie|Video.Fields.Movie]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|object|object|object|[[#List.Filter.Movies|List.Filter.Movies]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Movie|Video.Details.Movie]] ]&#039;&#039; movies]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all movies&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;year&amp;quot;: {&lt;br /&gt;
              &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;actor&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;director&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;studio&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;country&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;setid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;set&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tag&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Movies&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;movies&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMusicVideoDetails ====&lt;br /&gt;
Retrieve details about a specific music video&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MusicVideo|Video.Fields.MusicVideo]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.MusicVideo|Video.Details.MusicVideo]]&#039;&#039; musicvideodetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific music video&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicvideoid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MusicVideo&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;musicvideodetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MusicVideo&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMusicVideos ====&lt;br /&gt;
Retrieve all music videos&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MusicVideo|Video.Fields.MusicVideo]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|[[#List.Filter.MusicVideos|List.Filter.MusicVideos]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.MusicVideo|Video.Details.MusicVideo]] ]&#039;&#039; musicvideos]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all music videos&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MusicVideo&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;year&amp;quot;: {&lt;br /&gt;
              &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;director&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;studio&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tag&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.MusicVideos&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;musicvideos&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MusicVideo&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetRecentlyAddedEpisodes ====&lt;br /&gt;
Retrieve all recently added tv episodes&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Episode|Video.Fields.Episode]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Episode|Video.Details.Episode]] ]&#039;&#039; episodes]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all recently added tv episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Episode&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;episodes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Episode&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetRecentlyAddedMovies ====&lt;br /&gt;
Retrieve all recently added movies&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Movie|Video.Fields.Movie]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Movie|Video.Details.Movie]] ]&#039;&#039; movies]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all recently added movies&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;movies&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetRecentlyAddedMusicVideos ====&lt;br /&gt;
Retrieve all recently added music videos&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MusicVideo|Video.Fields.MusicVideo]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.MusicVideo|Video.Details.MusicVideo]] ]&#039;&#039; musicvideos]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all recently added music videos&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MusicVideo&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;musicvideos&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MusicVideo&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetSeasonDetails ====&lt;br /&gt;
Retrieve details about a specific tv show season&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; seasonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Season|Video.Fields.Season]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.Season|Video.Details.Season]]&#039;&#039; seasondetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific tv show season&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;seasonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Season&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;seasondetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Season&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetSeasons ====&lt;br /&gt;
Retrieve all tv seasons&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Season|Video.Fields.Season]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Season|Video.Details.Season]] ]&#039;&#039; seasons]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all tv seasons&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Season&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;seasons&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Season&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetTVShowDetails ====&lt;br /&gt;
Retrieve details about a specific tv show&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.TVShow|Video.Fields.TVShow]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.TVShow|Video.Details.TVShow]]&#039;&#039; tvshowdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific tv show&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.TVShow&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;tvshowdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.TVShow&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetTVShows ====&lt;br /&gt;
Retrieve all tv shows&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.TVShow|Video.Fields.TVShow]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|[[#List.Filter.TVShows|List.Filter.TVShows]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.TVShow|Video.Details.TVShow]] ]&#039;&#039; tvshows]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all tv shows&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.TVShow&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;year&amp;quot;: {&lt;br /&gt;
              &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;actor&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;studio&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tag&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.TVShows&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;tvshows&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.TVShow&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetTags ====&lt;br /&gt;
Retrieve all tags&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; type&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Fields.Tag|Library.Fields.Tag]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Library.Details.Tag|Library.Details.Tag]] ]&#039;&#039; tags&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all tags&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;movie&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshow&amp;quot;,&lt;br /&gt;
        &amp;quot;musicvideo&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Fields.Tag&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;tags&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Details.Tag&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RefreshEpisode ====&lt;br /&gt;
Refresh the given episode in the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; ignorenfo = False] (Whether or not to ignore a local NFO if present.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; title = &amp;quot;&amp;quot;] (Title to use for searching (instead of determining it from the item&#039;s filename/path).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Refresh the given episode in the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to ignore a local NFO if present.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ignorenfo&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Title to use for searching (instead of determining it from the item&#039;s filename/path).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RefreshMovie ====&lt;br /&gt;
Refresh the given movie in the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; ignorenfo = False] (Whether or not to ignore a local NFO if present.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; title = &amp;quot;&amp;quot;] (Title to use for searching (instead of determining it from the item&#039;s filename/path).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Refresh the given movie in the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movieid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to ignore a local NFO if present.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ignorenfo&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Title to use for searching (instead of determining it from the item&#039;s filename/path).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RefreshMusicVideo ====&lt;br /&gt;
Refresh the given music video in the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; ignorenfo = False] (Whether or not to ignore a local NFO if present.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; title = &amp;quot;&amp;quot;] (Title to use for searching (instead of determining it from the item&#039;s filename/path).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Refresh the given music video in the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicvideoid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to ignore a local NFO if present.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ignorenfo&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Title to use for searching (instead of determining it from the item&#039;s filename/path).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RefreshTVShow ====&lt;br /&gt;
Refresh the given tv show in the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; ignorenfo = False] (Whether or not to ignore a local NFO if present.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; refreshepisodes = False] (Whether or not to refresh all episodes belonging to the TV show.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; title = &amp;quot;&amp;quot;] (Title to use for searching (instead of determining it from the item&#039;s filename/path).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Refresh the given tv show in the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to ignore a local NFO if present.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ignorenfo&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to refresh all episodes belonging to the TV show.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;refreshepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Title to use for searching (instead of determining it from the item&#039;s filename/path).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RemoveEpisode ====&lt;br /&gt;
Removes the given episode from the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Removes the given episode from the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RemoveMovie ====&lt;br /&gt;
Removes the given movie from the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Removes the given movie from the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movieid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RemoveMusicVideo ====&lt;br /&gt;
Removes the given music video from the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Removes the given music video from the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicvideoid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RemoveTVShow ====&lt;br /&gt;
Removes the given tv show from the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Removes the given tv show from the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.Scan ====&lt;br /&gt;
Scans the video sources for new library items&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; directory = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Scans the video sources for new library items&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to show the progress bar or any other GUI dialog&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showdialogs&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetEpisodeDetails ====&lt;br /&gt;
Update the given episode with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; runtime = None] (Runtime in seconds)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; director = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; writer = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; firstaired = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; productioncode = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; season = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; episode = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaltitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; fanart = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Video.Resume|Video.Resume]]&#039;&#039; resume = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Ratings.Set|Video.Ratings.Set]]&#039;&#039; ratings]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; dateadded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.UniqueID.Set|Media.UniqueID.Set]]&#039;&#039; uniqueid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given episode with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;runtime&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;firstaired&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;productioncode&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;season&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episode&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaltitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fanart&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Ratings.Set&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ratings&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;dateadded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetMovieDetails ====&lt;br /&gt;
Update the given movie with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; runtime = None] (Runtime in seconds)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; director = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; studio = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; year = None] (linked with premiered. Overridden by premiered parameter)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; mpaa = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; imdbnumber = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaltitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; trailer = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; tagline = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plotoutline = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; writer = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; country = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; top250 = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sorttitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; set = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; showlink = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; fanart = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; tag = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Video.Resume|Video.Resume]]&#039;&#039; resume = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Ratings.Set|Video.Ratings.Set]]&#039;&#039; ratings]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; dateadded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; premiered = None] (linked with year. Overrides year)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.UniqueID.Set|Media.UniqueID.Set]]&#039;&#039; uniqueid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given movie with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movieid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;runtime&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;linked with premiered. Overridden by premiered parameter&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;year&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mpaa&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;imdbnumber&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaltitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;trailer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tagline&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plotoutline&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;country&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;top250&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sorttitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;set&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showlink&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fanart&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Ratings.Set&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ratings&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;dateadded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;linked with year. Overrides year&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;premiered&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetMovieSetDetails ====&lt;br /&gt;
Update the given movie set with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given movie set with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetMusicVideoDetails ====&lt;br /&gt;
Update the given music video with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; runtime = None] (Runtime in seconds)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; director = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; studio = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; year = None] (linked with premiered. Overridden by premiered parameter)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; album = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; artist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; track = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; fanart = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; tag = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Video.Resume|Video.Resume]]&#039;&#039; resume = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; dateadded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; premiered = None] (linked with year. Overrides year)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given music video with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicvideoid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;runtime&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;linked with premiered. Overridden by premiered parameter&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;year&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;track&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fanart&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;dateadded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;linked with year. Overrides year&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;premiered&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetSeasonDetails ====&lt;br /&gt;
Update the given season with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; seasonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given season with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;seasonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetTVShowDetails ====&lt;br /&gt;
Update the given tvshow with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; studio = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; mpaa = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; imdbnumber = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; premiered = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaltitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sorttitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; episodeguide = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; fanart = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; tag = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Ratings.Set|Video.Ratings.Set]]&#039;&#039; ratings]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; dateadded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; runtime = None] (Runtime in seconds)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; status = None] (Valid values: &#039;returning series&#039;, &#039;in production&#039;, &#039;planned&#039;, &#039;cancelled&#039;, &#039;ended&#039;)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.UniqueID.Set|Media.UniqueID.Set]]&#039;&#039; uniqueid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given tvshow with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mpaa&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;imdbnumber&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;premiered&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaltitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sorttitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeguide&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fanart&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Ratings.Set&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ratings&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;dateadded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;runtime&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Valid values: &#039;returning series&#039;, &#039;in production&#039;, &#039;planned&#039;, &#039;cancelled&#039;, &#039;ended&#039;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;status&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== XBMC ===&lt;br /&gt;
==== XBMC.GetInfoBooleans ====&lt;br /&gt;
Retrieve info booleans about Kodi and the system&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[string]&#039;&#039; booleans&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object (Object containing key-value pairs of the retrieved info booleans)&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve info booleans about Kodi and the system&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;booleans&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Object containing key-value pairs of the retrieved info booleans&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== XBMC.GetInfoLabels ====&lt;br /&gt;
Retrieve info labels about Kodi and the system&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[string]&#039;&#039; labels (See http://kodi.wiki/view/InfoLabels for a list of possible info labels)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object (Object containing key-value pairs of the retrieved info labels)&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve info labels about Kodi and the system&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;See http://kodi.wiki/view/InfoLabels for a list of possible info labels&amp;quot;,&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;labels&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Object containing key-value pairs of the retrieved info labels&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
== Global Types ==&lt;br /&gt;
=== Addon ===&lt;br /&gt;
==== Addon.Content ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;audio&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;,&lt;br /&gt;
    &amp;quot;executable&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Addon.Content&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addon.Details ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; addonid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; author]&lt;br /&gt;
* [&#039;&#039;mixed: boolean|string&#039;&#039; broken]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; dependencies]&lt;br /&gt;
* [&#039;&#039;mixed: boolean|string&#039;&#039; deprecated]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; description]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disclaimer]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; enabled]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; extrainfo]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; fanart]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; installed]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; name]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; path]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; summary]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* &#039;&#039;[[#Addon.Types|Addon.Types]]&#039;&#039; type&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; version]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Addon.Details&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;addonid&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;author&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;broken&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;addonid&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;optional&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;version&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;deprecated&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disclaimer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;enabled&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;extrainfo&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;key&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;value&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fanart&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;installed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;path&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;summary&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Types&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;version&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addon.Fields ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Addon.Fields&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;name&amp;quot;,&lt;br /&gt;
      &amp;quot;version&amp;quot;,&lt;br /&gt;
      &amp;quot;summary&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;path&amp;quot;,&lt;br /&gt;
      &amp;quot;author&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;disclaimer&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;dependencies&amp;quot;,&lt;br /&gt;
      &amp;quot;broken&amp;quot;,&lt;br /&gt;
      &amp;quot;extrainfo&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;enabled&amp;quot;,&lt;br /&gt;
      &amp;quot;installed&amp;quot;,&lt;br /&gt;
      &amp;quot;deprecated&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addon.Types ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.player.musicviz&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.gui.skin&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.pvrclient&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.inputstream&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.gameclient&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.peripheral&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.script&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.weather&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.subtitle.module&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.lyrics&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.albums&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.artists&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.movies&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.musicvideos&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.tvshows&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.ui.screensaver&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.pluginsource&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.repository&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.webinterface&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.service&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.audioencoder&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.context.item&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.audiodecoder&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.images&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.language&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.uisounds&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.games&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.font&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.vfs&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.imagedecoder&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.library&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.library&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.module&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.game.controller&amp;quot;,&lt;br /&gt;
    &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.video&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.audio&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.image&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.executable&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.addon.game&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Addon.Types&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Application ===&lt;br /&gt;
==== Application.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;volume&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;volume&amp;quot;,&lt;br /&gt;
    &amp;quot;muted&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;,&lt;br /&gt;
    &amp;quot;version&amp;quot;,&lt;br /&gt;
    &amp;quot;sorttokens&amp;quot;,&lt;br /&gt;
    &amp;quot;language&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Application.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Application.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; language]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; muted]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; name]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; sorttokens]&lt;br /&gt;
* [&#039;&#039;object&#039;&#039; version]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; volume]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Application.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;language&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Current language code and region e.g. en_GB&amp;quot;,&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;muted&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sorttokens&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Articles ignored during sorting when ignorearticle is enabled.&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;version&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;major&amp;quot;: {&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;minor&amp;quot;: {&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;revision&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: null,&lt;br /&gt;
          &amp;quot;type&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;tag&amp;quot;: {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;prealpha&amp;quot;,&lt;br /&gt;
            &amp;quot;alpha&amp;quot;,&lt;br /&gt;
            &amp;quot;beta&amp;quot;,&lt;br /&gt;
            &amp;quot;releasecandidate&amp;quot;,&lt;br /&gt;
            &amp;quot;stable&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;tagversion&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;volume&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 100,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Array ===&lt;br /&gt;
==== Array.Integer ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Array.Integer&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Array.String ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Array.String&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Audio ===&lt;br /&gt;
==== Audio.Album.ReleaseType ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;album&amp;quot;,&lt;br /&gt;
    &amp;quot;single&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Artist.Roles ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Artist.Roles&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;The various roles contributed by an artist to one or more songs&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Contributors ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Contributors&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;The artist and the role they contribute to a song&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;role&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Album ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Media|Audio.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; albumduration]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumlabel]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumstatus]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; compilation]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; description]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isboxset]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastplayed]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; mood]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; musicbrainzalbumid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; musicbrainzreleasegroupid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; playcount]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Album.ReleaseType|Audio.Album.ReleaseType]]&#039;&#039; releasetype = album]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Details.Genres|Audio.Details.Genres]]&#039;&#039; songgenres]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; sourceid]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; style]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; theme]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; totaldiscs]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; type]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Audio.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;albumduration&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumstatus&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;compilation&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isboxset&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mood&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzalbumid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzreleasegroupid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;releasetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songgenres&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Genres&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;style&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;theme&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;totaldiscs&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Artist ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Base|Audio.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; artist&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; artistid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; born]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; compilationartist]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; description]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; died]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disambiguation]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disbanded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; formed]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; gender]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; instrument]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isalbumartist]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; mood]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; musicbrainzartistid]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Artist.Roles|Audio.Artist.Roles]]&#039;&#039; roles]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Details.Genres|Audio.Details.Genres]]&#039;&#039; songgenres]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sortname]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; sourceid]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; style]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; type]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; yearsactive]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Audio.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Artist&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;artist&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;born&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;compilationartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;died&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disambiguation&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disbanded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;formed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;gender&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;instrument&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isalbumartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mood&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;roles&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Artist.Roles&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songgenres&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Genres&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sortname&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;style&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;yearsactive&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Media.Details.Base|Media.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Media.Artwork|Media.Artwork]]&#039;&#039; art]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; dateadded]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; genre]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Media.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;art&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Genres ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Genres&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;title&amp;quot;: {&lt;br /&gt;
        &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Media ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Base|Audio.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; artist]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; artistid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayartist]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; musicbrainzalbumartistid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaldate]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; releasedate]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sortartist]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Audio.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;artist&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzalbumartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaldate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;releasedate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sortartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Role ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; roleid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Role&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Song ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Media|Audio.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; album]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; albumartist]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; albumartistid]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Album.ReleaseType|Audio.Album.ReleaseType]]&#039;&#039; albumreleasetype = album]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; bitrate]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; bpm]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; channels]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; comment]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Contributors|Audio.Contributors]]&#039;&#039; contributors]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; disc]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disctitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displaycomposer]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayconductor]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displaylyricist]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayorchestra]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; duration]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; file]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; genreid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastplayed]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lyrics]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mood]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; musicbrainzartistid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; musicbrainztrackid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; playcount]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; samplerate]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; songid&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; sourceid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; track]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Audio.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;album&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumreleasetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;bitrate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;bpm&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channels&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;comment&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;contributors&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Contributors&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disc&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disctitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displaycomposer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayconductor&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displaylyricist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayorchestra&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;duration&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lyrics&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mood&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainztrackid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;samplerate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;track&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Fields.Album ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the songgenres, artistid and/or sourceid fields will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;theme&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;albumlabel&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;displayartist&amp;quot;,&lt;br /&gt;
      &amp;quot;compilation&amp;quot;,&lt;br /&gt;
      &amp;quot;releasetype&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;sortartist&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzreleasegroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;songgenres&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;sourceid&amp;quot;,&lt;br /&gt;
      &amp;quot;isboxset&amp;quot;,&lt;br /&gt;
      &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
      &amp;quot;releasedate&amp;quot;,&lt;br /&gt;
      &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
      &amp;quot;albumstatus&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;,&lt;br /&gt;
      &amp;quot;albumduration&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Fields.Artist ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Fields.Artist&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the (song)genreid/genre, roleid/role or sourceid fields will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;instrument&amp;quot;,&lt;br /&gt;
      &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;born&amp;quot;,&lt;br /&gt;
      &amp;quot;formed&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;died&amp;quot;,&lt;br /&gt;
      &amp;quot;disbanded&amp;quot;,&lt;br /&gt;
      &amp;quot;yearsactive&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;compilationartist&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;roles&amp;quot;,&lt;br /&gt;
      &amp;quot;songgenres&amp;quot;,&lt;br /&gt;
      &amp;quot;isalbumartist&amp;quot;,&lt;br /&gt;
      &amp;quot;sortname&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;gender&amp;quot;,&lt;br /&gt;
      &amp;quot;disambiguation&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;sourceid&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Fields.Role ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Fields.Role&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Fields.Song ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the genreid, artistid, albumartistid and/or sourceid fields will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;album&amp;quot;,&lt;br /&gt;
      &amp;quot;track&amp;quot;,&lt;br /&gt;
      &amp;quot;duration&amp;quot;,&lt;br /&gt;
      &amp;quot;comment&amp;quot;,&lt;br /&gt;
      &amp;quot;lyrics&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainztrackid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;disc&amp;quot;,&lt;br /&gt;
      &amp;quot;genreid&amp;quot;,&lt;br /&gt;
      &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;displayartist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;albumreleasetype&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;contributors&amp;quot;,&lt;br /&gt;
      &amp;quot;displaycomposer&amp;quot;,&lt;br /&gt;
      &amp;quot;displayconductor&amp;quot;,&lt;br /&gt;
      &amp;quot;displayorchestra&amp;quot;,&lt;br /&gt;
      &amp;quot;displaylyricist&amp;quot;,&lt;br /&gt;
      &amp;quot;sortartist&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;sourceid&amp;quot;,&lt;br /&gt;
      &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
      &amp;quot;releasedate&amp;quot;,&lt;br /&gt;
      &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
      &amp;quot;bpm&amp;quot;,&lt;br /&gt;
      &amp;quot;samplerate&amp;quot;,&lt;br /&gt;
      &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
      &amp;quot;channels&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;missingartistid&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;missingartistid&amp;quot;,&lt;br /&gt;
    &amp;quot;librarylastupdated&amp;quot;,&lt;br /&gt;
    &amp;quot;librarylastcleaned&amp;quot;,&lt;br /&gt;
    &amp;quot;artistlinksupdated&amp;quot;,&lt;br /&gt;
    &amp;quot;songslastadded&amp;quot;,&lt;br /&gt;
    &amp;quot;albumslastadded&amp;quot;,&lt;br /&gt;
    &amp;quot;artistslastadded&amp;quot;,&lt;br /&gt;
    &amp;quot;genreslastadded&amp;quot;,&lt;br /&gt;
    &amp;quot;songsmodified&amp;quot;,&lt;br /&gt;
    &amp;quot;albumsmodified&amp;quot;,&lt;br /&gt;
    &amp;quot;artistsmodified&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumslastadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumsmodified]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; artistlinksupdated]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; artistslastadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; artistsmodified]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; genreslastadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; librarylastcleaned]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; librarylastupdated]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; missingartistid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; songslastadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; songsmodified]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;albumslastadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumsmodified&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistlinksupdated&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistslastadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistsmodified&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genreslastadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;librarylastcleaned&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;librarylastupdated&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;missingartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songslastadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songsmodified&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Configuration.Notifications|Configuration.Notifications]]&#039;&#039; notifications&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Configuration&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;notifications&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Configuration.Notifications&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;required&amp;quot;: true,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Configuration.Notifications ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; application&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; audiolibrary&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; gui&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; input&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; other&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; player&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; playlist&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; pvr&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; system&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; videolibrary&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Configuration.Notifications&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;application&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;audiolibrary&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;gui&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;input&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;other&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;player&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playlist&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;pvr&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;system&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;videolibrary&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Favourite ===&lt;br /&gt;
==== Favourite.Details.Favourite ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; path]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; title&lt;br /&gt;
* &#039;&#039;[[#Favourite.Type|Favourite.Type]]&#039;&#039; type&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; window]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; windowparameter]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Favourite.Details.Favourite&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;path&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;window&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;windowparameter&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Favourite.Fields.Favourite ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Favourite.Fields.Favourite&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;window&amp;quot;,&lt;br /&gt;
      &amp;quot;windowparameter&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;path&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Favourite.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;media&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;media&amp;quot;,&lt;br /&gt;
    &amp;quot;window&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;,&lt;br /&gt;
    &amp;quot;androidapp&amp;quot;,&lt;br /&gt;
    &amp;quot;unknown&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Favourite.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Files ===&lt;br /&gt;
==== Files.Media ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;video&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;music&amp;quot;,&lt;br /&gt;
    &amp;quot;pictures&amp;quot;,&lt;br /&gt;
    &amp;quot;files&amp;quot;,&lt;br /&gt;
    &amp;quot;programs&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== GUI ===&lt;br /&gt;
==== GUI.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;currentwindow&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;currentwindow&amp;quot;,&lt;br /&gt;
    &amp;quot;currentcontrol&amp;quot;,&lt;br /&gt;
    &amp;quot;skin&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreen&amp;quot;,&lt;br /&gt;
    &amp;quot;stereoscopicmode&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;GUI.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;object&#039;&#039; currentcontrol]&lt;br /&gt;
* [&#039;&#039;object&#039;&#039; currentwindow]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; fullscreen]&lt;br /&gt;
* [&#039;&#039;object&#039;&#039; skin]&lt;br /&gt;
* [&#039;&#039;[[#GUI.Stereoscopy.Mode|GUI.Stereoscopy.Mode]]&#039;&#039; stereoscopicmode]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;GUI.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;currentcontrol&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;label&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;currentwindow&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;label&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fullscreen&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;skin&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;stereoscopicmode&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Stereoscopy.Mode&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.Stereoscopy.Mode ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; label&lt;br /&gt;
* &#039;&#039;string&#039;&#039; mode&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;GUI.Stereoscopy.Mode&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;label&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mode&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;off&amp;quot;,&lt;br /&gt;
        &amp;quot;split_vertical&amp;quot;,&lt;br /&gt;
        &amp;quot;split_horizontal&amp;quot;,&lt;br /&gt;
        &amp;quot;row_interleaved&amp;quot;,&lt;br /&gt;
        &amp;quot;hardware_based&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_cyan_red&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_green_magenta&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_yellow_blue&amp;quot;,&lt;br /&gt;
        &amp;quot;monoscopic&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.Window ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;addon&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;addon&amp;quot;,&lt;br /&gt;
    &amp;quot;addonbrowser&amp;quot;,&lt;br /&gt;
    &amp;quot;addoninformation&amp;quot;,&lt;br /&gt;
    &amp;quot;addonsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;appearancesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;busydialog&amp;quot;,&lt;br /&gt;
    &amp;quot;busydialognocancel&amp;quot;,&lt;br /&gt;
    &amp;quot;contentsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;contextmenu&amp;quot;,&lt;br /&gt;
    &amp;quot;eventlog&amp;quot;,&lt;br /&gt;
    &amp;quot;extendedprogressdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;favourites&amp;quot;,&lt;br /&gt;
    &amp;quot;filebrowser&amp;quot;,&lt;br /&gt;
    &amp;quot;filemanager&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreengame&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreeninfo&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenlivetv&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenlivetvinput&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenlivetvpreview&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenradio&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenradioinput&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenradiopreview&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenvideo&amp;quot;,&lt;br /&gt;
    &amp;quot;gameadvancedsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;gamecontrollers&amp;quot;,&lt;br /&gt;
    &amp;quot;gameosd&amp;quot;,&lt;br /&gt;
    &amp;quot;gamepadinput&amp;quot;,&lt;br /&gt;
    &amp;quot;games&amp;quot;,&lt;br /&gt;
    &amp;quot;gamesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;gamestretchmode&amp;quot;,&lt;br /&gt;
    &amp;quot;gamevideofilter&amp;quot;,&lt;br /&gt;
    &amp;quot;gamevideorotation&amp;quot;,&lt;br /&gt;
    &amp;quot;gamevolume&amp;quot;,&lt;br /&gt;
    &amp;quot;home&amp;quot;,&lt;br /&gt;
    &amp;quot;infoprovidersettings&amp;quot;,&lt;br /&gt;
    &amp;quot;interfacesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;libexportsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;locksettings&amp;quot;,&lt;br /&gt;
    &amp;quot;loginscreen&amp;quot;,&lt;br /&gt;
    &amp;quot;mediafilter&amp;quot;,&lt;br /&gt;
    &amp;quot;mediasettings&amp;quot;,&lt;br /&gt;
    &amp;quot;mediasource&amp;quot;,&lt;br /&gt;
    &amp;quot;movieinformation&amp;quot;,&lt;br /&gt;
    &amp;quot;music&amp;quot;,&lt;br /&gt;
    &amp;quot;musicinformation&amp;quot;,&lt;br /&gt;
    &amp;quot;musicosd&amp;quot;,&lt;br /&gt;
    &amp;quot;musicplaylist&amp;quot;,&lt;br /&gt;
    &amp;quot;musicplaylisteditor&amp;quot;,&lt;br /&gt;
    &amp;quot;networksetup&amp;quot;,&lt;br /&gt;
    &amp;quot;notification&amp;quot;,&lt;br /&gt;
    &amp;quot;numericinput&amp;quot;,&lt;br /&gt;
    &amp;quot;okdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;osdaudiosettings&amp;quot;,&lt;br /&gt;
    &amp;quot;osdcmssettings&amp;quot;,&lt;br /&gt;
    &amp;quot;osdsubtitlesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;osdvideosettings&amp;quot;,&lt;br /&gt;
    &amp;quot;peripheralsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;pictureinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;pictures&amp;quot;,&lt;br /&gt;
    &amp;quot;playercontrols&amp;quot;,&lt;br /&gt;
    &amp;quot;playerprocessinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;playersettings&amp;quot;,&lt;br /&gt;
    &amp;quot;profiles&amp;quot;,&lt;br /&gt;
    &amp;quot;profilesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;programs&amp;quot;,&lt;br /&gt;
    &amp;quot;progressdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrchannelguide&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrchannelmanager&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrchannelscan&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrgroupmanager&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrguidecontrols&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrguideinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrguidesearch&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrosdchannels&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrosdguide&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrosdteletext&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrradiordsinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrrecordinginfo&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrtimersetting&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrupdateprogress&amp;quot;,&lt;br /&gt;
    &amp;quot;radiochannels&amp;quot;,&lt;br /&gt;
    &amp;quot;radioguide&amp;quot;,&lt;br /&gt;
    &amp;quot;radiorecordings&amp;quot;,&lt;br /&gt;
    &amp;quot;radiosearch&amp;quot;,&lt;br /&gt;
    &amp;quot;radiotimerrules&amp;quot;,&lt;br /&gt;
    &amp;quot;radiotimers&amp;quot;,&lt;br /&gt;
    &amp;quot;screencalibration&amp;quot;,&lt;br /&gt;
    &amp;quot;screensaver&amp;quot;,&lt;br /&gt;
    &amp;quot;seekbar&amp;quot;,&lt;br /&gt;
    &amp;quot;selectdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;servicesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;settings&amp;quot;,&lt;br /&gt;
    &amp;quot;shutdownmenu&amp;quot;,&lt;br /&gt;
    &amp;quot;skinsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;sliderdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;slideshow&amp;quot;,&lt;br /&gt;
    &amp;quot;smartplaylisteditor&amp;quot;,&lt;br /&gt;
    &amp;quot;smartplaylistrule&amp;quot;,&lt;br /&gt;
    &amp;quot;songinformation&amp;quot;,&lt;br /&gt;
    &amp;quot;splash&amp;quot;,&lt;br /&gt;
    &amp;quot;startup&amp;quot;,&lt;br /&gt;
    &amp;quot;startwindow&amp;quot;,&lt;br /&gt;
    &amp;quot;submenu&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlesearch&amp;quot;,&lt;br /&gt;
    &amp;quot;systeminfo&amp;quot;,&lt;br /&gt;
    &amp;quot;systemsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;teletext&amp;quot;,&lt;br /&gt;
    &amp;quot;textviewer&amp;quot;,&lt;br /&gt;
    &amp;quot;tvchannels&amp;quot;,&lt;br /&gt;
    &amp;quot;tvguide&amp;quot;,&lt;br /&gt;
    &amp;quot;tvrecordings&amp;quot;,&lt;br /&gt;
    &amp;quot;tvsearch&amp;quot;,&lt;br /&gt;
    &amp;quot;tvtimerrules&amp;quot;,&lt;br /&gt;
    &amp;quot;tvtimers&amp;quot;,&lt;br /&gt;
    &amp;quot;videobookmarks&amp;quot;,&lt;br /&gt;
    &amp;quot;videomenu&amp;quot;,&lt;br /&gt;
    &amp;quot;videoosd&amp;quot;,&lt;br /&gt;
    &amp;quot;videoplaylist&amp;quot;,&lt;br /&gt;
    &amp;quot;videos&amp;quot;,&lt;br /&gt;
    &amp;quot;videotimeseek&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualkeyboard&amp;quot;,&lt;br /&gt;
    &amp;quot;visualisation&amp;quot;,&lt;br /&gt;
    &amp;quot;visualisationpresetlist&amp;quot;,&lt;br /&gt;
    &amp;quot;volumebar&amp;quot;,&lt;br /&gt;
    &amp;quot;weather&amp;quot;,&lt;br /&gt;
    &amp;quot;yesnodialog&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;GUI.Window&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Global ===&lt;br /&gt;
==== Global.IncrementDecrement ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;increment&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;increment&amp;quot;,&lt;br /&gt;
    &amp;quot;decrement&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.IncrementDecrement&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Global.String.NotEmpty ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
  &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Global.Time ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; hours&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; milliseconds&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; minutes&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; seconds&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;hours&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;milliseconds&amp;quot;: {&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 999,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minutes&amp;quot;: {&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 59,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: {&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 59,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Global.Toggle ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;toggle&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Global.Weekday ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;monday&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;monday&amp;quot;,&lt;br /&gt;
    &amp;quot;tuesday&amp;quot;,&lt;br /&gt;
    &amp;quot;wednesday&amp;quot;,&lt;br /&gt;
    &amp;quot;thursday&amp;quot;,&lt;br /&gt;
    &amp;quot;friday&amp;quot;,&lt;br /&gt;
    &amp;quot;saturday&amp;quot;,&lt;br /&gt;
    &amp;quot;sunday&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.Weekday&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Input ===&lt;br /&gt;
==== Input.Action ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;analogfastforward&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;analogfastforward&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmove&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmovexleft&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmovexright&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmoveydown&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmoveyup&amp;quot;,&lt;br /&gt;
    &amp;quot;analogrewind&amp;quot;,&lt;br /&gt;
    &amp;quot;analogseekback&amp;quot;,&lt;br /&gt;
    &amp;quot;analogseekforward&amp;quot;,&lt;br /&gt;
    &amp;quot;aspectratio&amp;quot;,&lt;br /&gt;
    &amp;quot;audiodelay&amp;quot;,&lt;br /&gt;
    &amp;quot;audiodelayminus&amp;quot;,&lt;br /&gt;
    &amp;quot;audiodelayplus&amp;quot;,&lt;br /&gt;
    &amp;quot;audionextlanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;audiotoggledigital&amp;quot;,&lt;br /&gt;
    &amp;quot;back&amp;quot;,&lt;br /&gt;
    &amp;quot;backspace&amp;quot;,&lt;br /&gt;
    &amp;quot;bigstepback&amp;quot;,&lt;br /&gt;
    &amp;quot;bigstepforward&amp;quot;,&lt;br /&gt;
    &amp;quot;blue&amp;quot;,&lt;br /&gt;
    &amp;quot;browsesubtitle&amp;quot;,&lt;br /&gt;
    &amp;quot;channeldown&amp;quot;,&lt;br /&gt;
    &amp;quot;channelnumberseparator&amp;quot;,&lt;br /&gt;
    &amp;quot;channelup&amp;quot;,&lt;br /&gt;
    &amp;quot;chapterorbigstepback&amp;quot;,&lt;br /&gt;
    &amp;quot;chapterorbigstepforward&amp;quot;,&lt;br /&gt;
    &amp;quot;close&amp;quot;,&lt;br /&gt;
    &amp;quot;codecinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;contextmenu&amp;quot;,&lt;br /&gt;
    &amp;quot;copy&amp;quot;,&lt;br /&gt;
    &amp;quot;createbookmark&amp;quot;,&lt;br /&gt;
    &amp;quot;createepisodebookmark&amp;quot;,&lt;br /&gt;
    &amp;quot;cursorleft&amp;quot;,&lt;br /&gt;
    &amp;quot;cursorright&amp;quot;,&lt;br /&gt;
    &amp;quot;cyclesubtitle&amp;quot;,&lt;br /&gt;
    &amp;quot;cycletonemapmethod&amp;quot;,&lt;br /&gt;
    &amp;quot;decreasepar&amp;quot;,&lt;br /&gt;
    &amp;quot;decreaserating&amp;quot;,&lt;br /&gt;
    &amp;quot;decreasevisrating&amp;quot;,&lt;br /&gt;
    &amp;quot;delete&amp;quot;,&lt;br /&gt;
    &amp;quot;doubleclick&amp;quot;,&lt;br /&gt;
    &amp;quot;down&amp;quot;,&lt;br /&gt;
    &amp;quot;enter&amp;quot;,&lt;br /&gt;
    &amp;quot;error&amp;quot;,&lt;br /&gt;
    &amp;quot;fastforward&amp;quot;,&lt;br /&gt;
    &amp;quot;filter&amp;quot;,&lt;br /&gt;
    &amp;quot;filterclear&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms2&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms3&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms4&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms5&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms6&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms7&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms8&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms9&amp;quot;,&lt;br /&gt;
    &amp;quot;firstpage&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreen&amp;quot;,&lt;br /&gt;
    &amp;quot;green&amp;quot;,&lt;br /&gt;
    &amp;quot;guiprofile&amp;quot;,&lt;br /&gt;
    &amp;quot;hdrtoggle&amp;quot;,&lt;br /&gt;
    &amp;quot;highlight&amp;quot;,&lt;br /&gt;
    &amp;quot;increasepar&amp;quot;,&lt;br /&gt;
    &amp;quot;increaserating&amp;quot;,&lt;br /&gt;
    &amp;quot;increasevisrating&amp;quot;,&lt;br /&gt;
    &amp;quot;info&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms2&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms3&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms4&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms5&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms6&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms7&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms8&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms9&amp;quot;,&lt;br /&gt;
    &amp;quot;lastpage&amp;quot;,&lt;br /&gt;
    &amp;quot;left&amp;quot;,&lt;br /&gt;
    &amp;quot;leftclick&amp;quot;,&lt;br /&gt;
    &amp;quot;lockpreset&amp;quot;,&lt;br /&gt;
    &amp;quot;longclick&amp;quot;,&lt;br /&gt;
    &amp;quot;longpress&amp;quot;,&lt;br /&gt;
    &amp;quot;menu&amp;quot;,&lt;br /&gt;
    &amp;quot;middleclick&amp;quot;,&lt;br /&gt;
    &amp;quot;mousedrag&amp;quot;,&lt;br /&gt;
    &amp;quot;mousedragend&amp;quot;,&lt;br /&gt;
    &amp;quot;mousemove&amp;quot;,&lt;br /&gt;
    &amp;quot;move&amp;quot;,&lt;br /&gt;
    &amp;quot;moveitemdown&amp;quot;,&lt;br /&gt;
    &amp;quot;moveitemup&amp;quot;,&lt;br /&gt;
    &amp;quot;mute&amp;quot;,&lt;br /&gt;
    &amp;quot;nextcalibration&amp;quot;,&lt;br /&gt;
    &amp;quot;nextchannelgroup&amp;quot;,&lt;br /&gt;
    &amp;quot;nextletter&amp;quot;,&lt;br /&gt;
    &amp;quot;nextpicture&amp;quot;,&lt;br /&gt;
    &amp;quot;nextpreset&amp;quot;,&lt;br /&gt;
    &amp;quot;nextresolution&amp;quot;,&lt;br /&gt;
    &amp;quot;nextscene&amp;quot;,&lt;br /&gt;
    &amp;quot;nextstereomode&amp;quot;,&lt;br /&gt;
    &amp;quot;nextsubtitle&amp;quot;,&lt;br /&gt;
    &amp;quot;noop&amp;quot;,&lt;br /&gt;
    &amp;quot;number0&amp;quot;,&lt;br /&gt;
    &amp;quot;number1&amp;quot;,&lt;br /&gt;
    &amp;quot;number2&amp;quot;,&lt;br /&gt;
    &amp;quot;number3&amp;quot;,&lt;br /&gt;
    &amp;quot;number4&amp;quot;,&lt;br /&gt;
    &amp;quot;number5&amp;quot;,&lt;br /&gt;
    &amp;quot;number6&amp;quot;,&lt;br /&gt;
    &amp;quot;number7&amp;quot;,&lt;br /&gt;
    &amp;quot;number8&amp;quot;,&lt;br /&gt;
    &amp;quot;number9&amp;quot;,&lt;br /&gt;
    &amp;quot;osd&amp;quot;,&lt;br /&gt;
    &amp;quot;pagedown&amp;quot;,&lt;br /&gt;
    &amp;quot;pageup&amp;quot;,&lt;br /&gt;
    &amp;quot;pangesture&amp;quot;,&lt;br /&gt;
    &amp;quot;parentdir&amp;quot;,&lt;br /&gt;
    &amp;quot;parentfolder&amp;quot;,&lt;br /&gt;
    &amp;quot;pause&amp;quot;,&lt;br /&gt;
    &amp;quot;play&amp;quot;,&lt;br /&gt;
    &amp;quot;playerdebug&amp;quot;,&lt;br /&gt;
    &amp;quot;playerdebugvideo&amp;quot;,&lt;br /&gt;
    &amp;quot;playerprocessinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;playerprogramselect&amp;quot;,&lt;br /&gt;
    &amp;quot;playerresolutionselect&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;playnext&amp;quot;,&lt;br /&gt;
    &amp;quot;playpause&amp;quot;,&lt;br /&gt;
    &amp;quot;playpvr&amp;quot;,&lt;br /&gt;
    &amp;quot;playpvrradio&amp;quot;,&lt;br /&gt;
    &amp;quot;playpvrtv&amp;quot;,&lt;br /&gt;
    &amp;quot;previouschannelgroup&amp;quot;,&lt;br /&gt;
    &amp;quot;previousmenu&amp;quot;,&lt;br /&gt;
    &amp;quot;previouspicture&amp;quot;,&lt;br /&gt;
    &amp;quot;previouspreset&amp;quot;,&lt;br /&gt;
    &amp;quot;previousscene&amp;quot;,&lt;br /&gt;
    &amp;quot;previousstereomode&amp;quot;,&lt;br /&gt;
    &amp;quot;prevletter&amp;quot;,&lt;br /&gt;
    &amp;quot;queue&amp;quot;,&lt;br /&gt;
    &amp;quot;randompreset&amp;quot;,&lt;br /&gt;
    &amp;quot;record&amp;quot;,&lt;br /&gt;
    &amp;quot;red&amp;quot;,&lt;br /&gt;
    &amp;quot;reloadkeymaps&amp;quot;,&lt;br /&gt;
    &amp;quot;rename&amp;quot;,&lt;br /&gt;
    &amp;quot;resetcalibration&amp;quot;,&lt;br /&gt;
    &amp;quot;rewind&amp;quot;,&lt;br /&gt;
    &amp;quot;right&amp;quot;,&lt;br /&gt;
    &amp;quot;rightclick&amp;quot;,&lt;br /&gt;
    &amp;quot;rotate&amp;quot;,&lt;br /&gt;
    &amp;quot;rotateccw&amp;quot;,&lt;br /&gt;
    &amp;quot;rotategesture&amp;quot;,&lt;br /&gt;
    &amp;quot;scanitem&amp;quot;,&lt;br /&gt;
    &amp;quot;screenshot&amp;quot;,&lt;br /&gt;
    &amp;quot;scrolldown&amp;quot;,&lt;br /&gt;
    &amp;quot;scrollup&amp;quot;,&lt;br /&gt;
    &amp;quot;select&amp;quot;,&lt;br /&gt;
    &amp;quot;setrating&amp;quot;,&lt;br /&gt;
    &amp;quot;settingslevelchange&amp;quot;,&lt;br /&gt;
    &amp;quot;settingsreset&amp;quot;,&lt;br /&gt;
    &amp;quot;shift&amp;quot;,&lt;br /&gt;
    &amp;quot;showpreset&amp;quot;,&lt;br /&gt;
    &amp;quot;showsubtitles&amp;quot;,&lt;br /&gt;
    &amp;quot;showtime&amp;quot;,&lt;br /&gt;
    &amp;quot;showtimerrule&amp;quot;,&lt;br /&gt;
    &amp;quot;showvideomenu&amp;quot;,&lt;br /&gt;
    &amp;quot;skipnext&amp;quot;,&lt;br /&gt;
    &amp;quot;skipprevious&amp;quot;,&lt;br /&gt;
    &amp;quot;smallstepback&amp;quot;,&lt;br /&gt;
    &amp;quot;stepback&amp;quot;,&lt;br /&gt;
    &amp;quot;stepforward&amp;quot;,&lt;br /&gt;
    &amp;quot;stereomode&amp;quot;,&lt;br /&gt;
    &amp;quot;stereomodetomono&amp;quot;,&lt;br /&gt;
    &amp;quot;stop&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlealign&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitledelay&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitledelayminus&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitledelayplus&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitleshiftdown&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitleshiftup&amp;quot;,&lt;br /&gt;
    &amp;quot;swipedown&amp;quot;,&lt;br /&gt;
    &amp;quot;swipeleft&amp;quot;,&lt;br /&gt;
    &amp;quot;swiperight&amp;quot;,&lt;br /&gt;
    &amp;quot;swipeup&amp;quot;,&lt;br /&gt;
    &amp;quot;switchplayer&amp;quot;,&lt;br /&gt;
    &amp;quot;symbols&amp;quot;,&lt;br /&gt;
    &amp;quot;tap&amp;quot;,&lt;br /&gt;
    &amp;quot;togglecommskip&amp;quot;,&lt;br /&gt;
    &amp;quot;togglefont&amp;quot;,&lt;br /&gt;
    &amp;quot;togglefullscreen&amp;quot;,&lt;br /&gt;
    &amp;quot;togglestereomode&amp;quot;,&lt;br /&gt;
    &amp;quot;togglewatched&amp;quot;,&lt;br /&gt;
    &amp;quot;up&amp;quot;,&lt;br /&gt;
    &amp;quot;verticalshiftdown&amp;quot;,&lt;br /&gt;
    &amp;quot;verticalshiftup&amp;quot;,&lt;br /&gt;
    &amp;quot;videonextstream&amp;quot;,&lt;br /&gt;
    &amp;quot;voicerecognizer&amp;quot;,&lt;br /&gt;
    &amp;quot;volampdown&amp;quot;,&lt;br /&gt;
    &amp;quot;volampup&amp;quot;,&lt;br /&gt;
    &amp;quot;volumeamplification&amp;quot;,&lt;br /&gt;
    &amp;quot;volumedown&amp;quot;,&lt;br /&gt;
    &amp;quot;volumeup&amp;quot;,&lt;br /&gt;
    &amp;quot;wheeldown&amp;quot;,&lt;br /&gt;
    &amp;quot;wheelup&amp;quot;,&lt;br /&gt;
    &amp;quot;yellow&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomgesture&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomin&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel1&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel2&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel3&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel4&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel5&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel6&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel7&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel8&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel9&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomnormal&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomout&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Input.Action&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Item ===&lt;br /&gt;
==== Item.CustomProperties ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
    &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Item.CustomProperties&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Item.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; label&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;label&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Item.Fields.Base ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
  &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Library ===&lt;br /&gt;
==== Library.Details.Genre ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; genreid&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; sourceid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Details.Genre&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The ids of sources with songs of the genre&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Details.Source ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; file&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; paths]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; sourceid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Details.Source&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The url encoded multipath string combining all paths of the source &amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;paths&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The individual paths of the media source&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Details.Tag ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tagid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Details.Tag&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;tagid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Fields.Genre ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Fields.Genre&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;sourceid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Fields.Source ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Fields.Source&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;paths&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Fields.Tag ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Fields.Tag&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Id ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== List ===&lt;br /&gt;
==== List.Amount ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Amount&amp;quot;,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Fields.All ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Fields.All&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;album&amp;quot;,&lt;br /&gt;
      &amp;quot;track&amp;quot;,&lt;br /&gt;
      &amp;quot;duration&amp;quot;,&lt;br /&gt;
      &amp;quot;comment&amp;quot;,&lt;br /&gt;
      &amp;quot;lyrics&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainztrackid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;trailer&amp;quot;,&lt;br /&gt;
      &amp;quot;tagline&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;country&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;,&lt;br /&gt;
      &amp;quot;productioncode&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;set&amp;quot;,&lt;br /&gt;
      &amp;quot;showlink&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;top250&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;firstaired&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;disc&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;genreid&amp;quot;,&lt;br /&gt;
      &amp;quot;displayartist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;theme&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;albumlabel&amp;quot;,&lt;br /&gt;
      &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
      &amp;quot;episodeguide&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;channel&amp;quot;,&lt;br /&gt;
      &amp;quot;channeltype&amp;quot;,&lt;br /&gt;
      &amp;quot;hidden&amp;quot;,&lt;br /&gt;
      &amp;quot;locked&amp;quot;,&lt;br /&gt;
      &amp;quot;channelnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;subchannelnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;starttime&amp;quot;,&lt;br /&gt;
      &amp;quot;endtime&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortseason&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortepisode&amp;quot;,&lt;br /&gt;
      &amp;quot;compilation&amp;quot;,&lt;br /&gt;
      &amp;quot;releasetype&amp;quot;,&lt;br /&gt;
      &amp;quot;albumreleasetype&amp;quot;,&lt;br /&gt;
      &amp;quot;contributors&amp;quot;,&lt;br /&gt;
      &amp;quot;displaycomposer&amp;quot;,&lt;br /&gt;
      &amp;quot;displayconductor&amp;quot;,&lt;br /&gt;
      &amp;quot;displayorchestra&amp;quot;,&lt;br /&gt;
      &amp;quot;displaylyricist&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;sortartist&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzreleasegroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;mediapath&amp;quot;,&lt;br /&gt;
      &amp;quot;dynpath&amp;quot;,&lt;br /&gt;
      &amp;quot;isboxset&amp;quot;,&lt;br /&gt;
      &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
      &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
      &amp;quot;releasedate&amp;quot;,&lt;br /&gt;
      &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
      &amp;quot;bpm&amp;quot;,&lt;br /&gt;
      &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
      &amp;quot;samplerate&amp;quot;,&lt;br /&gt;
      &amp;quot;channels&amp;quot;,&lt;br /&gt;
      &amp;quot;albumstatus&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;,&lt;br /&gt;
      &amp;quot;customproperties&amp;quot;,&lt;br /&gt;
      &amp;quot;albumduration&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Fields.Files ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Fields.Files&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;album&amp;quot;,&lt;br /&gt;
      &amp;quot;track&amp;quot;,&lt;br /&gt;
      &amp;quot;duration&amp;quot;,&lt;br /&gt;
      &amp;quot;comment&amp;quot;,&lt;br /&gt;
      &amp;quot;lyrics&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainztrackid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;trailer&amp;quot;,&lt;br /&gt;
      &amp;quot;tagline&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;country&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;,&lt;br /&gt;
      &amp;quot;productioncode&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;set&amp;quot;,&lt;br /&gt;
      &amp;quot;showlink&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;top250&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;firstaired&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;disc&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;genreid&amp;quot;,&lt;br /&gt;
      &amp;quot;displayartist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;theme&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;albumlabel&amp;quot;,&lt;br /&gt;
      &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
      &amp;quot;episodeguide&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;size&amp;quot;,&lt;br /&gt;
      &amp;quot;lastmodified&amp;quot;,&lt;br /&gt;
      &amp;quot;mimetype&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortseason&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortepisode&amp;quot;,&lt;br /&gt;
      &amp;quot;sortartist&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzreleasegroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;isboxset&amp;quot;,&lt;br /&gt;
      &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
      &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
      &amp;quot;releasedate&amp;quot;,&lt;br /&gt;
      &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
      &amp;quot;bpm&amp;quot;,&lt;br /&gt;
      &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
      &amp;quot;samplerate&amp;quot;,&lt;br /&gt;
      &amp;quot;channels&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;,&lt;br /&gt;
      &amp;quot;customproperties&amp;quot;,&lt;br /&gt;
      &amp;quot;albumduration&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Albums ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Albums&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Albums&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Albums&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Albums&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Artists ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Artists&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Artists&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Artists&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Artists&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Episodes ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Episodes&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Episodes&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Episodes&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Albums ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;source&amp;quot;,&lt;br /&gt;
    &amp;quot;album&amp;quot;,&lt;br /&gt;
    &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
    &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
    &amp;quot;isboxset&amp;quot;,&lt;br /&gt;
    &amp;quot;artist&amp;quot;,&lt;br /&gt;
    &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;originalyear&amp;quot;,&lt;br /&gt;
    &amp;quot;albumduration&amp;quot;,&lt;br /&gt;
    &amp;quot;review&amp;quot;,&lt;br /&gt;
    &amp;quot;themes&amp;quot;,&lt;br /&gt;
    &amp;quot;moods&amp;quot;,&lt;br /&gt;
    &amp;quot;styles&amp;quot;,&lt;br /&gt;
    &amp;quot;compilation&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;,&lt;br /&gt;
    &amp;quot;label&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;albumstatus&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
    &amp;quot;datenew&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Albums&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Artists ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;artist&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;artist&amp;quot;,&lt;br /&gt;
    &amp;quot;source&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;moods&amp;quot;,&lt;br /&gt;
    &amp;quot;styles&amp;quot;,&lt;br /&gt;
    &amp;quot;instruments&amp;quot;,&lt;br /&gt;
    &amp;quot;biography&amp;quot;,&lt;br /&gt;
    &amp;quot;artisttype&amp;quot;,&lt;br /&gt;
    &amp;quot;gender&amp;quot;,&lt;br /&gt;
    &amp;quot;disambiguation&amp;quot;,&lt;br /&gt;
    &amp;quot;born&amp;quot;,&lt;br /&gt;
    &amp;quot;bandformed&amp;quot;,&lt;br /&gt;
    &amp;quot;disbanded&amp;quot;,&lt;br /&gt;
    &amp;quot;died&amp;quot;,&lt;br /&gt;
    &amp;quot;role&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
    &amp;quot;datenew&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Artists&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Episodes ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;tvshow&amp;quot;,&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
    &amp;quot;plot&amp;quot;,&lt;br /&gt;
    &amp;quot;votes&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;writers&amp;quot;,&lt;br /&gt;
    &amp;quot;airdate&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;inprogress&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;director&amp;quot;,&lt;br /&gt;
    &amp;quot;actor&amp;quot;,&lt;br /&gt;
    &amp;quot;episode&amp;quot;,&lt;br /&gt;
    &amp;quot;season&amp;quot;,&lt;br /&gt;
    &amp;quot;filename&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;studio&amp;quot;,&lt;br /&gt;
    &amp;quot;mpaarating&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;,&lt;br /&gt;
    &amp;quot;videoresolution&amp;quot;,&lt;br /&gt;
    &amp;quot;audiochannels&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocount&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlecount&amp;quot;,&lt;br /&gt;
    &amp;quot;videocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiolanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlelanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;videoaspect&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Movies ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
    &amp;quot;plot&amp;quot;,&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
    &amp;quot;tagline&amp;quot;,&lt;br /&gt;
    &amp;quot;votes&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;writers&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;inprogress&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;country&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;director&amp;quot;,&lt;br /&gt;
    &amp;quot;actor&amp;quot;,&lt;br /&gt;
    &amp;quot;mpaarating&amp;quot;,&lt;br /&gt;
    &amp;quot;top250&amp;quot;,&lt;br /&gt;
    &amp;quot;studio&amp;quot;,&lt;br /&gt;
    &amp;quot;hastrailer&amp;quot;,&lt;br /&gt;
    &amp;quot;filename&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;set&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;videoresolution&amp;quot;,&lt;br /&gt;
    &amp;quot;audiochannels&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocount&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlecount&amp;quot;,&lt;br /&gt;
    &amp;quot;videocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiolanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlelanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;videoaspect&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Movies&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.MusicVideos ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;album&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;artist&amp;quot;,&lt;br /&gt;
    &amp;quot;filename&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;director&amp;quot;,&lt;br /&gt;
    &amp;quot;studio&amp;quot;,&lt;br /&gt;
    &amp;quot;plot&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;videoresolution&amp;quot;,&lt;br /&gt;
    &amp;quot;audiochannels&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocount&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlecount&amp;quot;,&lt;br /&gt;
    &amp;quot;videocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiolanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlelanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;videoaspect&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.MusicVideos&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Songs ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;source&amp;quot;,&lt;br /&gt;
    &amp;quot;album&amp;quot;,&lt;br /&gt;
    &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
    &amp;quot;artist&amp;quot;,&lt;br /&gt;
    &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;originalyear&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;tracknumber&amp;quot;,&lt;br /&gt;
    &amp;quot;filename&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;,&lt;br /&gt;
    &amp;quot;moods&amp;quot;,&lt;br /&gt;
    &amp;quot;bpm&amp;quot;,&lt;br /&gt;
    &amp;quot;samplerate&amp;quot;,&lt;br /&gt;
    &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
    &amp;quot;channels&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
    &amp;quot;datenew&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Songs&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.TVShows ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
    &amp;quot;plot&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;,&lt;br /&gt;
    &amp;quot;votes&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;director&amp;quot;,&lt;br /&gt;
    &amp;quot;actor&amp;quot;,&lt;br /&gt;
    &amp;quot;numepisodes&amp;quot;,&lt;br /&gt;
    &amp;quot;numwatched&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;studio&amp;quot;,&lt;br /&gt;
    &amp;quot;mpaarating&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;inprogress&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.TVShows&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Textures ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;textureid&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;textureid&amp;quot;,&lt;br /&gt;
    &amp;quot;url&amp;quot;,&lt;br /&gt;
    &amp;quot;cachedurl&amp;quot;,&lt;br /&gt;
    &amp;quot;lasthashcheck&amp;quot;,&lt;br /&gt;
    &amp;quot;imagehash&amp;quot;,&lt;br /&gt;
    &amp;quot;width&amp;quot;,&lt;br /&gt;
    &amp;quot;height&amp;quot;,&lt;br /&gt;
    &amp;quot;usecount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastused&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Textures&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Movies ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Movies&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Movies&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Movies&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Movies&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.MusicVideos ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.MusicVideos&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.MusicVideos&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.MusicVideos&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.MusicVideos&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Operators ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;contains&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;contains&amp;quot;,&lt;br /&gt;
    &amp;quot;doesnotcontain&amp;quot;,&lt;br /&gt;
    &amp;quot;is&amp;quot;,&lt;br /&gt;
    &amp;quot;isnot&amp;quot;,&lt;br /&gt;
    &amp;quot;startswith&amp;quot;,&lt;br /&gt;
    &amp;quot;endswith&amp;quot;,&lt;br /&gt;
    &amp;quot;greaterthan&amp;quot;,&lt;br /&gt;
    &amp;quot;lessthan&amp;quot;,&lt;br /&gt;
    &amp;quot;after&amp;quot;,&lt;br /&gt;
    &amp;quot;before&amp;quot;,&lt;br /&gt;
    &amp;quot;inthelast&amp;quot;,&lt;br /&gt;
    &amp;quot;notinthelast&amp;quot;,&lt;br /&gt;
    &amp;quot;true&amp;quot;,&lt;br /&gt;
    &amp;quot;false&amp;quot;,&lt;br /&gt;
    &amp;quot;between&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Operators&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Operators|List.Filter.Operators]]&#039;&#039; operator&lt;br /&gt;
* &#039;&#039;mixed: string|array&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;operator&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Operators&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Albums ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Albums|List.Filter.Fields.Albums]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Albums&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Albums&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Artists ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Artists|List.Filter.Fields.Artists]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Artists&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Artists&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Episodes ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Episodes|List.Filter.Fields.Episodes]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Episodes&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Movies ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Movies|List.Filter.Fields.Movies]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Movies&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Movies&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.MusicVideos ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.MusicVideos|List.Filter.Fields.MusicVideos]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.MusicVideos&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.MusicVideos&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Songs ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Songs|List.Filter.Fields.Songs]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Songs&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Songs&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.TVShows ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.TVShows|List.Filter.Fields.TVShows]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.TVShows&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.TVShows&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Textures ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Textures|List.Filter.Fields.Textures]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Textures&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Textures&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Songs ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Songs&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Songs&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Songs&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Songs&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.TVShows ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.TVShows&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.TVShows&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.TVShows&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.TVShows&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Textures ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Textures&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Textures&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Textures&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Textures&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Item.All ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Item.Base|List.Item.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; channel]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; channelnumber]&lt;br /&gt;
* [&#039;&#039;[[#PVR.Channel.Type|PVR.Channel.Type]]&#039;&#039; channeltype = tv]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; endtime]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hidden]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; locked]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; starttime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; subchannelnumber]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Item.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Item.All&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;channel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channelnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channeltype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;tv&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hidden&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;locked&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;starttime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subchannelnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Item.Base ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.File|Video.Details.File]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Media|Audio.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; album]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; albumartist]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; albumartistid]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumlabel]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Album.ReleaseType|Audio.Album.ReleaseType]]&#039;&#039; albumreleasetype = album]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumstatus]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; bitrate]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; bpm]&lt;br /&gt;
* [&#039;&#039;[[#Video.Cast|Video.Cast]]&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; channels]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; comment]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; compilation]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Contributors|Audio.Contributors]]&#039;&#039; contributors]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; country]&lt;br /&gt;
* [&#039;&#039;[[#Item.CustomProperties|Item.CustomProperties]]&#039;&#039; customproperties]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; description]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; disc]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disctitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displaycomposer]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayconductor]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displaylyricist]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayorchestra]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; duration]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; dynpath]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; episodeguide]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; firstaired]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; imdbnumber]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isboxset]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lyrics]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mediapath]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; mood]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mpaa]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; musicbrainzartistid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; musicbrainztrackid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaldate]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plotoutline]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; premiered]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; productioncode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; releasedate]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Album.ReleaseType|Audio.Album.ReleaseType]]&#039;&#039; releasetype = album]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; samplerate]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; season]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; set]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; showlink]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; showtitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sorttitle]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; specialsortepisode]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; specialsortseason]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; studio]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; style]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; tag]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; tagline]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; theme]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; top250]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; totaldiscs]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; track]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; trailer]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; type = unknown]&lt;br /&gt;
* [&#039;&#039;[[#Media.UniqueID|Media.UniqueID]]&#039;&#039; uniqueid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; watchedepisodes]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; writer]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: [&lt;br /&gt;
    &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
    &amp;quot;Audio.Details.Media&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Item.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;album&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumreleasetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumstatus&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;bitrate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;bpm&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Cast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channels&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;comment&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;compilation&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;contributors&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Contributors&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;country&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;customproperties&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Item.CustomProperties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disc&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disctitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displaycomposer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayconductor&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displaylyricist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayorchestra&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;duration&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;dynpath&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;An experimental property for debug purposes, often same as mediapath but when different gives the actual file playing that should also be in file property&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodeguide&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;firstaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imdbnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isboxset&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lyrics&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mediapath&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Media source path that identifies the item&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mood&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mpaa&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainztrackid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaldate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;premiered&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;productioncode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;releasedate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;releasetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;samplerate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;set&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;setid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showlink&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sorttitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;specialsortepisode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;specialsortseason&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;studio&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;style&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tag&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tagline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;theme&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;top250&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;totaldiscs&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;track&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;trailer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;unknown&amp;quot;,&lt;br /&gt;
        &amp;quot;movie&amp;quot;,&lt;br /&gt;
        &amp;quot;episode&amp;quot;,&lt;br /&gt;
        &amp;quot;musicvideo&amp;quot;,&lt;br /&gt;
        &amp;quot;song&amp;quot;,&lt;br /&gt;
        &amp;quot;picture&amp;quot;,&lt;br /&gt;
        &amp;quot;channel&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;watchedepisodes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writer&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Item.File ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Item.Base|List.Item.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; file&lt;br /&gt;
* &#039;&#039;string&#039;&#039; filetype&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastmodified]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mimetype]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; size]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Item.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Item.File&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;filetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;file&amp;quot;,&lt;br /&gt;
        &amp;quot;directory&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastmodified&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mimetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;size&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Size of the file in bytes&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Items.Sources ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Items.Sources&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;file&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Limits ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#List.Amount|List.Amount]]&#039;&#039; end = -1]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; start]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;end&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Amount&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Index of the last item to return&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;start&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Index of the first item to return&amp;quot;,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.LimitsReturned ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#List.Amount|List.Amount]]&#039;&#039; end = -1]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; start]&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; total&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;end&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Amount&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;start&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;total&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Sort ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; ignorearticle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; method = none]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; order = ascending]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; useartistsortname]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;ignorearticle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;method&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;none&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;none&amp;quot;,&lt;br /&gt;
        &amp;quot;label&amp;quot;,&lt;br /&gt;
        &amp;quot;date&amp;quot;,&lt;br /&gt;
        &amp;quot;size&amp;quot;,&lt;br /&gt;
        &amp;quot;file&amp;quot;,&lt;br /&gt;
        &amp;quot;path&amp;quot;,&lt;br /&gt;
        &amp;quot;drivetype&amp;quot;,&lt;br /&gt;
        &amp;quot;title&amp;quot;,&lt;br /&gt;
        &amp;quot;track&amp;quot;,&lt;br /&gt;
        &amp;quot;time&amp;quot;,&lt;br /&gt;
        &amp;quot;artist&amp;quot;,&lt;br /&gt;
        &amp;quot;album&amp;quot;,&lt;br /&gt;
        &amp;quot;albumtype&amp;quot;,&lt;br /&gt;
        &amp;quot;genre&amp;quot;,&lt;br /&gt;
        &amp;quot;country&amp;quot;,&lt;br /&gt;
        &amp;quot;year&amp;quot;,&lt;br /&gt;
        &amp;quot;rating&amp;quot;,&lt;br /&gt;
        &amp;quot;userrating&amp;quot;,&lt;br /&gt;
        &amp;quot;votes&amp;quot;,&lt;br /&gt;
        &amp;quot;top250&amp;quot;,&lt;br /&gt;
        &amp;quot;programcount&amp;quot;,&lt;br /&gt;
        &amp;quot;playlist&amp;quot;,&lt;br /&gt;
        &amp;quot;episode&amp;quot;,&lt;br /&gt;
        &amp;quot;season&amp;quot;,&lt;br /&gt;
        &amp;quot;totalepisodes&amp;quot;,&lt;br /&gt;
        &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshowstatus&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshowtitle&amp;quot;,&lt;br /&gt;
        &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
        &amp;quot;productioncode&amp;quot;,&lt;br /&gt;
        &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
        &amp;quot;studio&amp;quot;,&lt;br /&gt;
        &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
        &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
        &amp;quot;playcount&amp;quot;,&lt;br /&gt;
        &amp;quot;listeners&amp;quot;,&lt;br /&gt;
        &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
        &amp;quot;random&amp;quot;,&lt;br /&gt;
        &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
        &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
        &amp;quot;bpm&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;order&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;ascending&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;ascending&amp;quot;,&lt;br /&gt;
        &amp;quot;descending&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;useartistsortname&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Media ===&lt;br /&gt;
==== Media.Artwork ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; banner]&lt;br /&gt;
* [&#039;&#039;[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; fanart]&lt;br /&gt;
* [&#039;&#039;[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; poster]&lt;br /&gt;
* [&#039;&#039;[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; thumb]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
    &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.Artwork&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;banner&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fanart&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;poster&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumb&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Media.Artwork.Set ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;mixed: null|[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; banner]&lt;br /&gt;
* [&#039;&#039;mixed: null|[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; fanart]&lt;br /&gt;
* [&#039;&#039;mixed: null|[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; poster]&lt;br /&gt;
* [&#039;&#039;mixed: null|[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; thumb]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: null,&lt;br /&gt;
    &amp;quot;type&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;banner&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fanart&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;poster&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumb&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Media.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; fanart]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;fanart&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Media.UniqueID ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
    &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Media.UniqueID.Set ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: null,&lt;br /&gt;
    &amp;quot;type&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.UniqueID.Set&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Notifications ===&lt;br /&gt;
==== Notifications.Item ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Notifications.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;An unknown item does not have any additional information.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;An item known to the database has an identification.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A movie item has a title and may have a release year.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;year&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A tv episode has a title and may have an episode number, season number and the title of the show it belongs to.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;episode&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;season&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A music video has a title and may have an album and an artist.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;album&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;artist&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A song has a title and may have an album, an artist and a track number.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;album&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;artist&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;track&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A picture has a file path.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;file&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A PVR channel is either a radio or tv channel and has a title.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;channeltype&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Notifications.Item.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;movie&amp;quot;,&lt;br /&gt;
    &amp;quot;episode&amp;quot;,&lt;br /&gt;
    &amp;quot;musicvideo&amp;quot;,&lt;br /&gt;
    &amp;quot;song&amp;quot;,&lt;br /&gt;
    &amp;quot;picture&amp;quot;,&lt;br /&gt;
    &amp;quot;channel&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Optional ===&lt;br /&gt;
==== Optional.Boolean ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Optional.Integer ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Optional.Number ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Optional.String ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== PVR ===&lt;br /&gt;
==== PVR.Channel.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;tv&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;tv&amp;quot;,&lt;br /&gt;
    &amp;quot;radio&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.ChannelGroup.Id ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.ChannelGroup.Id&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;alltv&amp;quot;,&lt;br /&gt;
        &amp;quot;allradio&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Broadcast ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; director]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; endtime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; episodename]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episodenum]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episodepart]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; firstaired]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; genre]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hasrecording]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hasreminder]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hastimer]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hastimerrule]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; imdbnumber]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isactive]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isplayable]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isseries]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; parentalrating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plot]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plotoutline]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; progress]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; progresspercentage]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; recording]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; starttime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; wasactive]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; writer]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;broadcastid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;director&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodename&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodenum&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodepart&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;firstaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hasrecording&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hasreminder&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hastimer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hastimerrule&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imdbnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isactive&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isplayable&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Deprecated - Use GetBroadcastIsPlayable instead&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isseries&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;parentalrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;progress&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;progresspercentage&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;recording&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;starttime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;wasactive&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Channel ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#PVR.Details.Broadcast|PVR.Details.Broadcast]]&#039;&#039; broadcastnext]&lt;br /&gt;
* [&#039;&#039;[[#PVR.Details.Broadcast|PVR.Details.Broadcast]]&#039;&#039; broadcastnow]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; channel]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelid&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; channelnumber]&lt;br /&gt;
* [&#039;&#039;[[#PVR.Channel.Type|PVR.Channel.Type]]&#039;&#039; channeltype = tv]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hasarchive]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hidden]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; icon]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isrecording]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastplayed]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; locked]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; subchannelnumber]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; uniqueid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Channel&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;broadcastnext&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;broadcastnow&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channelid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channelnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channeltype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;tv&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hasarchive&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hidden&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;icon&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isrecording&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;locked&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subchannelnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.ChannelGroup ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelgroupid&lt;br /&gt;
* &#039;&#039;[[#PVR.Channel.Type|PVR.Channel.Type]]&#039;&#039; channeltype&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.ChannelGroup&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;channelgroupid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channeltype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.ChannelGroup.Extended ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#PVR.Details.ChannelGroup|PVR.Details.ChannelGroup]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; channels]&lt;br /&gt;
* &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;PVR.Details.ChannelGroup&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.ChannelGroup.Extended&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;channels&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Channel&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;limits&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Client ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; addonid]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportschannelgroups]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportschannelscan]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportsepg]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportsradio]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportsrecordings]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportstimers]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportstv]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Client&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;addonid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportschannelgroups&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportschannelscan&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportsepg&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportsradio&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportsrecordings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportstimers&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportstv&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Recording ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Media.Artwork|Media.Artwork]]&#039;&#039; art]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; channel]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; channeluid]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; directory]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; endtime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; epgeventid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; file]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; genre]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; icon]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isdeleted]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; lifetime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; playcount]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plot]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plotoutline]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; radio]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; recordingid&lt;br /&gt;
* [&#039;&#039;[[#Video.Resume|Video.Resume]]&#039;&#039; resume]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; season]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; showtitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; starttime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; streamurl]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Recording&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;art&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channeluid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;directory&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;epgeventid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;icon&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isdeleted&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lifetime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;radio&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;recordingid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;resume&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;starttime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;streamurl&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Timer ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; directory]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; endanytime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; endmargin]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; endtime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; epgsearchstring]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; epguid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; file]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; firstday]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; fulltextepgsearch]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; ismanual]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isradio]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isreadonly]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isreminder]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; istimerrule]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; lifetime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; maxrecordings]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; preventduplicateepisodes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; priority]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; recordinggroup]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; startanytime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; startmargin]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; starttime]&lt;br /&gt;
* [&#039;&#039;[[#PVR.TimerState|PVR.TimerState]]&#039;&#039; state = unknown]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; summary]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; timerid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; weekdays]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Timer&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;broadcastid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channelid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;directory&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endanytime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endmargin&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;epgsearchstring&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;epguid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;firstday&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fulltextepgsearch&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;ismanual&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isradio&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isreadonly&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isreminder&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;istimerrule&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lifetime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;maxrecordings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;preventduplicateepisodes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;priority&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;recordinggroup&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;startanytime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;startmargin&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;starttime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;state&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.TimerState&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;summary&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;timerid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;weekdays&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.Weekday&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Broadcast ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Broadcast&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;starttime&amp;quot;,&lt;br /&gt;
      &amp;quot;endtime&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;progress&amp;quot;,&lt;br /&gt;
      &amp;quot;progresspercentage&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;episodename&amp;quot;,&lt;br /&gt;
      &amp;quot;episodenum&amp;quot;,&lt;br /&gt;
      &amp;quot;episodepart&amp;quot;,&lt;br /&gt;
      &amp;quot;firstaired&amp;quot;,&lt;br /&gt;
      &amp;quot;hastimer&amp;quot;,&lt;br /&gt;
      &amp;quot;isactive&amp;quot;,&lt;br /&gt;
      &amp;quot;parentalrating&amp;quot;,&lt;br /&gt;
      &amp;quot;wasactive&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;hastimerrule&amp;quot;,&lt;br /&gt;
      &amp;quot;hasrecording&amp;quot;,&lt;br /&gt;
      &amp;quot;recording&amp;quot;,&lt;br /&gt;
      &amp;quot;isseries&amp;quot;,&lt;br /&gt;
      &amp;quot;isplayable&amp;quot;,&lt;br /&gt;
      &amp;quot;clientid&amp;quot;,&lt;br /&gt;
      &amp;quot;hasreminder&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Channel ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Channel&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;channeltype&amp;quot;,&lt;br /&gt;
      &amp;quot;hidden&amp;quot;,&lt;br /&gt;
      &amp;quot;locked&amp;quot;,&lt;br /&gt;
      &amp;quot;channel&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;broadcastnow&amp;quot;,&lt;br /&gt;
      &amp;quot;broadcastnext&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;icon&amp;quot;,&lt;br /&gt;
      &amp;quot;channelnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;subchannelnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;isrecording&amp;quot;,&lt;br /&gt;
      &amp;quot;hasarchive&amp;quot;,&lt;br /&gt;
      &amp;quot;clientid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Client ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Client&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;addonid&amp;quot;,&lt;br /&gt;
      &amp;quot;supportstv&amp;quot;,&lt;br /&gt;
      &amp;quot;supportsradio&amp;quot;,&lt;br /&gt;
      &amp;quot;supportsepg&amp;quot;,&lt;br /&gt;
      &amp;quot;supportsrecordings&amp;quot;,&lt;br /&gt;
      &amp;quot;supportstimers&amp;quot;,&lt;br /&gt;
      &amp;quot;supportschannelgroups&amp;quot;,&lt;br /&gt;
      &amp;quot;supportschannelscan&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Recording ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Recording&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;channel&amp;quot;,&lt;br /&gt;
      &amp;quot;starttime&amp;quot;,&lt;br /&gt;
      &amp;quot;endtime&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;lifetime&amp;quot;,&lt;br /&gt;
      &amp;quot;icon&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;streamurl&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;radio&amp;quot;,&lt;br /&gt;
      &amp;quot;isdeleted&amp;quot;,&lt;br /&gt;
      &amp;quot;epgeventid&amp;quot;,&lt;br /&gt;
      &amp;quot;channeluid&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;clientid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Timer ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Timer&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;summary&amp;quot;,&lt;br /&gt;
      &amp;quot;channelid&amp;quot;,&lt;br /&gt;
      &amp;quot;isradio&amp;quot;,&lt;br /&gt;
      &amp;quot;istimerrule&amp;quot;,&lt;br /&gt;
      &amp;quot;ismanual&amp;quot;,&lt;br /&gt;
      &amp;quot;starttime&amp;quot;,&lt;br /&gt;
      &amp;quot;endtime&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;lifetime&amp;quot;,&lt;br /&gt;
      &amp;quot;firstday&amp;quot;,&lt;br /&gt;
      &amp;quot;weekdays&amp;quot;,&lt;br /&gt;
      &amp;quot;priority&amp;quot;,&lt;br /&gt;
      &amp;quot;startmargin&amp;quot;,&lt;br /&gt;
      &amp;quot;endmargin&amp;quot;,&lt;br /&gt;
      &amp;quot;state&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;preventduplicateepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;startanytime&amp;quot;,&lt;br /&gt;
      &amp;quot;endanytime&amp;quot;,&lt;br /&gt;
      &amp;quot;epgsearchstring&amp;quot;,&lt;br /&gt;
      &amp;quot;fulltextepgsearch&amp;quot;,&lt;br /&gt;
      &amp;quot;recordinggroup&amp;quot;,&lt;br /&gt;
      &amp;quot;maxrecordings&amp;quot;,&lt;br /&gt;
      &amp;quot;epguid&amp;quot;,&lt;br /&gt;
      &amp;quot;isreadonly&amp;quot;,&lt;br /&gt;
      &amp;quot;isreminder&amp;quot;,&lt;br /&gt;
      &amp;quot;clientid&amp;quot;,&lt;br /&gt;
      &amp;quot;broadcastid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;available&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;available&amp;quot;,&lt;br /&gt;
    &amp;quot;recording&amp;quot;,&lt;br /&gt;
    &amp;quot;scanning&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; available]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; recording]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; scanning]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;available&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;recording&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;scanning&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.TimerState ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;new&amp;quot;,&lt;br /&gt;
    &amp;quot;scheduled&amp;quot;,&lt;br /&gt;
    &amp;quot;recording&amp;quot;,&lt;br /&gt;
    &amp;quot;completed&amp;quot;,&lt;br /&gt;
    &amp;quot;aborted&amp;quot;,&lt;br /&gt;
    &amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;conflict_ok&amp;quot;,&lt;br /&gt;
    &amp;quot;conflict_notok&amp;quot;,&lt;br /&gt;
    &amp;quot;error&amp;quot;,&lt;br /&gt;
    &amp;quot;disabled&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.TimerState&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Player ===&lt;br /&gt;
==== Player.Audio.Stream ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; bitrate&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; channels&lt;br /&gt;
* &#039;&#039;string&#039;&#039; codec&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; index&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isdefault&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isimpaired&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isoriginal&lt;br /&gt;
* &#039;&#039;string&#039;&#039; language&lt;br /&gt;
* &#039;&#039;string&#039;&#039; name&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; samplerate&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Audio.Stream&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;bitrate&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channels&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;codec&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;index&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isdefault&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isimpaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isoriginal&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;language&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;samplerate&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.CustomViewMode ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;mixed: string|[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; nonlinearstretch]&lt;br /&gt;
* [&#039;&#039;mixed: string|[[#Optional.Number|Optional.Number]]&#039;&#039; pixelratio]&lt;br /&gt;
* [&#039;&#039;mixed: string|[[#Optional.Number|Optional.Number]]&#039;&#039; verticalshift]&lt;br /&gt;
* [&#039;&#039;mixed: string|[[#Optional.Number|Optional.Number]]&#039;&#039; zoom]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.CustomViewMode&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;nonlinearstretch&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;increase&amp;quot;,&lt;br /&gt;
            &amp;quot;decrease&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Flag to enable nonlinear stretch&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;pixelratio&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;increase&amp;quot;,&lt;br /&gt;
            &amp;quot;decrease&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Pixel aspect ratio where 1.0 means square pixel&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;verticalshift&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;increase&amp;quot;,&lt;br /&gt;
            &amp;quot;decrease&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Vertical shift 1.0 means shift to bottom&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;zoom&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;increase&amp;quot;,&lt;br /&gt;
            &amp;quot;decrease&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Zoom where 1.0 means 100%&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;required&amp;quot;: true,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Id ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
  &amp;quot;maximum&amp;quot;: 2,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Notifications.Data ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Notifications.Item|Notifications.Item]]&#039;&#039; item&lt;br /&gt;
* &#039;&#039;[[#Player.Notifications.Player|Player.Notifications.Player]]&#039;&#039; player&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;item&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;player&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Player&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Notifications.Player ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; speed]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Notifications.Player&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;playerid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;speed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Notifications.Player.Seek ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Player.Notifications.Player|Player.Notifications.Player]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; seekoffset]&lt;br /&gt;
* [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; time]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Player.Notifications.Player&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Notifications.Player.Seek&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;seekoffset&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;time&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Position.Percentage ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;number&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
  &amp;quot;maximum&amp;quot;: 100.0,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0.0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Position.Time ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; hours]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; milliseconds]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; minutes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; seconds]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A position in duration.&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Position.Time&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;hours&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;milliseconds&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 999,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minutes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 59,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 59,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;type&amp;quot;,&lt;br /&gt;
    &amp;quot;partymode&amp;quot;,&lt;br /&gt;
    &amp;quot;speed&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;percentage&amp;quot;,&lt;br /&gt;
    &amp;quot;totaltime&amp;quot;,&lt;br /&gt;
    &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
    &amp;quot;position&amp;quot;,&lt;br /&gt;
    &amp;quot;repeat&amp;quot;,&lt;br /&gt;
    &amp;quot;shuffled&amp;quot;,&lt;br /&gt;
    &amp;quot;canseek&amp;quot;,&lt;br /&gt;
    &amp;quot;canchangespeed&amp;quot;,&lt;br /&gt;
    &amp;quot;canmove&amp;quot;,&lt;br /&gt;
    &amp;quot;canzoom&amp;quot;,&lt;br /&gt;
    &amp;quot;canrotate&amp;quot;,&lt;br /&gt;
    &amp;quot;canshuffle&amp;quot;,&lt;br /&gt;
    &amp;quot;canrepeat&amp;quot;,&lt;br /&gt;
    &amp;quot;currentaudiostream&amp;quot;,&lt;br /&gt;
    &amp;quot;audiostreams&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitleenabled&amp;quot;,&lt;br /&gt;
    &amp;quot;currentsubtitle&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitles&amp;quot;,&lt;br /&gt;
    &amp;quot;live&amp;quot;,&lt;br /&gt;
    &amp;quot;currentvideostream&amp;quot;,&lt;br /&gt;
    &amp;quot;videostreams&amp;quot;,&lt;br /&gt;
    &amp;quot;cachepercentage&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; audiostreams]&lt;br /&gt;
* [&#039;&#039;[[#Player.Position.Percentage|Player.Position.Percentage]]&#039;&#039; cachepercentage]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canchangespeed]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canmove]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canrepeat]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canrotate]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canseek]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canshuffle]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canzoom]&lt;br /&gt;
* [&#039;&#039;[[#Player.Audio.Stream|Player.Audio.Stream]]&#039;&#039; currentaudiostream]&lt;br /&gt;
* [&#039;&#039;[[#Player.Subtitle|Player.Subtitle]]&#039;&#039; currentsubtitle]&lt;br /&gt;
* [&#039;&#039;[[#Player.Video.Stream|Player.Video.Stream]]&#039;&#039; currentvideostream]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; live]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; partymode]&lt;br /&gt;
* [&#039;&#039;[[#Player.Position.Percentage|Player.Position.Percentage]]&#039;&#039; percentage]&lt;br /&gt;
* [&#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position = -1]&lt;br /&gt;
* [&#039;&#039;[[#Player.Repeat|Player.Repeat]]&#039;&#039; repeat = off]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; shuffled]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; speed]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; subtitleenabled]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; subtitles]&lt;br /&gt;
* [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; time]&lt;br /&gt;
* [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; totaltime]&lt;br /&gt;
* [&#039;&#039;[[#Player.Type|Player.Type]]&#039;&#039; type = video]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; videostreams]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;audiostreams&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Audio.Stream&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;cachepercentage&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canchangespeed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canmove&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canrepeat&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canrotate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canseek&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canshuffle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canzoom&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;currentaudiostream&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Audio.Stream&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;currentsubtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Subtitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;currentvideostream&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Video.Stream&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;live&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;partymode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;percentage&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;position&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;repeat&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Repeat&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;off&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;shuffled&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;speed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subtitleenabled&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subtitles&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Subtitle&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;time&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;totaltime&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;video&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;videostreams&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Video.Stream&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Repeat ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;off&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;off&amp;quot;,&lt;br /&gt;
    &amp;quot;one&amp;quot;,&lt;br /&gt;
    &amp;quot;all&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Repeat&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Speed ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; speed]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Speed&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;speed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;required&amp;quot;: true,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Subtitle ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; index&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isdefault&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isforced&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isimpaired&lt;br /&gt;
* &#039;&#039;string&#039;&#039; language&lt;br /&gt;
* &#039;&#039;string&#039;&#039; name&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Subtitle&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;index&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isdefault&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isforced&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isimpaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;language&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;video&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;audio&amp;quot;,&lt;br /&gt;
    &amp;quot;picture&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Video.Stream ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; codec&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; height&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; index&lt;br /&gt;
* &#039;&#039;string&#039;&#039; language&lt;br /&gt;
* &#039;&#039;string&#039;&#039; name&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; width&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Video.Stream&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;codec&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;height&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;index&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;language&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;width&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.ViewMode ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;normal&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;normal&amp;quot;,&lt;br /&gt;
    &amp;quot;zoom&amp;quot;,&lt;br /&gt;
    &amp;quot;stretch4x3&amp;quot;,&lt;br /&gt;
    &amp;quot;widezoom&amp;quot;,&lt;br /&gt;
    &amp;quot;stretch16x9&amp;quot;,&lt;br /&gt;
    &amp;quot;original&amp;quot;,&lt;br /&gt;
    &amp;quot;stretch16x9nonlin&amp;quot;,&lt;br /&gt;
    &amp;quot;zoom120width&amp;quot;,&lt;br /&gt;
    &amp;quot;zoom110width&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.ViewMode&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Playlist ===&lt;br /&gt;
==== Playlist.Id ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
  &amp;quot;maximum&amp;quot;: 2,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Item ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;file&amp;quot;: {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Path to a file (not a directory) to be added to the playlist&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;directory&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;media&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;files&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;recursive&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;movieid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;episodeid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;musicvideoid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;songid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Identification of a genre from the AudioLibrary&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Position ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;type&amp;quot;,&lt;br /&gt;
    &amp;quot;size&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; size]&lt;br /&gt;
* [&#039;&#039;[[#Playlist.Type|Playlist.Type]]&#039;&#039; type = unknown]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;size&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;audio&amp;quot;,&lt;br /&gt;
    &amp;quot;picture&amp;quot;,&lt;br /&gt;
    &amp;quot;mixed&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Profiles ===&lt;br /&gt;
==== Profiles.Details.Profile ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; lockmode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Profiles.Details.Profile&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;lockmode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Profiles.Fields.Profile ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Profiles.Fields.Profile&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;lockmode&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Profiles.Password ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; encryption = md5]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Profiles.Password&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;encryption&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;md5&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Password Encryption&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;none&amp;quot;,&lt;br /&gt;
        &amp;quot;md5&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Password&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Setting ===&lt;br /&gt;
==== Setting.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; help]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; id&lt;br /&gt;
* &#039;&#039;string&#039;&#039; label&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;help&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;label&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Category ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.Base|Setting.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; groups]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Category&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;groups&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Group&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Control ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Control&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlCheckmark&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlSpinner&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlEdit&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlButton&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlList&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlSlider&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlRange&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlLabel&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlBase ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; delayed&lt;br /&gt;
* &#039;&#039;string&#039;&#039; format&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;delayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;format&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlButton ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlHeading|Setting.Details.ControlHeading]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlButton&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;button&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlCheckmark ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; format&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlCheckmark&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;format&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;boolean&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;toggle&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlEdit ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlHeading|Setting.Details.ControlHeading]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; hidden&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; verifynewvalue&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlEdit&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;hidden&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;edit&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;verifynewvalue&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlHeading ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; heading]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;heading&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlLabel ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; format&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlLabel&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;format&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;string&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;label&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlList ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlHeading|Setting.Details.ControlHeading]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; multiselect&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlList&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;multiselect&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;list&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlRange ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; formatlabel&lt;br /&gt;
* &#039;&#039;string&#039;&#039; formatvalue&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlRange&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;formatlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;formatvalue&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;range&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlSlider ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlHeading|Setting.Details.ControlHeading]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; formatlabel&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; popup&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlSlider&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;formatlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;popup&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;slider&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlSpinner ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; formatlabel]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; minimumlabel]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlSpinner&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;formatlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minimumlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;spinner&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Group ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; id&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; settings]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Group&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;id&amp;quot;: {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;settings&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Setting&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Section ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.Base|Setting.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; categories]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Section&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;categories&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Category&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Setting ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Setting&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingBool&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingInt&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingNumber&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingAction&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingList&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingPath&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingAddon&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingDate&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingTime&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingAction ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingAction&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;data&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingAddon ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingString|Setting.Details.SettingString]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Addon.Types|Addon.Types]]&#039;&#039; addontype&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingAddon&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;addontype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Types&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingBase ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.Base|Setting.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Setting.Details.Control|Setting.Details.Control]]&#039;&#039; control]&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; enabled&lt;br /&gt;
* &#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; level&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; parent]&lt;br /&gt;
* &#039;&#039;[[#Setting.Type|Setting.Type]]&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;control&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Control&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;enabled&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;level&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;parent&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingBool ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; default&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingBool&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingDate ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingString|Setting.Details.SettingString]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingDate&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingInt ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; default&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; maximum]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; minimum]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; options]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; step]&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingInt&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;maximum&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minimum&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;options&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;label&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;value&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;step&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingList ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Setting.Value.List|Setting.Value.List]]&#039;&#039; default&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.Setting|Setting.Details.Setting]]&#039;&#039; definition&lt;br /&gt;
* &#039;&#039;string&#039;&#039; delimiter&lt;br /&gt;
* &#039;&#039;[[#Setting.Type|Setting.Type]]&#039;&#039; elementtype&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; maximumitems]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; minimumitems]&lt;br /&gt;
* &#039;&#039;[[#Setting.Value.List|Setting.Value.List]]&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingList&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.List&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;definition&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Setting&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;delimiter&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;elementtype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;maximumitems&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minimumitems&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.List&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingNumber ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;number&#039;&#039; default&lt;br /&gt;
* &#039;&#039;number&#039;&#039; maximum&lt;br /&gt;
* &#039;&#039;number&#039;&#039; minimum&lt;br /&gt;
* &#039;&#039;number&#039;&#039; step&lt;br /&gt;
* &#039;&#039;number&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingNumber&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;maximum&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minimum&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;step&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingPath ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingString|Setting.Details.SettingString]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; sources]&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; writable&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingPath&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;sources&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writable&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingString ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; allowempty&lt;br /&gt;
* &#039;&#039;string&#039;&#039; default&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; options]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;allowempty&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;options&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;label&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;value&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingTime ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingString|Setting.Details.SettingString]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingTime&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Level ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;basic&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;basic&amp;quot;,&lt;br /&gt;
    &amp;quot;standard&amp;quot;,&lt;br /&gt;
    &amp;quot;advanced&amp;quot;,&lt;br /&gt;
    &amp;quot;expert&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;boolean&amp;quot;,&lt;br /&gt;
    &amp;quot;integer&amp;quot;,&lt;br /&gt;
    &amp;quot;number&amp;quot;,&lt;br /&gt;
    &amp;quot;string&amp;quot;,&lt;br /&gt;
    &amp;quot;action&amp;quot;,&lt;br /&gt;
    &amp;quot;list&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;addon&amp;quot;,&lt;br /&gt;
    &amp;quot;date&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Value.Extended ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Value.Extended&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.List&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Value.List ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Value.List&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== System ===&lt;br /&gt;
==== System.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;canshutdown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;canshutdown&amp;quot;,&lt;br /&gt;
    &amp;quot;cansuspend&amp;quot;,&lt;br /&gt;
    &amp;quot;canhibernate&amp;quot;,&lt;br /&gt;
    &amp;quot;canreboot&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;System.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canhibernate]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canreboot]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canshutdown]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; cansuspend]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;System.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;canhibernate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canreboot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canshutdown&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;cansuspend&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Textures ===&lt;br /&gt;
==== Textures.Details.Size ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; height]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastused]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; size]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; usecount]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; width]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Textures.Details.Size&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;height&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Height of texture&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastused&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Date of last use&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;size&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Size of the texture (1 == largest)&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;usecount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Number of uses&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;width&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Width of texture&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Textures.Details.Texture ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; cachedurl]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; imagehash]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lasthashcheck]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; sizes]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; textureid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; url]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Textures.Details.Texture&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;cachedurl&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Cached URL on disk&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imagehash&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Hash of image&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lasthashcheck&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Last time source was checked for changes&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sizes&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Textures.Details.Size&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;textureid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;url&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Original source URL&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Textures.Fields.Texture ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Textures.Fields.Texture&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;url&amp;quot;,&lt;br /&gt;
      &amp;quot;cachedurl&amp;quot;,&lt;br /&gt;
      &amp;quot;lasthashcheck&amp;quot;,&lt;br /&gt;
      &amp;quot;imagehash&amp;quot;,&lt;br /&gt;
      &amp;quot;sizes&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Video ===&lt;br /&gt;
==== Video.Cast ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Cast&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;order&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;role&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
        &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Media.Details.Base|Media.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Media.Artwork|Media.Artwork]]&#039;&#039; art]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; playcount]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Media.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;art&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Episode ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.File|Video.Details.File]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Video.Cast|Video.Cast]]&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; firstaired]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; productioncode]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; ratings]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; season]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; seasonid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; showtitle]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; specialsortepisode]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; specialsortseason]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Media.UniqueID|Media.UniqueID]]&#039;&#039; uniqueid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; writer]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Episode&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Cast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodeid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;firstaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;productioncode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;ratings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;seasonid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;specialsortepisode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;specialsortseason&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writer&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.File ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Item|Video.Details.Item]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; director]&lt;br /&gt;
* [&#039;&#039;[[#Video.Resume|Video.Resume]]&#039;&#039; resume]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;[[#Video.Streams|Video.Streams]]&#039;&#039; streamdetails]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;director&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;resume&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;streamdetails&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Streams&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Item ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Media|Video.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; dateadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; file]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastplayed]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plot]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Media ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Base|Video.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Movie ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.File|Video.Details.File]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Video.Cast|Video.Cast]]&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; country]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; genre]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; imdbnumber]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mpaa]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plotoutline]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; premiered]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; ratings]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; set]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; showlink]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sorttitle]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; studio]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; tag]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; tagline]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; top250]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; trailer]&lt;br /&gt;
* [&#039;&#039;[[#Media.UniqueID|Media.UniqueID]]&#039;&#039; uniqueid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; writer]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Cast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;country&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imdbnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;movieid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mpaa&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;premiered&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;ratings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;set&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;setid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showlink&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sorttitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;studio&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tag&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tagline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;top250&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;trailer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writer&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.MovieSet ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Media|Video.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plot]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.MovieSet&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;plot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;setid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.MovieSet.Extended ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.MovieSet|Video.Details.MovieSet]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; movies]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.MovieSet&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.MovieSet.Extended&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;limits&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;movies&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.MusicVideo ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.File|Video.Details.File]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; album]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; artist]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; genre]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; premiered]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; studio]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; tag]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; track]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.MusicVideo&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;album&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artist&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicvideoid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;premiered&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;studio&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tag&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;track&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Season ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Base|Video.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; season&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; seasonid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; showtitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; watchedepisodes]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Season&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;seasonid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;watchedepisodes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.TVShow ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Item|Video.Details.Item]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Video.Cast|Video.Cast]]&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; episodeguide]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; genre]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; imdbnumber]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mpaa]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; premiered]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; ratings]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; season]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sorttitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; status]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; studio]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; tag]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&lt;br /&gt;
* [&#039;&#039;[[#Media.UniqueID|Media.UniqueID]]&#039;&#039; uniqueid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; watchedepisodes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.TVShow&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Cast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodeguide&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imdbnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mpaa&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;premiered&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;ratings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sorttitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Returns &#039;returning series&#039;, &#039;in production&#039;, &#039;planned&#039;, &#039;cancelled&#039; or &#039;ended&#039;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;studio&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tag&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;watchedepisodes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.Episode ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.Episode&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the cast, ratings, streamdetails, uniqueid and/or tag field will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;firstaired&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;productioncode&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortseason&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortepisode&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;seasonid&amp;quot;,&lt;br /&gt;
      &amp;quot;ratings&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.Movie ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the cast, ratings, showlink, streamdetails, uniqueid and/or tag field will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;trailer&amp;quot;,&lt;br /&gt;
      &amp;quot;tagline&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;country&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;set&amp;quot;,&lt;br /&gt;
      &amp;quot;showlink&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;top250&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;ratings&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.MovieSet ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.MovieSet&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.MusicVideo ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.MusicVideo&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the streamdetails and/or tag field will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;album&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;track&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.Season ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.Season&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.TVShow ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.TVShow&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the cast, ratings, uniqueid and/or tag field will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
      &amp;quot;episodeguide&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;ratings&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Rating ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; default]&lt;br /&gt;
* &#039;&#039;number&#039;&#039; rating&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; votes]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Rating&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Ratings ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Video.Rating&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Ratings&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Ratings.Set ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: null,&lt;br /&gt;
    &amp;quot;type&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Rating&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Ratings.Set&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Resume ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; position]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; total]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Resume&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;position&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;total&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Streams ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; audio]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; subtitle]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; video]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Streams&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;audio&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;channels&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;codec&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;language&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;language&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;video&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;aspect&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;codec&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;duration&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;height&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;width&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
== Notifications ==&lt;br /&gt;
=== Application ===&lt;br /&gt;
==== Application.OnVolumeChanged ====&lt;br /&gt;
The volume of the application has changed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;boolean&#039;&#039; muted&lt;br /&gt;
#* &#039;&#039;integer&#039;&#039; volume&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The volume of the application has changed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;muted&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;volume&amp;quot;: {&lt;br /&gt;
          &amp;quot;maximum&amp;quot;: 100,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== AudioLibrary ===&lt;br /&gt;
==== AudioLibrary.OnCleanFinished ====&lt;br /&gt;
The audio library has been cleaned.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The audio library has been cleaned.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnCleanStarted ====&lt;br /&gt;
An audio library clean operation has started.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio library clean operation has started.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnExport ====&lt;br /&gt;
An audio library export has finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; data]:&lt;br /&gt;
#* [&#039;&#039;integer&#039;&#039; failcount = 0]&lt;br /&gt;
#* [&#039;&#039;string&#039;&#039; file = &amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio library export has finished.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;failcount&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;file&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnRemove ====&lt;br /&gt;
An audio item has been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; transaction&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Library.Audio.Type|Notifications.Library.Audio.Type]]&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio item has been removed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transaction&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the removal is being performed within a transaction.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Library.Audio.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnScanFinished ====&lt;br /&gt;
Scanning the audio library has been finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Scanning the audio library has been finished.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnScanStarted ====&lt;br /&gt;
An audio library scan has started.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio library scan has started.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnUpdate ====&lt;br /&gt;
An audio item has been updated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; added&lt;br /&gt;
#* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; transaction&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio item has been updated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;added&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the update is for a newly added item.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transaction&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the update is being performed within a transaction.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;enum&amp;quot;: [&lt;br /&gt;
            &amp;quot;song&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;id&amp;quot;: &amp;quot;Notifications.Library.Audio.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== GUI ===&lt;br /&gt;
==== GUI.OnDPMSActivated ====&lt;br /&gt;
Energy saving/DPMS has been activated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Energy saving/DPMS has been activated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.OnDPMSDeactivated ====&lt;br /&gt;
Energy saving/DPMS has been deactivated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Energy saving/DPMS has been deactivated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.OnScreensaverActivated ====&lt;br /&gt;
The screensaver has been activated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The screensaver has been activated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.OnScreensaverDeactivated ====&lt;br /&gt;
The screensaver has been deactivated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;boolean&#039;&#039; shuttingdown&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The screensaver has been deactivated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;shuttingdown&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Input ===&lt;br /&gt;
==== Input.OnInputFinished ====&lt;br /&gt;
The user has provided the requested input.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The user has provided the requested input.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.OnInputRequested ====&lt;br /&gt;
The user is requested to provide some information.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; title&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The user is requested to provide some information.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;enum&amp;quot;: [&lt;br /&gt;
            &amp;quot;keyboard&amp;quot;,&lt;br /&gt;
            &amp;quot;time&amp;quot;,&lt;br /&gt;
            &amp;quot;date&amp;quot;,&lt;br /&gt;
            &amp;quot;ip&amp;quot;,&lt;br /&gt;
            &amp;quot;password&amp;quot;,&lt;br /&gt;
            &amp;quot;numericpassword&amp;quot;,&lt;br /&gt;
            &amp;quot;number&amp;quot;,&lt;br /&gt;
            &amp;quot;seconds&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;value&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Player ===&lt;br /&gt;
==== Player.OnAVChange ====&lt;br /&gt;
Audio- or videostream has changed. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Audio- or videostream has changed. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnAVStart ====&lt;br /&gt;
Playback of a media item has been started and first frame is available. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Playback of a media item has been started and first frame is available. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnPause ====&lt;br /&gt;
Playback of a media item has been paused. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Playback of a media item has been paused. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnPlay ====&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;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.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnPropertyChanged ====&lt;br /&gt;
A property of the playing items has changed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Player.Notifications.Player|Player.Notifications.Player]]&#039;&#039; player&lt;br /&gt;
#* &#039;&#039;[[#Player.Property.Value|Player.Property.Value]]&#039;&#039; property&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A property of the playing items has changed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;player&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Player&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;property&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Property.Value&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnResume ====&lt;br /&gt;
Playback of a media item has been resumed. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Playback of a media item has been resumed. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnSeek ====&lt;br /&gt;
The playback position has been changed. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Item|Notifications.Item]]&#039;&#039; item&lt;br /&gt;
#* &#039;&#039;[[#Player.Notifications.Player.Seek|Player.Notifications.Player.Seek]]&#039;&#039; player&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The playback position has been changed. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;item&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;player&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Player.Seek&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnSpeedChanged ====&lt;br /&gt;
Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnStop ====&lt;br /&gt;
Playback of a media item has been stopped. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;boolean&#039;&#039; end&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Item|Notifications.Item]]&#039;&#039; item&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Playback of a media item has been stopped. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;end&amp;quot;: {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Whether the player has reached the end of the playable item(s) or not&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;item&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Playlist ===&lt;br /&gt;
==== Playlist.OnAdd ====&lt;br /&gt;
A playlist item has been added.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Item|Notifications.Item]]&#039;&#039; item&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A playlist item has been added.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;item&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;position&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.OnClear ====&lt;br /&gt;
A playlist item has been cleared.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A playlist item has been cleared.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.OnRemove ====&lt;br /&gt;
A playlist item has been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A playlist item has been removed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;position&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== System ===&lt;br /&gt;
==== System.OnLowBattery ====&lt;br /&gt;
The system is on low battery.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The system is on low battery.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.OnQuit ====&lt;br /&gt;
Kodi will be closed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;integer&#039;&#039; exitcode&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Kodi will be closed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;exitcode&amp;quot;: {&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.OnRestart ====&lt;br /&gt;
The system will be restarted.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The system will be restarted.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.OnSleep ====&lt;br /&gt;
The system will be suspended.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The system will be suspended.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.OnWake ====&lt;br /&gt;
The system woke up from suspension.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The system woke up from suspension.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== VideoLibrary ===&lt;br /&gt;
==== VideoLibrary.OnCleanFinished ====&lt;br /&gt;
The video library has been cleaned.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The video library has been cleaned.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnCleanStarted ====&lt;br /&gt;
A video library clean operation has started.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video library clean operation has started.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnExport ====&lt;br /&gt;
A video library export has finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; data]:&lt;br /&gt;
#* [&#039;&#039;integer&#039;&#039; failcount = 0]&lt;br /&gt;
#* [&#039;&#039;string&#039;&#039; file = &amp;quot;&amp;quot;]&lt;br /&gt;
#* [&#039;&#039;string&#039;&#039; root = &amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video library export has finished.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;failcount&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;file&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;root&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnRefresh ====&lt;br /&gt;
The video library has been refreshed and a home screen reload might be necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The video library has been refreshed and a home screen reload might be necessary.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnRemove ====&lt;br /&gt;
A video item has been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; transaction&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Library.Video.Type|Notifications.Library.Video.Type]]&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video item has been removed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transaction&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the removal is being performed within a transaction.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Library.Video.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnScanFinished ====&lt;br /&gt;
Scanning the video library has been finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Scanning the video library has been finished.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnScanStarted ====&lt;br /&gt;
A video library scan has started.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video library scan has started.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnUpdate ====&lt;br /&gt;
A video item has been updated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; added&lt;br /&gt;
#* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id&lt;br /&gt;
#* &#039;&#039;integer&#039;&#039; playcount = -1&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; transaction&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video item has been updated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;added&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the update is for a newly added item.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transaction&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the update is being performed within a transaction.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;enum&amp;quot;: [&lt;br /&gt;
            &amp;quot;movie&amp;quot;,&lt;br /&gt;
            &amp;quot;tvshow&amp;quot;,&lt;br /&gt;
            &amp;quot;episode&amp;quot;,&lt;br /&gt;
            &amp;quot;musicvideo&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;id&amp;quot;: &amp;quot;Notifications.Library.Video.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://jsonrpc.org/spec.html JSON-RPC 2.0 specification]&lt;br /&gt;
* [http://tools.ietf.org/html/draft-zyp-json-schema-03 A JSON Media Type for Describing the Structure and Meaning of JSON Documents (Draft 03)]&lt;br /&gt;
&lt;br /&gt;
{{updated|21}}&lt;br /&gt;
[[Category:JSON-RPC]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=JSON-RPC_API/v13&amp;diff=243473</id>
		<title>JSON-RPC API/v13</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=JSON-RPC_API/v13&amp;diff=243473"/>
		<updated>2022-12-22T08:04:37Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Added Player.GetAudioDelay, Player.SetAudioDelay&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JSON-RPC_API_nav}}&lt;br /&gt;
{{mininav|[[Development]]|[[JSON-RPC API]]}}&lt;br /&gt;
Version 13 is the in development version of Kodi&#039;s JSON-RPC API and is published with the release of v21 (Omega).&lt;br /&gt;
This document has been updated to version 13.0.0. Recent changes are announced on the [https://forum.kodi.tv/forumdisplay.php?fid=174 forum]&lt;br /&gt;
&lt;br /&gt;
It comes with support for [http://en.wikipedia.org/wiki/WebSocket WebSockets] as an alternative transport for third party clients. Using WebSockets will allow webinterfaces (which are currently restricted to the HTTP transport only) to get access to a bidirectional transport with Kodi&#039;s JSON-RPC API and can therefore also profit from additional features like notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
== JSON-RPC 2.0 compatibility ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 0;&amp;quot;&lt;br /&gt;
!style=&amp;quot;padding-left: 5px; width: 7em; text-align: left;&amp;quot;|Version&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Method calls&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Notifications&amp;lt;br /&amp;gt;(server-side)&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Notifications&amp;lt;br /&amp;gt;(client-side)&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Parameters&amp;lt;br /&amp;gt;by-name&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Parameters&amp;lt;br /&amp;gt;by-position&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Batch requests&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 5px;&amp;quot;|Version 6&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Documentation (JSON Schema) ==&lt;br /&gt;
=== Supported features of JSON Schema ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin-right:2em&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 0;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 10em; text-align: left;&amp;quot;|Schema&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|IETF Draft 03&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1 type]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.2 properties]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.3 patternProperties]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.4 additionalProperties]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.5 items]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.6 additionalItems]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.7 required]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.8 dependencies]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.9 minimum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.10 maximum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin-right:2em&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 0;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 10em; text-align: left;&amp;quot;|Schema&lt;br /&gt;
&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|IETF Draft 03&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.11 exclusiveMinimum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.12 exclusiveMaximum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.13 minItems]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.14 maxItems]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.15 uniqueItems]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.16 pattern]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.17 minLength]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.18 maxLength]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.19 enum]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.20 default]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 0;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 10em; text-align: left;&amp;quot;|Schema&lt;br /&gt;
&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|IETF Draft 03&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.21 title]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.22 description]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23 format]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.24 divisibleBy]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.25 disallow]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.26 extends]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.27 id]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.28 $ref]&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.29 $schema]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tools.ietf.org/html/draft-zyp-json-schema-03#section-6 Hyper Schema]&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Error message ==&lt;br /&gt;
If Kodi detects a bad or missing parameter in a JSON-RPC request it returns an error object. The JSON schema description of that error object is&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;code&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
    &amp;quot;message&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
    &amp;quot;data&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;method&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
        &amp;quot;stack&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;Error.Stack&amp;quot;,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;name&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
            &amp;quot;type&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
            &amp;quot;message&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;required&amp;quot;: true },&lt;br /&gt;
            &amp;quot;property&amp;quot;: { &amp;quot;$ref&amp;quot;: &amp;quot;Error.Stack&amp;quot; }&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Namespaces ==&lt;br /&gt;
The Kodi JSON-RPC API is split up into namespaces, which contain methods that can be called. These namespaces are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;margin-right: 10;&amp;quot;&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Namespace&lt;br /&gt;
!style=&amp;quot;padding-left: 10px; padding-right: 10px;&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|Addons&lt;br /&gt;
|List, enable and execute addons.&lt;br /&gt;
|-&lt;br /&gt;
|Application&lt;br /&gt;
|Application information and control.&lt;br /&gt;
|-&lt;br /&gt;
|AudioLibrary&lt;br /&gt;
|Audio Library information.&lt;br /&gt;
|-&lt;br /&gt;
|Favourites&lt;br /&gt;
|Favourites GetFavourites and AddFavourite.&lt;br /&gt;
|-&lt;br /&gt;
|Files&lt;br /&gt;
|Shares information &amp;amp; filesystem listings.&lt;br /&gt;
|-&lt;br /&gt;
|GUI&lt;br /&gt;
|Window properties and activation.&lt;br /&gt;
|-&lt;br /&gt;
|Input&lt;br /&gt;
|Allows limited navigation within Kodi.&lt;br /&gt;
|-&lt;br /&gt;
|JSONRPC&lt;br /&gt;
|A variety of standard JSONRPC calls.&lt;br /&gt;
|-&lt;br /&gt;
|PVR&lt;br /&gt;
|Live TV control.&lt;br /&gt;
|-&lt;br /&gt;
|Player&lt;br /&gt;
|Manages all available players.&lt;br /&gt;
|-&lt;br /&gt;
|Playlist&lt;br /&gt;
|Playlist modification.&lt;br /&gt;
|-&lt;br /&gt;
|Profiles&lt;br /&gt;
|Support for Profiles operations to Kodi.&lt;br /&gt;
|-&lt;br /&gt;
|Settings&lt;br /&gt;
|Allows manipulation of Kodi settings.&lt;br /&gt;
|-&lt;br /&gt;
|System&lt;br /&gt;
|System controls and information.&lt;br /&gt;
|-&lt;br /&gt;
|Textures&lt;br /&gt;
|Supplies GetTextures and RemoveTexture. Textures are images.&lt;br /&gt;
|-&lt;br /&gt;
|VideoLibrary&lt;br /&gt;
|Video Library information.&lt;br /&gt;
|-&lt;br /&gt;
|XBMC&lt;br /&gt;
|Dumping ground for very Kodi specific operations.&lt;br /&gt;
|}&lt;br /&gt;
== Methods ==&lt;br /&gt;
=== Addons ===&lt;br /&gt;
==== Addons.ExecuteAddon ====&lt;br /&gt;
Executes the given addon with the given parameters (if possible)&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ExecuteAddon&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; addonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|array|string&#039;&#039; params = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; wait = False]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Executes the given addon with the given parameters (if possible)&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;addonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;params&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;URL path (must start with / or ?&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;wait&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ExecuteAddon&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addons.GetAddonDetails ====&lt;br /&gt;
Gets the details of a specific addon&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; addonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Addon.Fields|Addon.Fields]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#Addon.Details|Addon.Details]]&#039;&#039; addon&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Gets the details of a specific addon&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;addonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Fields&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;addon&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Details&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addons.GetAddons ====&lt;br /&gt;
Gets all available addons&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Addon.Types|Addon.Types]]&#039;&#039; type = unknown]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Addon.Content|Addon.Content]]&#039;&#039; content = unknown] (Content provided by the addon. Only considered for plugins and scripts.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: boolean|string&#039;&#039; enabled = all]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Addon.Fields|Addon.Fields]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: boolean|string&#039;&#039; installed = True]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Addon.Details|Addon.Details]] ]&#039;&#039; addons]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Gets all available addons&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Types&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Content&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Content provided by the addon. Only considered for plugins and scripts.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;content&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;all&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;enabled&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;all&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Fields&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;installed&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;all&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;addons&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Details&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addons.SetAddonEnabled ====&lt;br /&gt;
Enables/Disables a specific addon&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ManageAddon&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; addonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; enabled&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Enables/Disables a specific addon&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;addonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;enabled&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ManageAddon&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Application ===&lt;br /&gt;
==== Application.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Application.Property.Name|Application.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Application.Property.Value|Application.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Application.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Application.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Application.Quit ====&lt;br /&gt;
Quit application&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Quit application&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Application.SetMute ====&lt;br /&gt;
Toggle mute/unmute&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; mute&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;boolean (Mute state)&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Toggle mute/unmute&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mute&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Mute state&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Application.SetVolume ====&lt;br /&gt;
Set the current volume&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: integer|[[#Global.IncrementDecrement|Global.IncrementDecrement]]&#039;&#039; volume&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the current volume&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;volume&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;maximum&amp;quot;: 100,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.IncrementDecrement&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== AudioLibrary ===&lt;br /&gt;
==== AudioLibrary.Clean ====&lt;br /&gt;
Cleans the audio library from non-existent items&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Cleans the audio library from non-existent items&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to show the progress bar or any other GUI dialog&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showdialogs&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.Export ====&lt;br /&gt;
Exports all items from the audio library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* WriteFile&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object&#039;&#039; options]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Exports all items from the audio library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;options&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;path&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Path to the directory to where the data should be exported&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;images&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to export thumbnails and fanart images&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;overwrite&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to overwrite existing exported files&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;WriteFile&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetAlbumDetails ====&lt;br /&gt;
Retrieve details about a specific album&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Album|Audio.Fields.Album]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Details.Album|Audio.Details.Album]]&#039;&#039; albumdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific album&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;albumdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetAlbums ====&lt;br /&gt;
Retrieve all albums from specified artist (and role) or that has songs of the specified genre&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Album|Audio.Fields.Album]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|object|[[#List.Filter.Albums|List.Filter.Albums]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; includesingles = False]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; allroles = False] (Whether or not to include all roles when filtering by artist, rather than the default of excluding other contributions. When true it overrides any role filter value.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Album|Audio.Details.Album]] ]&#039;&#039; albums]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all albums from specified artist (and role) or that has songs of the specified genre&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Albums&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;includesingles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to include all roles when filtering by artist, rather than the default of excluding other contributions. When true it overrides any role filter value.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;allroles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;albums&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetArtistDetails ====&lt;br /&gt;
Retrieve details about a specific artist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; artistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Artist|Audio.Fields.Artist]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Details.Artist|Audio.Details.Artist]]&#039;&#039; artistdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific artist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Artist&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;artistdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Artist&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetArtists ====&lt;br /&gt;
Retrieve all artists. For backward compatibility by default this implicitly does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; albumartistsonly = None] (Whether or not to only include album artists rather than the artists of only individual songs as well. If the parameter is not passed or is passed as null the GUI setting will be used)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Artist|Audio.Fields.Artist]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|object|object|object|object|object|object|object|object|[[#List.Filter.Artists|List.Filter.Artists]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; allroles = False] (Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Artist|Audio.Details.Artist]] ]&#039;&#039; artists]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all artists. For backward compatibility by default this implicitly does not include those that only contribute other roles, however absolutely all artists can be returned using allroles=true&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to only include album artists rather than the artists of only individual songs as well. If the parameter is not passed or is passed as null the GUI setting will be used&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumartistsonly&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Artist&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Deprecated, use songgenreid. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;songgenreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genreid. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songgenreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songgenreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Deprecated, use songgenre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;songgenre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songgenre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songgenre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;album&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;songid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;songid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Role contributed by artist. Overridden by allroles parameter&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Role contributed by artist. Overridden by allroles parameter&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Artists&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to include all artists irrespective of the role they contributed. When true it overrides any role filter value.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;allroles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;artists&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Artist&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetAvailableArt ====&lt;br /&gt;
Retrieve all potential art URLs for a media item by art type&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; arttype = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array&#039;&#039; availableart&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all potential art URLs for a media item by art type&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;arttype&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;availableart&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;arttype&amp;quot;: {&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;previewurl&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;URL to a preview thumbnail of the image&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;url&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;URL to the original image&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetAvailableArtTypes ====&lt;br /&gt;
Retrieve a list of potential art types for a media item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array&#039;&#039; availablearttypes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve a list of potential art types for a media item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;availablearttypes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetGenres ====&lt;br /&gt;
Retrieve all genres&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Fields.Genre|Library.Fields.Genre]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#Library.Details.Genre|Library.Details.Genre]] ]&#039;&#039; genres&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all genres&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Fields.Genre&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;genres&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Details.Genre&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetProperties ====&lt;br /&gt;
Retrieves the values of the music library properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Audio.Property.Name|Audio.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Audio.Property.Value|Audio.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the music library properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRecentlyAddedAlbums ====&lt;br /&gt;
Retrieve recently added albums&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Album|Audio.Fields.Album]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Album|Audio.Details.Album]] ]&#039;&#039; albums]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve recently added albums&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;albums&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRecentlyAddedSongs ====&lt;br /&gt;
Retrieve recently added songs&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Amount|List.Amount]]&#039;&#039; albumlimit = -1] (The amount of recently added albums from which to return the songs)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Song|Audio.Fields.Song]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Song|Audio.Details.Song]] ]&#039;&#039; songs]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve recently added songs&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Amount&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The amount of recently added albums from which to return the songs&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumlimit&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;songs&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRecentlyPlayedAlbums ====&lt;br /&gt;
Retrieve recently played albums&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Album|Audio.Fields.Album]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Album|Audio.Details.Album]] ]&#039;&#039; albums]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve recently played albums&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;albums&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRecentlyPlayedSongs ====&lt;br /&gt;
Retrieve recently played songs&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Song|Audio.Fields.Song]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Song|Audio.Details.Song]] ]&#039;&#039; songs]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve recently played songs&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;songs&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetRoles ====&lt;br /&gt;
Retrieve all contributor roles&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Role|Audio.Fields.Role]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Audio.Details.Role|Audio.Details.Role]] ]&#039;&#039; roles&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all contributor roles&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Role&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;roles&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Role&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetSongDetails ====&lt;br /&gt;
Retrieve details about a specific song&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; songid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Song|Audio.Fields.Song]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Details.Song|Audio.Details.Song]]&#039;&#039; songdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific song&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;songid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;songdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetSongs ====&lt;br /&gt;
Retrieve all songs from specified album, artist or genre&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Audio.Fields.Song|Audio.Fields.Song]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|object|object|object|[[#List.Filter.Songs|List.Filter.Songs]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; includesingles = True] (Only songs from albums are returned when false, but overridden when singlesonly parameter is true)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; allroles = False] (Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; singlesonly = False] (Only singles are returned when true, and overrides includesingles parameter)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Audio.Details.Song|Audio.Details.Song]] ]&#039;&#039; songs]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all songs from specified album, artist or genre&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Song genre. Filter for existence of songs with this genre&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;role&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;album&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Songs&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Only songs from albums are returned when false, but overridden when singlesonly parameter is true&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;includesingles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to include all roles when filtering by artist, rather than default of excluding other contributors. When true it overrides any role filter value.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;allroles&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Only singles are returned when true, and overrides includesingles parameter&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;singlesonly&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;songs&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.GetSources ====&lt;br /&gt;
Get all music sources, including unique ID&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Fields.Source|Library.Fields.Source]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Library.Details.Source|Library.Details.Source]] ]&#039;&#039; sources&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get all music sources, including unique ID&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Fields.Source&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;sources&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Details.Source&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.Scan ====&lt;br /&gt;
Scans the audio sources for new library items&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; directory = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Scans the audio sources for new library items&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to show the progress bar or any other GUI dialog&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showdialogs&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.SetAlbumDetails ====&lt;br /&gt;
Update the given album with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; artist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; description = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; theme = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; mood = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; style = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; type = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; albumlabel = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; year = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainzalbumid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainzreleasegroupid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sortartist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; displayartist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; musicbrainzalbumartistid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; isboxset = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; releasedate = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaldate = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given album with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;description&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;theme&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;albumlabel&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;year&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzalbumid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzreleasegroupid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sortartist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;displayartist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;isboxset&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;releasedate&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaldate&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.SetArtistDetails ====&lt;br /&gt;
Update the given artist with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; artistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; artist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; instrument = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; style = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; mood = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; born = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; formed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; description = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; died = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; disbanded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; yearsactive = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainzartistid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sortname = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; type = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; gender = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; disambiguation = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given artist with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;instrument&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;born&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;formed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;description&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;died&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;disbanded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;yearsactive&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzartistid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sortname&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;gender&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;disambiguation&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.SetSongDetails ====&lt;br /&gt;
Update the given song with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; songid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; artist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; year = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; track = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; disc = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; duration = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; comment = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainztrackid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; musicbrainzartistid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; displayartist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sortartist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; mood = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; disctitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; releasedate = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaldate = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; bpm = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given song with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;songid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;year&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;track&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;disc&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;duration&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;comment&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainztrackid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicbrainzartistid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;displayartist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sortartist&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mood&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;disctitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;releasedate&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaldate&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;bpm&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Favourites ===&lt;br /&gt;
==== Favourites.AddFavourite ====&lt;br /&gt;
Add a favourite with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; title&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Favourite.Type|Favourite.Type]]&#039;&#039; type&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; path = None] (Required for media, script and androidapp favourites types)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; window = None] (Required for window favourite type)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; windowparameter = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Add a favourite with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Required for media, script and androidapp favourites types&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;path&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Required for window favourite type&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;window&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;windowparameter&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Favourites.GetFavourites ====&lt;br /&gt;
Retrieve all favourites&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Favourite.Type|Favourite.Type]]&#039;&#039; type = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Favourite.Fields.Favourite|Favourite.Fields.Favourite]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Favourite.Details.Favourite|Favourite.Details.Favourite]] ]&#039;&#039; favourites]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all favourites&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Type&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Fields.Favourite&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;favourites&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Details.Favourite&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Files ===&lt;br /&gt;
==== Files.Download ====&lt;br /&gt;
Downloads the given file&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; path&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;any&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Downloads the given file&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;path&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.GetDirectory ====&lt;br /&gt;
Get the directories and files in the given directory&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; directory&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Files.Media|Files.Media]]&#039;&#039; media = files]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Fields.Files|List.Fields.Files]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits] (Limits are applied after getting the directory content thus retrieval is not faster when they are applied.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#List.Item.File|List.Item.File]] ]&#039;&#039; files&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get the directories and files in the given directory&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;files&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Fields.Files&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Limits are applied after getting the directory content thus retrieval is not faster when they are applied.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;files&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Item.File&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.GetFileDetails ====&lt;br /&gt;
Get details for a specific file&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; file (Full path to the file)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Files.Media|Files.Media]]&#039;&#039; media = files]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Fields.Files|List.Fields.Files]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.Item.File|List.Item.File]]&#039;&#039; filedetails&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get details for a specific file&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Full path to the file&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;files&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Fields.Files&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;filedetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.Item.File&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.GetSources ====&lt;br /&gt;
Get the sources of the media windows&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Files.Media|Files.Media]]&#039;&#039; media&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.Items.Sources|List.Items.Sources]]&#039;&#039; sources&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get the sources of the media windows&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;sources&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.Items.Sources&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.PrepareDownload ====&lt;br /&gt;
Provides a way to download a given file (e.g. providing an URL to the real file location)&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; path&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;any&#039;&#039; details (Transport specific details on how/from where to download the given file)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; mode (Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; protocol&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Provides a way to download a given file (e.g. providing an URL to the real file location)&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;path&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;details&amp;quot;: {&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;Transport specific details on how/from where to download the given file&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;mode&amp;quot;: {&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;Direct mode allows using Files.Download whereas redirect mode requires the usage of a different protocol&amp;quot;,&lt;br /&gt;
        &amp;quot;enums&amp;quot;: [&lt;br /&gt;
          &amp;quot;redirect&amp;quot;,&lt;br /&gt;
          &amp;quot;direct&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;protocol&amp;quot;: {&lt;br /&gt;
        &amp;quot;enums&amp;quot;: [&lt;br /&gt;
          &amp;quot;http&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Files.SetFileDetails ====&lt;br /&gt;
Update the given specific file with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; file (Full path to the file)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Files.Media|Files.Media]]&#039;&#039; media (File type to update correct database. Currently only &amp;quot;video&amp;quot; is supported.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None] (Setting a valid lastplayed without a playcount will force playcount to 1.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Video.Resume|Video.Resume]]&#039;&#039; resume = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given specific file with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Full path to the file&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;File type to update correct database. Currently only \&amp;quot;video\&amp;quot; is supported.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Setting a valid lastplayed without a playcount will force playcount to 1.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== GUI ===&lt;br /&gt;
==== GUI.ActivateWindow ====&lt;br /&gt;
Activates the given window&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlGUI&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#GUI.Window|GUI.Window]]&#039;&#039; window&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[string]&#039;&#039; parameters]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Activates the given window&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Window&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;window&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;parameters&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlGUI&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#GUI.Property.Name|GUI.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#GUI.Property.Value|GUI.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.GetStereoscopicModes ====&lt;br /&gt;
Returns the supported stereoscopic modes of the GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#GUI.Stereoscopy.Mode|GUI.Stereoscopy.Mode]] ]&#039;&#039; stereoscopicmodes]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Returns the supported stereoscopic modes of the GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;stereoscopicmodes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Stereoscopy.Mode&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
        &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.SetFullscreen ====&lt;br /&gt;
Toggle fullscreen/GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlGUI&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; fullscreen&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;boolean (Fullscreen state)&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Toggle fullscreen/GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fullscreen&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlGUI&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Fullscreen state&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.SetStereoscopicMode ====&lt;br /&gt;
Sets the stereoscopic mode of the GUI to the given mode&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlGUI&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; mode&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Sets the stereoscopic mode of the GUI to the given mode&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;toggle&amp;quot;,&lt;br /&gt;
        &amp;quot;tomono&amp;quot;,&lt;br /&gt;
        &amp;quot;next&amp;quot;,&lt;br /&gt;
        &amp;quot;previous&amp;quot;,&lt;br /&gt;
        &amp;quot;select&amp;quot;,&lt;br /&gt;
        &amp;quot;off&amp;quot;,&lt;br /&gt;
        &amp;quot;split_vertical&amp;quot;,&lt;br /&gt;
        &amp;quot;split_horizontal&amp;quot;,&lt;br /&gt;
        &amp;quot;row_interleaved&amp;quot;,&lt;br /&gt;
        &amp;quot;hardware_based&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_cyan_red&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_green_magenta&amp;quot;,&lt;br /&gt;
        &amp;quot;monoscopic&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mode&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlGUI&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.ShowNotification ====&lt;br /&gt;
Shows a GUI notification&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlGUI&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; title&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; message&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: string|string&#039;&#039; image = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;integer&#039;&#039; displaytime = 5000] (The time in milliseconds the notification will be visible)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shows a GUI notification&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;message&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;image&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;info&amp;quot;,&lt;br /&gt;
            &amp;quot;warning&amp;quot;,&lt;br /&gt;
            &amp;quot;error&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 5000,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The time in milliseconds the notification will be visible&amp;quot;,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 1500,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;displaytime&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlGUI&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Input ===&lt;br /&gt;
==== Input.Back ====&lt;br /&gt;
Goes back in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Goes back in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ButtonEvent ====&lt;br /&gt;
Send a button press event&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; button (Button name)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; keymap (Keymap name (KB, XG, R1, or R2))&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;integer&#039;&#039; holdtime = 0] (Number of milliseconds to simulate button hold.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Send a button press event&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Button name&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;button&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Keymap name (KB, XG, R1, or R2)&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;KB&amp;quot;,&lt;br /&gt;
        &amp;quot;XG&amp;quot;,&lt;br /&gt;
        &amp;quot;R1&amp;quot;,&lt;br /&gt;
        &amp;quot;R2&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;keymap&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Number of milliseconds to simulate button hold.&amp;quot;,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;holdtime&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ContextMenu ====&lt;br /&gt;
Shows the context menu&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shows the context menu&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Down ====&lt;br /&gt;
Navigate down in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Navigate down in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ExecuteAction ====&lt;br /&gt;
Execute a specific action&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Input.Action|Input.Action]]&#039;&#039; action&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Execute a specific action&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Input.Action&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Home ====&lt;br /&gt;
Goes to home window in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Goes to home window in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Info ====&lt;br /&gt;
Shows the information dialog&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shows the information dialog&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Left ====&lt;br /&gt;
Navigate left in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Navigate left in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Right ====&lt;br /&gt;
Navigate right in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Navigate right in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Select ====&lt;br /&gt;
Select current item in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Select current item in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.SendText ====&lt;br /&gt;
Send a generic (unicode) text&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; text (Unicode text)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; done = True] (Whether this is the whole input or not (closes an open input dialog if true).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Send a generic (unicode) text&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Unicode text&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether this is the whole input or not (closes an open input dialog if true).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;done&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ShowCodec ====&lt;br /&gt;
Show codec information of the playing item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Show codec information of the playing item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ShowOSD ====&lt;br /&gt;
Show the on-screen display for the current player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Show the on-screen display for the current player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.ShowPlayerProcessInfo ====&lt;br /&gt;
Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Show player process information of the playing item, like video decoder, pixel format, pvr signal strength, ...&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.Up ====&lt;br /&gt;
Navigate up in GUI&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Navigate up in GUI&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== JSONRPC ===&lt;br /&gt;
==== JSONRPC.GetConfiguration ====&lt;br /&gt;
Get client-specific configurations&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Configuration|Configuration]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get client-specific configurations&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Configuration&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.Introspect ====&lt;br /&gt;
Enumerates all actions and descriptions&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; getdescriptions = True]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; getmetadata = False]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; filterbytransport = True]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Enumerates all actions and descriptions&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;getdescriptions&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;getmetadata&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filterbytransport&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;getreferences&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: true,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Whether or not to print the schema for referenced types&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Name of a namespace, method or type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Type of the given name&amp;quot;,&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;method&amp;quot;,&lt;br /&gt;
            &amp;quot;namespace&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;,&lt;br /&gt;
            &amp;quot;notification&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.NotifyAll ====&lt;br /&gt;
Notify all other connected clients&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; message&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;any&#039;&#039; data = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;any&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Notify all other connected clients&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;message&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.Permission ====&lt;br /&gt;
Retrieve the clients permissions&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlgui&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlnotify&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlplayback&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlpower&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlpvr&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; controlsystem&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; executeaddon&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; manageaddon&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; navigate&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; readdata&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; removedata&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; updatedata&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; writefile&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve the clients permissions&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;controlgui&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlnotify&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlplayback&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlpower&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlpvr&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;controlsystem&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;executeaddon&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;manageaddon&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;navigate&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;readdata&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;removedata&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;updatedata&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;writefile&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.Ping ====&lt;br /&gt;
Ping responder&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Ping responder&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.SetConfiguration ====&lt;br /&gt;
Change the client-specific configuration&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlNotify&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; notifications]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Configuration|Configuration]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Change the client-specific configuration&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;notifications&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;application&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;audiolibrary&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;gui&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;input&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;other&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;player&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playlist&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;system&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;videolibrary&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlNotify&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Configuration&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== JSONRPC.Version ====&lt;br /&gt;
Retrieve the JSON-RPC protocol version.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;object&#039;&#039; version&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve the JSON-RPC protocol version.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;version&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;major&amp;quot;: {&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Bumped on backwards incompatible changes to the API definition&amp;quot;,&lt;br /&gt;
            &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minor&amp;quot;: {&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Bumped on backwards compatible additions/changes to the API definition&amp;quot;,&lt;br /&gt;
            &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;patch&amp;quot;: {&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Bumped on any changes to the internal implementation but not to the API definition&amp;quot;,&lt;br /&gt;
            &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== PVR ===&lt;br /&gt;
==== PVR.AddTimer ====&lt;br /&gt;
Adds a timer to record the given show one times or a timer rule to record all showings of the given show or adds a reminder timer or reminder timer rule&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid (the broadcast id of the item to record)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; timerrule = False] (controls whether to create a timer rule or a onetime timer)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; reminder = False] (controls whether to create a reminder timer or a recording timer)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Adds a timer to record the given show one times or a timer rule to record all showings of the given show or adds a reminder timer or reminder timer rule&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;the broadcast id of the item to record&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;broadcastid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;controls whether to create a timer rule or a onetime timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;timerrule&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;controls whether to create a reminder timer or a recording timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;reminder&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.DeleteTimer ====&lt;br /&gt;
Deletes a onetime timer or a timer rule&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; timerid (the id of the onetime timer or timer rule to delete)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Deletes a onetime timer or a timer rule&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;the id of the onetime timer or timer rule to delete&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;timerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetBroadcastDetails ====&lt;br /&gt;
Retrieves the details of a specific broadcast&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Broadcast|PVR.Fields.Broadcast]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.Broadcast|PVR.Details.Broadcast]]&#039;&#039; broadcastdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific broadcast&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;broadcastid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Broadcast&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;broadcastdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetBroadcastIsPlayable ====&lt;br /&gt;
Retrieves whether or not a broadcast is playable&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid (the id of the broadcast to to check for playability)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;boolean&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves whether or not a broadcast is playable&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;the id of the broadcast to to check for playability&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;broadcastid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetBroadcasts ====&lt;br /&gt;
Retrieves the program of a specific channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Broadcast|PVR.Fields.Broadcast]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Broadcast|PVR.Details.Broadcast]] ]&#039;&#039; broadcasts&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the program of a specific channel&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channelid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Broadcast&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;broadcasts&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetChannelDetails ====&lt;br /&gt;
Retrieves the details of a specific channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Channel|PVR.Fields.Channel]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.Channel|PVR.Details.Channel]]&#039;&#039; channeldetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific channel&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channelid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Channel&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;channeldetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Channel&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetChannelGroupDetails ====&lt;br /&gt;
Retrieves the details of a specific channel group&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#PVR.ChannelGroup.Id|PVR.ChannelGroup.Id]]&#039;&#039; channelgroupid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; channels]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.ChannelGroup.Extended|PVR.Details.ChannelGroup.Extended]]&#039;&#039; channelgroupdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific channel group&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.ChannelGroup.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channelgroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channels&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;limits&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Channel&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;channelgroupdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.ChannelGroup.Extended&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetChannelGroups ====&lt;br /&gt;
Retrieves the channel groups for the specified type&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#PVR.Channel.Type|PVR.Channel.Type]]&#039;&#039; channeltype&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.ChannelGroup|PVR.Details.ChannelGroup]] ]&#039;&#039; channelgroups&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the channel groups for the specified type&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channeltype&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;channelgroups&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.ChannelGroup&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetChannels ====&lt;br /&gt;
Retrieves the channel list&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#PVR.ChannelGroup.Id|PVR.ChannelGroup.Id]]&#039;&#039; channelgroupid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Channel|PVR.Fields.Channel]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Channel|PVR.Details.Channel]] ]&#039;&#039; channels&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the channel list&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.ChannelGroup.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channelgroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Channel&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;channels&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Channel&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetClients ====&lt;br /&gt;
Retrieves the enabled PVR clients and their capabilities&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Client|PVR.Details.Client]] ]&#039;&#039; clients&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the enabled PVR clients and their capabilities&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;clients&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Client&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Property.Name|PVR.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#PVR.Property.Value|PVR.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetRecordingDetails ====&lt;br /&gt;
Retrieves the details of a specific recording&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; recordingid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Recording|PVR.Fields.Recording]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.Recording|PVR.Details.Recording]]&#039;&#039; recordingdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific recording&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;recordingid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Recording&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;recordingdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Recording&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetRecordings ====&lt;br /&gt;
Retrieves the recordings&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Recording|PVR.Fields.Recording]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Recording|PVR.Details.Recording]] ]&#039;&#039; recordings&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the recordings&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Recording&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;recordings&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Recording&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetTimerDetails ====&lt;br /&gt;
Retrieves the details of a specific timer&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; timerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Timer|PVR.Fields.Timer]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Details.Timer|PVR.Details.Timer]]&#039;&#039; timerdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the details of a specific timer&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;timerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;timerdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Timer&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.GetTimers ====&lt;br /&gt;
Retrieves the timers&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#PVR.Fields.Timer|PVR.Fields.Timer]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#PVR.Details.Timer|PVR.Details.Timer]] ]&#039;&#039; timers&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the timers&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Fields.Timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;timers&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Timer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Record ====&lt;br /&gt;
Toggle recording of a channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; record = toggle]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: string|[[#Library.Id|Library.Id]]&#039;&#039; channel = current]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Toggle recording of a channel&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;current&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;channel&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;current&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Scan ====&lt;br /&gt;
Starts a channel scan&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1] (Specify a PVR client id to avoid UI dialog, optional in kodi 19, required in kodi 20)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Starts a channel scan&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Specify a PVR client id to avoid UI dialog, optional in kodi 19, required in kodi 20&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;clientid&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.ToggleTimer ====&lt;br /&gt;
Creates or deletes a onetime timer or timer rule for a given show. If it exists, it will be deleted. If it does not exist, it will be created&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPVR&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid (the broadcast id of the item to toggle a onetime timer or time rule for)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; timerrule = False] (controls whether to create / delete a timer rule or a onetime timer)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Creates or deletes a onetime timer or timer rule for a given show. If it exists, it will be deleted. If it does not exist, it will be created&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;the broadcast id of the item to toggle a onetime timer or time rule for&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;broadcastid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;controls whether to create / delete a timer rule or a onetime timer&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;timerrule&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPVR&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Player ===&lt;br /&gt;
==== Player.AddSubtitle ====&lt;br /&gt;
Add subtitle to the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; subtitle (Local path or remote URL to the subtitle file to load)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Add subtitle to the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Local path or remote URL to the subtitle file to load&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;subtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetAudioDelay ====&lt;br /&gt;
Get the audio delay for the current playback&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[number]]&#039;&#039; offset] The offset value used in the current playback.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Returns the offset value used in the current playback&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;offset&amp;quot;: {&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;The offset value used in the current playback.&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetActivePlayers ====&lt;br /&gt;
Returns all active players&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Returns all active players&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;items&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playerid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playertype&amp;quot;: {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;internal&amp;quot;,&lt;br /&gt;
            &amp;quot;external&amp;quot;,&lt;br /&gt;
            &amp;quot;remote&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetItem ====&lt;br /&gt;
Retrieves the currently played item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Fields.All|List.Fields.All]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.Item.All|List.Item.All]]&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the currently played item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Fields.All&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;item&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.Item.All&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetPlayers ====&lt;br /&gt;
Get a list of available players&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; media = all]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get a list of available players&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;all&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;all&amp;quot;,&lt;br /&gt;
        &amp;quot;video&amp;quot;,&lt;br /&gt;
        &amp;quot;audio&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;media&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;items&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playsaudio&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playsvideo&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;internal&amp;quot;,&lt;br /&gt;
            &amp;quot;external&amp;quot;,&lt;br /&gt;
            &amp;quot;remote&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Player.Property.Name|Player.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Player.Property.Value|Player.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Player.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GetViewMode ====&lt;br /&gt;
Get view mode of video player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;boolean&#039;&#039; nonlinearstretch&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;number&#039;&#039; pixelratio&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;number&#039;&#039; verticalshift&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.ViewMode|Player.ViewMode]]&#039;&#039; viewmode&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;number&#039;&#039; zoom&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get view mode of video player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;nonlinearstretch&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;pixelratio&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;verticalshift&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;viewmode&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.ViewMode&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;zoom&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.GoTo ====&lt;br /&gt;
Go to previous/next/specific item in the playlist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|[[#Playlist.Position|Playlist.Position]]&#039;&#039; to&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Go to previous/next/specific item in the playlist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;to&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;previous&amp;quot;,&lt;br /&gt;
            &amp;quot;next&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;position in playlist&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Move ====&lt;br /&gt;
If picture is zoomed move viewport left/right/up/down otherwise skip previous/next&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; direction&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;If picture is zoomed move viewport left/right/up/down otherwise skip previous/next&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;left&amp;quot;,&lt;br /&gt;
        &amp;quot;right&amp;quot;,&lt;br /&gt;
        &amp;quot;up&amp;quot;,&lt;br /&gt;
        &amp;quot;down&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;direction&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Open ====&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|[[#Playlist.Item|Playlist.Item]]|object|object|object|object|object&#039;&#039; item]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; options]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;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.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;position&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
              &amp;quot;default&amp;quot;: 0&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;path&amp;quot;: {&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;random&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: true,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Deprecated, use the shuffled property of the options parameter instead&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;recursive&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;partymode&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: [&lt;br /&gt;
                {&lt;br /&gt;
                  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
                    &amp;quot;music&amp;quot;,&lt;br /&gt;
                    &amp;quot;video&amp;quot;&lt;br /&gt;
                  ],&lt;br /&gt;
                  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                  &amp;quot;description&amp;quot;: &amp;quot;Path to a smartplaylist (*.xsp) file&amp;quot;,&lt;br /&gt;
                  &amp;quot;minLength&amp;quot;: 5,&lt;br /&gt;
                  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;broadcastid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;channelid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;recordingid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;options&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playername&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: null,&lt;br /&gt;
          &amp;quot;type&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;enums&amp;quot;: [&lt;br /&gt;
                &amp;quot;default&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;name of player&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;repeat&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: null,&lt;br /&gt;
          &amp;quot;type&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Repeat&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;resume&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to resume from the resume point or not&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Percentage value to start from&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Time&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Time to start from&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;shuffled&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: null&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.PlayPause ====&lt;br /&gt;
Pauses or unpause playback and returns the new state&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; play = toggle]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Player.Speed|Player.Speed]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Pauses or unpause playback and returns the new state&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;play&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Player.Speed&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Rotate ====&lt;br /&gt;
Rotates current picture&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; value = clockwise]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Rotates current picture&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;clockwise&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;clockwise&amp;quot;,&lt;br /&gt;
        &amp;quot;counterclockwise&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;value&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Seek ====&lt;br /&gt;
Seek through the playing item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object|object|object&#039;&#039; value&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Player.Position.Percentage|Player.Position.Percentage]]&#039;&#039; percentage]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; time] (A duration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; totaltime] (A duration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Seek through the playing item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;value&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;percentage&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Percentage value to seek to&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;time&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Time&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Time to seek to&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;step&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Seek by predefined jumps&amp;quot;,&lt;br /&gt;
              &amp;quot;enums&amp;quot;: [&lt;br /&gt;
                &amp;quot;smallforward&amp;quot;,&lt;br /&gt;
                &amp;quot;smallbackward&amp;quot;,&lt;br /&gt;
                &amp;quot;bigforward&amp;quot;,&lt;br /&gt;
                &amp;quot;bigbackward&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;seconds&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Seek by the given number of seconds&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;percentage&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
        &amp;quot;default&amp;quot;: 0.0&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;time&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;totaltime&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetAudioDelay ====&lt;br /&gt;
Set the audio delay for the current playback&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;number&#039;&#039; offset&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[number]]&#039;&#039; offset] The offset value used in the current playback.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;offset&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;The value should be a multiple of 0.025 in a range of +/-10 (the default range can be overriden by advancedsettings.xml).&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.IncrementDecrement&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;offset&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;The offset value used in the current playback.&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetAudioStream ====&lt;br /&gt;
Set the audio stream played by the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|integer&#039;&#039; stream&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the audio stream played by the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;stream&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;previous&amp;quot;,&lt;br /&gt;
            &amp;quot;next&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Index of the audio stream to play&amp;quot;,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetPartymode ====&lt;br /&gt;
Turn partymode on or off&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; partymode&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Turn partymode on or off&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;partymode&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetRepeat ====&lt;br /&gt;
Set the repeat mode of the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: [[#Player.Repeat|Player.Repeat]]|string&#039;&#039; repeat&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the repeat mode of the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;repeat&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Repeat&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;cycle&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetShuffle ====&lt;br /&gt;
Shuffle/Unshuffle items in the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Global.Toggle|Global.Toggle]]&#039;&#039; shuffle&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shuffle/Unshuffle items in the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;shuffle&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetSpeed ====&lt;br /&gt;
Set the speed of the current playback&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: integer|[[#Global.IncrementDecrement|Global.IncrementDecrement]]&#039;&#039; speed&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Player.Speed|Player.Speed]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the speed of the current playback&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;speed&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            -32,&lt;br /&gt;
            -16,&lt;br /&gt;
            -8,&lt;br /&gt;
            -4,&lt;br /&gt;
            -2,&lt;br /&gt;
            -1,&lt;br /&gt;
            0,&lt;br /&gt;
            1,&lt;br /&gt;
            2,&lt;br /&gt;
            4,&lt;br /&gt;
            8,&lt;br /&gt;
            16,&lt;br /&gt;
            32&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.IncrementDecrement&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Player.Speed&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetSubtitle ====&lt;br /&gt;
Set the subtitle displayed by the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|integer&#039;&#039; subtitle&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; enable = False] (Whether to enable subtitles to be displayed after setting the new subtitle)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the subtitle displayed by the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;subtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;previous&amp;quot;,&lt;br /&gt;
            &amp;quot;next&amp;quot;,&lt;br /&gt;
            &amp;quot;off&amp;quot;,&lt;br /&gt;
            &amp;quot;on&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Index of the subtitle to display&amp;quot;,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether to enable subtitles to be displayed after setting the new subtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;enable&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetVideoStream ====&lt;br /&gt;
Set the video stream played by the player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|integer&#039;&#039; stream&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set the video stream played by the player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;stream&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;previous&amp;quot;,&lt;br /&gt;
            &amp;quot;next&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Index of the video stream to play&amp;quot;,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.SetViewMode ====&lt;br /&gt;
Set view mode of video player&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: [[#Player.CustomViewMode|Player.CustomViewMode]]|[[#Player.ViewMode|Player.ViewMode]]&#039;&#039; viewmode&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Set view mode of video player&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;viewmode&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.CustomViewMode&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Custom view mode&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.ViewMode&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Stop ====&lt;br /&gt;
Stops playback&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Stops playback&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Zoom ====&lt;br /&gt;
Zoom current picture&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: string|integer&#039;&#039; zoom&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Zoom current picture&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playerid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;zoom&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;in&amp;quot;,&lt;br /&gt;
            &amp;quot;out&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;zoom level&amp;quot;,&lt;br /&gt;
          &amp;quot;maximum&amp;quot;: 10,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Playlist ===&lt;br /&gt;
==== Playlist.Add ====&lt;br /&gt;
Add item(s) to playlist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: [[#Playlist.Item|Playlist.Item]]|array&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Add item(s) to playlist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Clear ====&lt;br /&gt;
Clear playlist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Clear playlist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.GetItems ====&lt;br /&gt;
Get all items from playlist&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Fields.All|List.Fields.All]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#List.Item.All|List.Item.All]] ]&#039;&#039; items&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Get all items from playlist&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Fields.All&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Item.All&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.GetPlaylists ====&lt;br /&gt;
Returns all existing playlists&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Returns all existing playlists&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;items&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Playlist.Property.Name|Playlist.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Playlist.Property.Value|Playlist.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Insert ====&lt;br /&gt;
Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: [[#Playlist.Item|Playlist.Item]]|array&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Insert item(s) into playlist. Does not work for picture playlists (aka slideshows).&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;position&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Item&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Remove ====&lt;br /&gt;
Remove item from playlist. Does not work for picture playlists (aka slideshows).&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Remove item from playlist. Does not work for picture playlists (aka slideshows).&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;position&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Swap ====&lt;br /&gt;
Swap items in the playlist. Does not work for picture playlists (aka slideshows).&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPlayback&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position1&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position2&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Swap items in the playlist. Does not work for picture playlists (aka slideshows).&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;position1&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;position2&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPlayback&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Profiles ===&lt;br /&gt;
==== Profiles.GetCurrentProfile ====&lt;br /&gt;
Retrieve the current profile&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Profiles.Fields.Profile|Profiles.Fields.Profile]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#Profiles.Details.Profile|Profiles.Details.Profile]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve the current profile&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Fields.Profile&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Details.Profile&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Profiles.GetProfiles ====&lt;br /&gt;
Retrieve all profiles&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Profiles.Fields.Profile|Profiles.Fields.Profile]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Profiles.Details.Profile|Profiles.Details.Profile]] ]&#039;&#039; profiles&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all profiles&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Fields.Profile&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;profiles&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Details.Profile&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Profiles.LoadProfile ====&lt;br /&gt;
Load the specified profile&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* Navigate&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; profile (Profile name)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; prompt = False] (Prompt for password)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Profiles.Password|Profiles.Password]]&#039;&#039; password]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Load the specified profile&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Profile name&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;profile&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Prompt for password&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;prompt&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Profiles.Password&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;password&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;Navigate&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Settings ===&lt;br /&gt;
==== Settings.GetCategories ====&lt;br /&gt;
Retrieves all setting categories&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; level = standard]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; section = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Setting.Details.Category|Setting.Details.Category]] ]&#039;&#039; categories]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves all setting categories&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;standard&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;level&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;section&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;enums&amp;quot;: [&lt;br /&gt;
          &amp;quot;settings&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;categories&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Category&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.GetSections ====&lt;br /&gt;
Retrieves all setting sections&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; level = standard]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Setting.Details.Section|Setting.Details.Section]] ]&#039;&#039; sections]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves all setting sections&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;standard&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;level&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;enums&amp;quot;: [&lt;br /&gt;
          &amp;quot;categories&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;sections&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Section&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.GetSettingValue ====&lt;br /&gt;
Retrieves the value of a setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#Setting.Value.Extended|Setting.Value.Extended]]&#039;&#039; value&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the value of a setting&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setting&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;value&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.Extended&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.GetSettings ====&lt;br /&gt;
Retrieves all settings&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; level = standard]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Setting.Details.Setting|Setting.Details.Setting]] ]&#039;&#039; settings]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves all settings&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;standard&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;level&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;category&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;section&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;settings&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Setting&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.ResetSettingValue ====&lt;br /&gt;
Resets the value of a setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Resets the value of a setting&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setting&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Settings.SetSettingValue ====&lt;br /&gt;
Changes the value of a setting&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; setting&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Setting.Value.Extended|Setting.Value.Extended]]&#039;&#039; value&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;boolean&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Changes the value of a setting&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setting&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.Extended&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;value&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== System ===&lt;br /&gt;
==== System.EjectOpticalDrive ====&lt;br /&gt;
Ejects or closes the optical disc drive (if available)&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlSystem&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Ejects or closes the optical disc drive (if available)&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlSystem&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.GetProperties ====&lt;br /&gt;
Retrieves the values of the given properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#System.Property.Name|System.Property.Name]] ]&#039;&#039; properties&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;[[#System.Property.Value|System.Property.Value]]&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieves the values of the given properties&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;System.Property.Name&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;System.Property.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Hibernate ====&lt;br /&gt;
Puts the system running Kodi into hibernate mode&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Puts the system running Kodi into hibernate mode&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Reboot ====&lt;br /&gt;
Reboots the system running Kodi&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Reboots the system running Kodi&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Shutdown ====&lt;br /&gt;
Shuts the system running Kodi down&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Shuts the system running Kodi down&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Suspend ====&lt;br /&gt;
Suspends the system running Kodi&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ControlPower&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Suspends the system running Kodi&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ControlPower&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Textures ===&lt;br /&gt;
==== Textures.GetTextures ====&lt;br /&gt;
Retrieve all textures&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Textures.Fields.Texture|Textures.Fields.Texture]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Filter.Textures|List.Filter.Textures]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#Textures.Details.Texture|Textures.Details.Texture]] ]&#039;&#039; textures&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all textures&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Textures.Fields.Texture&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Textures&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;textures&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Textures.Details.Texture&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Textures.RemoveTexture ====&lt;br /&gt;
Remove the specified texture&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; textureid (Texture database identifier)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Remove the specified texture&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Texture database identifier&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;textureid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== VideoLibrary ===&lt;br /&gt;
==== VideoLibrary.Clean ====&lt;br /&gt;
Cleans the video library for non-existent items&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; content = video] (Content type to clean for)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; directory = &amp;quot;&amp;quot;] (Path to the directory to clean up; performs a global cleanup if not specified)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Cleans the video library for non-existent items&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to show the progress bar or any other GUI dialog&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showdialogs&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;video&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Content type to clean for&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;video&amp;quot;,&lt;br /&gt;
        &amp;quot;movies&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshows&amp;quot;,&lt;br /&gt;
        &amp;quot;musicvideos&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;content&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Path to the directory to clean up; performs a global cleanup if not specified&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.Export ====&lt;br /&gt;
Exports all items from the video library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* WriteFile&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object&#039;&#039; options]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Exports all items from the video library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;options&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;path&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Path to the directory to where the data should be exported&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;actorthumbs&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to export actor thumbnails&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;images&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to export thumbnails and fanart images&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;overwrite&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: false,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Whether to overwrite existing exported files&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;WriteFile&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetAvailableArt ====&lt;br /&gt;
Retrieve all potential art URLs for a media item by art type&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object|object|object|object|object&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; arttype = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array&#039;&#039; availableart&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all potential art URLs for a media item by art type&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;episodeid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;seasonid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;movieid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;setid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;musicvideoid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;arttype&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;availableart&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;arttype&amp;quot;: {&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;previewurl&amp;quot;: {&lt;br /&gt;
              &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;URL to a preview thumbnail of the image&amp;quot;,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;url&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;URL to the original image&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetAvailableArtTypes ====&lt;br /&gt;
Retrieve a list of potential art types for a media item&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;mixed: object|object|object|object|object|object&#039;&#039; item&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array&#039;&#039; availablearttypes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve a list of potential art types for a media item&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;episodeid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;seasonid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;movieid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;setid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;musicvideoid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;availablearttypes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetEpisodeDetails ====&lt;br /&gt;
Retrieve details about a specific tv show episode&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Episode|Video.Fields.Episode]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.Episode|Video.Details.Episode]]&#039;&#039; episodedetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific tv show episode&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Episode&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;episodedetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Episode&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetEpisodes ====&lt;br /&gt;
Retrieve all tv show episodes&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;integer&#039;&#039; season = -1]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Episode|Video.Fields.Episode]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|[[#List.Filter.Episodes|List.Filter.Episodes]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Episode|Video.Details.Episode]] ]&#039;&#039; episodes]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all tv show episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Episode&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Requires tvshowid to be set&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Requires tvshowid to be set&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;year&amp;quot;: {&lt;br /&gt;
              &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;actor&amp;quot;: {&lt;br /&gt;
              &amp;quot;description&amp;quot;: &amp;quot;Requires tvshowid to be set&amp;quot;,&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;director&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Episodes&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;episodes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Episode&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetGenres ====&lt;br /&gt;
Retrieve all genres&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; type&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Fields.Genre|Library.Fields.Genre]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;array[ [[#Library.Details.Genre|Library.Details.Genre]] ]&#039;&#039; genres&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all genres&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;movie&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshow&amp;quot;,&lt;br /&gt;
        &amp;quot;musicvideo&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Fields.Genre&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;genres&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Details.Genre&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetInProgressTVShows ====&lt;br /&gt;
Retrieve all in progress tvshows&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.TVShow|Video.Fields.TVShow]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.TVShow|Video.Details.TVShow]] ]&#039;&#039; tvshows]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all in progress tvshows&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.TVShow&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;tvshows&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.TVShow&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMovieDetails ====&lt;br /&gt;
Retrieve details about a specific movie&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Movie|Video.Fields.Movie]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.Movie|Video.Details.Movie]]&#039;&#039; moviedetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific movie&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movieid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;moviedetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMovieSetDetails ====&lt;br /&gt;
Retrieve details about a specific movie set&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MovieSet|Video.Fields.MovieSet]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; movies]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.MovieSet.Extended|Video.Details.MovieSet.Extended]]&#039;&#039; setdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific movie set&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MovieSet&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movies&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;limits&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;sort&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;setdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MovieSet.Extended&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMovieSets ====&lt;br /&gt;
Retrieve all movie sets&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MovieSet|Video.Fields.MovieSet]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.MovieSet|Video.Details.MovieSet]] ]&#039;&#039; sets]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all movie sets&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MovieSet&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;sets&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MovieSet&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMovies ====&lt;br /&gt;
Retrieve all movies&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Movie|Video.Fields.Movie]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|object|object|object|[[#List.Filter.Movies|List.Filter.Movies]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Movie|Video.Details.Movie]] ]&#039;&#039; movies]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all movies&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;year&amp;quot;: {&lt;br /&gt;
              &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;actor&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;director&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;studio&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;country&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;setid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;set&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tag&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Movies&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;movies&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMusicVideoDetails ====&lt;br /&gt;
Retrieve details about a specific music video&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MusicVideo|Video.Fields.MusicVideo]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.MusicVideo|Video.Details.MusicVideo]]&#039;&#039; musicvideodetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific music video&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicvideoid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MusicVideo&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;musicvideodetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MusicVideo&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetMusicVideos ====&lt;br /&gt;
Retrieve all music videos&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MusicVideo|Video.Fields.MusicVideo]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|object|[[#List.Filter.MusicVideos|List.Filter.MusicVideos]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.MusicVideo|Video.Details.MusicVideo]] ]&#039;&#039; musicvideos]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all music videos&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MusicVideo&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;artist&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;year&amp;quot;: {&lt;br /&gt;
              &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;director&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;studio&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tag&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.MusicVideos&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;musicvideos&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MusicVideo&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetRecentlyAddedEpisodes ====&lt;br /&gt;
Retrieve all recently added tv episodes&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Episode|Video.Fields.Episode]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Episode|Video.Details.Episode]] ]&#039;&#039; episodes]&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all recently added tv episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Episode&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;episodes&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Episode&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetRecentlyAddedMovies ====&lt;br /&gt;
Retrieve all recently added movies&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Movie|Video.Fields.Movie]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Movie|Video.Details.Movie]] ]&#039;&#039; movies]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all recently added movies&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;movies&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetRecentlyAddedMusicVideos ====&lt;br /&gt;
Retrieve all recently added music videos&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.MusicVideo|Video.Fields.MusicVideo]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.MusicVideo|Video.Details.MusicVideo]] ]&#039;&#039; musicvideos]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all recently added music videos&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.MusicVideo&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;musicvideos&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.MusicVideo&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetSeasonDetails ====&lt;br /&gt;
Retrieve details about a specific tv show season&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; seasonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Season|Video.Fields.Season]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.Season|Video.Details.Season]]&#039;&#039; seasondetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific tv show season&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;seasonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Season&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;seasondetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Season&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetSeasons ====&lt;br /&gt;
Retrieve all tv seasons&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.Season|Video.Fields.Season]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.Season|Video.Details.Season]] ]&#039;&#039; seasons]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all tv seasons&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.Season&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;seasons&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Season&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetTVShowDetails ====&lt;br /&gt;
Retrieve details about a specific tv show&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.TVShow|Video.Fields.TVShow]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# [&#039;&#039;[[#Video.Details.TVShow|Video.Details.TVShow]]&#039;&#039; tvshowdetails]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve details about a specific tv show&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.TVShow&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;tvshowdetails&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.TVShow&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetTVShows ====&lt;br /&gt;
Retrieve all tv shows&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Fields.TVShow|Video.Fields.TVShow]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: object|object|object|object|object|object|[[#List.Filter.TVShows|List.Filter.TVShows]]&#039;&#039; filter]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;array[ [[#Video.Details.TVShow|Video.Details.TVShow]] ]&#039;&#039; tvshows]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all tv shows&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Fields.TVShow&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
              &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;genre&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;year&amp;quot;: {&lt;br /&gt;
              &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;actor&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;studio&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
          &amp;quot;properties&amp;quot;: {&lt;br /&gt;
            &amp;quot;tag&amp;quot;: {&lt;br /&gt;
              &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
              &amp;quot;required&amp;quot;: true,&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.TVShows&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;tvshows&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.TVShow&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.GetTags ====&lt;br /&gt;
Retrieve all tags&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; type&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Library.Fields.Tag|Library.Fields.Tag]]&#039;&#039; properties]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Limits|List.Limits]]&#039;&#039; limits]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#List.Sort|List.Sort]]&#039;&#039; sort]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;array[ [[#Library.Details.Tag|Library.Details.Tag]] ]&#039;&#039; tags&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve all tags&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;movie&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshow&amp;quot;,&lt;br /&gt;
        &amp;quot;musicvideo&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Fields.Tag&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;properties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;limits&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sort&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;limits&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;tags&amp;quot;: {&lt;br /&gt;
        &amp;quot;items&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Details.Tag&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RefreshEpisode ====&lt;br /&gt;
Refresh the given episode in the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; ignorenfo = False] (Whether or not to ignore a local NFO if present.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; title = &amp;quot;&amp;quot;] (Title to use for searching (instead of determining it from the item&#039;s filename/path).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Refresh the given episode in the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to ignore a local NFO if present.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ignorenfo&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Title to use for searching (instead of determining it from the item&#039;s filename/path).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RefreshMovie ====&lt;br /&gt;
Refresh the given movie in the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; ignorenfo = False] (Whether or not to ignore a local NFO if present.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; title = &amp;quot;&amp;quot;] (Title to use for searching (instead of determining it from the item&#039;s filename/path).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Refresh the given movie in the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movieid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to ignore a local NFO if present.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ignorenfo&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Title to use for searching (instead of determining it from the item&#039;s filename/path).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RefreshMusicVideo ====&lt;br /&gt;
Refresh the given music video in the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; ignorenfo = False] (Whether or not to ignore a local NFO if present.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; title = &amp;quot;&amp;quot;] (Title to use for searching (instead of determining it from the item&#039;s filename/path).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Refresh the given music video in the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicvideoid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to ignore a local NFO if present.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ignorenfo&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Title to use for searching (instead of determining it from the item&#039;s filename/path).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RefreshTVShow ====&lt;br /&gt;
Refresh the given tv show in the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; ignorenfo = False] (Whether or not to ignore a local NFO if present.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; refreshepisodes = False] (Whether or not to refresh all episodes belonging to the TV show.)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; title = &amp;quot;&amp;quot;] (Title to use for searching (instead of determining it from the item&#039;s filename/path).)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Refresh the given tv show in the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to ignore a local NFO if present.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ignorenfo&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to refresh all episodes belonging to the TV show.&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;refreshepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Title to use for searching (instead of determining it from the item&#039;s filename/path).&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RemoveEpisode ====&lt;br /&gt;
Removes the given episode from the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Removes the given episode from the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RemoveMovie ====&lt;br /&gt;
Removes the given movie from the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Removes the given movie from the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movieid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RemoveMusicVideo ====&lt;br /&gt;
Removes the given music video from the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Removes the given music video from the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicvideoid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.RemoveTVShow ====&lt;br /&gt;
Removes the given tv show from the library&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* RemoveData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Removes the given tv show from the library&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;RemoveData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.Scan ====&lt;br /&gt;
Scans the video sources for new library items&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# [&#039;&#039;string&#039;&#039; directory = &amp;quot;&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;boolean&#039;&#039; showdialogs = True] (Whether or not to show the progress bar or any other GUI dialog)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Scans the video sources for new library items&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: true,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Whether or not to show the progress bar or any other GUI dialog&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showdialogs&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetEpisodeDetails ====&lt;br /&gt;
Update the given episode with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; runtime = None] (Runtime in seconds)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; director = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; writer = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; firstaired = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; productioncode = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; season = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; episode = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaltitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; fanart = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Video.Resume|Video.Resume]]&#039;&#039; resume = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Ratings.Set|Video.Ratings.Set]]&#039;&#039; ratings]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; dateadded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.UniqueID.Set|Media.UniqueID.Set]]&#039;&#039; uniqueid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given episode with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;runtime&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;firstaired&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;productioncode&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;season&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episode&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaltitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fanart&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Ratings.Set&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ratings&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;dateadded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetMovieDetails ====&lt;br /&gt;
Update the given movie with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; runtime = None] (Runtime in seconds)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; director = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; studio = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; year = None] (linked with premiered. Overridden by premiered parameter)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; mpaa = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; imdbnumber = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaltitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; trailer = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; tagline = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plotoutline = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; writer = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; country = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; top250 = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sorttitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; set = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; showlink = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; fanart = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; tag = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Video.Resume|Video.Resume]]&#039;&#039; resume = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Ratings.Set|Video.Ratings.Set]]&#039;&#039; ratings]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; dateadded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; premiered = None] (linked with year. Overrides year)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.UniqueID.Set|Media.UniqueID.Set]]&#039;&#039; uniqueid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given movie with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;movieid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;runtime&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;linked with premiered. Overridden by premiered parameter&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;year&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mpaa&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;imdbnumber&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaltitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;trailer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tagline&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plotoutline&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;country&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;top250&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sorttitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;set&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;showlink&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fanart&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Ratings.Set&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ratings&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;dateadded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;linked with year. Overrides year&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;premiered&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetMovieSetDetails ====&lt;br /&gt;
Update the given movie set with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given movie set with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetMusicVideoDetails ====&lt;br /&gt;
Update the given music video with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; runtime = None] (Runtime in seconds)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; director = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; studio = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; year = None] (linked with premiered. Overridden by premiered parameter)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; album = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; artist = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; track = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; fanart = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; tag = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Video.Resume|Video.Resume]]&#039;&#039; resume = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; dateadded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; premiered = None] (linked with year. Overrides year)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given music video with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;musicvideoid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;runtime&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;linked with premiered. Overridden by premiered parameter&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;year&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;track&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fanart&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;dateadded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;linked with year. Overrides year&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;premiered&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetSeasonDetails ====&lt;br /&gt;
Update the given season with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; seasonid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given season with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;seasonid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.SetTVShowDetails ====&lt;br /&gt;
Update the given tvshow with the given details&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* UpdateData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; title = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; playcount = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; studio = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; plot = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; genre = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Number|Optional.Number]]&#039;&#039; rating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; mpaa = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; imdbnumber = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; premiered = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; votes = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; lastplayed = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; originaltitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; sorttitle = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; episodeguide = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; thumbnail = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; fanart = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Array.String|Array.String]]&#039;&#039; tag = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.Artwork.Set|Media.Artwork.Set]]&#039;&#039; art = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; userrating = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Video.Ratings.Set|Video.Ratings.Set]]&#039;&#039; ratings]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; dateadded = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.Integer|Optional.Integer]]&#039;&#039; runtime = None] (Runtime in seconds)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;[[#Optional.String|Optional.String]]&#039;&#039; status = None] (Valid values: &#039;returning series&#039;, &#039;in production&#039;, &#039;planned&#039;, &#039;cancelled&#039;, &#039;ended&#039;)&amp;lt;br /&amp;gt;&lt;br /&gt;
# [&#039;&#039;mixed: null|[[#Media.UniqueID.Set|Media.UniqueID.Set]]&#039;&#039; uniqueid = None]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Update the given tvshow with the given details&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;title&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;playcount&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;plot&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;rating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;mpaa&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;imdbnumber&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;premiered&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;votes&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;lastplayed&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;originaltitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sorttitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;episodeguide&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;thumbnail&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;fanart&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;userrating&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Ratings.Set&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;ratings&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;dateadded&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;runtime&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Valid values: &#039;returning series&#039;, &#039;in production&#039;, &#039;planned&#039;, &#039;cancelled&#039;, &#039;ended&#039;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;status&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID.Set&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;UpdateData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== XBMC ===&lt;br /&gt;
==== XBMC.GetInfoBooleans ====&lt;br /&gt;
Retrieve info booleans about Kodi and the system&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[string]&#039;&#039; booleans&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object (Object containing key-value pairs of the retrieved info booleans)&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve info booleans about Kodi and the system&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;booleans&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Object containing key-value pairs of the retrieved info booleans&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== XBMC.GetInfoLabels ====&lt;br /&gt;
Retrieve info labels about Kodi and the system&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Permissions:&#039;&#039;&#039;&lt;br /&gt;
* ReadData&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;array[string]&#039;&#039; labels (See http://kodi.wiki/view/InfoLabels for a list of possible info labels)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object (Object containing key-value pairs of the retrieved info labels)&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Retrieve info labels about Kodi and the system&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;See http://kodi.wiki/view/InfoLabels for a list of possible info labels&amp;quot;,&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;labels&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;permission&amp;quot;: &amp;quot;ReadData&amp;quot;,&lt;br /&gt;
  &amp;quot;returns&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Object containing key-value pairs of the retrieved info labels&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;method&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
== Global Types ==&lt;br /&gt;
=== Addon ===&lt;br /&gt;
==== Addon.Content ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;audio&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;,&lt;br /&gt;
    &amp;quot;executable&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Addon.Content&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addon.Details ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; addonid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; author]&lt;br /&gt;
* [&#039;&#039;mixed: boolean|string&#039;&#039; broken]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; dependencies]&lt;br /&gt;
* [&#039;&#039;mixed: boolean|string&#039;&#039; deprecated]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; description]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disclaimer]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; enabled]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; extrainfo]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; fanart]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; installed]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; name]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; path]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; summary]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* &#039;&#039;[[#Addon.Types|Addon.Types]]&#039;&#039; type&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; version]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Addon.Details&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;addonid&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;author&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;broken&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;addonid&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;optional&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;version&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;deprecated&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disclaimer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;enabled&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;extrainfo&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;key&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;value&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fanart&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;installed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;path&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;summary&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Types&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;version&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addon.Fields ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Addon.Fields&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;name&amp;quot;,&lt;br /&gt;
      &amp;quot;version&amp;quot;,&lt;br /&gt;
      &amp;quot;summary&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;path&amp;quot;,&lt;br /&gt;
      &amp;quot;author&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;disclaimer&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;dependencies&amp;quot;,&lt;br /&gt;
      &amp;quot;broken&amp;quot;,&lt;br /&gt;
      &amp;quot;extrainfo&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;enabled&amp;quot;,&lt;br /&gt;
      &amp;quot;installed&amp;quot;,&lt;br /&gt;
      &amp;quot;deprecated&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Addon.Types ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.player.musicviz&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.gui.skin&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.pvrclient&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.inputstream&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.gameclient&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.peripheral&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.script&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.weather&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.subtitle.module&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.lyrics&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.albums&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.artists&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.movies&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.musicvideos&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.tvshows&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.ui.screensaver&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.pluginsource&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.repository&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.webinterface&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.service&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.audioencoder&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.context.item&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.audiodecoder&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.images&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.language&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.uisounds&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.games&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.resource.font&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.vfs&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.imagedecoder&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.metadata.scraper.library&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.library&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.python.module&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.game.controller&amp;quot;,&lt;br /&gt;
    &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.video&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.audio&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.image&amp;quot;,&lt;br /&gt;
    &amp;quot;xbmc.addon.executable&amp;quot;,&lt;br /&gt;
    &amp;quot;kodi.addon.game&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Addon.Types&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Application ===&lt;br /&gt;
==== Application.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;volume&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;volume&amp;quot;,&lt;br /&gt;
    &amp;quot;muted&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;,&lt;br /&gt;
    &amp;quot;version&amp;quot;,&lt;br /&gt;
    &amp;quot;sorttokens&amp;quot;,&lt;br /&gt;
    &amp;quot;language&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Application.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Application.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; language]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; muted]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; name]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; sorttokens]&lt;br /&gt;
* [&#039;&#039;object&#039;&#039; version]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; volume]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Application.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;language&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Current language code and region e.g. en_GB&amp;quot;,&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;muted&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sorttokens&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Articles ignored during sorting when ignorearticle is enabled.&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;version&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;major&amp;quot;: {&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;minor&amp;quot;: {&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;revision&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: null,&lt;br /&gt;
          &amp;quot;type&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;tag&amp;quot;: {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;prealpha&amp;quot;,&lt;br /&gt;
            &amp;quot;alpha&amp;quot;,&lt;br /&gt;
            &amp;quot;beta&amp;quot;,&lt;br /&gt;
            &amp;quot;releasecandidate&amp;quot;,&lt;br /&gt;
            &amp;quot;stable&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;tagversion&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;volume&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 100,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Array ===&lt;br /&gt;
==== Array.Integer ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Array.Integer&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Array.String ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Array.String&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Audio ===&lt;br /&gt;
==== Audio.Album.ReleaseType ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;album&amp;quot;,&lt;br /&gt;
    &amp;quot;single&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Artist.Roles ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Artist.Roles&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;The various roles contributed by an artist to one or more songs&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Contributors ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Contributors&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;The artist and the role they contribute to a song&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;name&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;role&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Album ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Media|Audio.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; albumduration]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumlabel]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumstatus]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; compilation]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; description]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isboxset]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastplayed]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; mood]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; musicbrainzalbumid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; musicbrainzreleasegroupid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; playcount]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Album.ReleaseType|Audio.Album.ReleaseType]]&#039;&#039; releasetype = album]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Details.Genres|Audio.Details.Genres]]&#039;&#039; songgenres]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; sourceid]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; style]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; theme]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; totaldiscs]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; type]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Audio.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Album&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;albumduration&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumstatus&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;compilation&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isboxset&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mood&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzalbumid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzreleasegroupid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;releasetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songgenres&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Genres&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;style&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;theme&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;totaldiscs&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Artist ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Base|Audio.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; artist&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; artistid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; born]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; compilationartist]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; description]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; died]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disambiguation]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disbanded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; formed]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; gender]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; instrument]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isalbumartist]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; mood]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; musicbrainzartistid]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Artist.Roles|Audio.Artist.Roles]]&#039;&#039; roles]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Details.Genres|Audio.Details.Genres]]&#039;&#039; songgenres]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sortname]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; sourceid]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; style]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; type]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; yearsactive]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Audio.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Artist&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;artist&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;born&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;compilationartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;died&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disambiguation&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disbanded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;formed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;gender&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;instrument&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isalbumartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mood&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;roles&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Artist.Roles&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songgenres&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Details.Genres&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sortname&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;style&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;yearsactive&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Media.Details.Base|Media.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Media.Artwork|Media.Artwork]]&#039;&#039; art]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; dateadded]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; genre]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Media.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;art&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Genres ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Genres&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
        &amp;quot;required&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;title&amp;quot;: {&lt;br /&gt;
        &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Media ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Base|Audio.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; artist]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; artistid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayartist]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; musicbrainzalbumartistid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaldate]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; releasedate]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sortartist]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Audio.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;artist&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzalbumartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaldate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;releasedate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sortartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Role ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; roleid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Role&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;roleid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Details.Song ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Media|Audio.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; album]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; albumartist]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; albumartistid]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Album.ReleaseType|Audio.Album.ReleaseType]]&#039;&#039; albumreleasetype = album]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; bitrate]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; bpm]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; channels]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; comment]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Contributors|Audio.Contributors]]&#039;&#039; contributors]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; disc]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disctitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displaycomposer]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayconductor]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displaylyricist]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayorchestra]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; duration]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; file]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; genreid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastplayed]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lyrics]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mood]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; musicbrainzartistid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; musicbrainztrackid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; playcount]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; samplerate]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; songid&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; sourceid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; track]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Audio.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Details.Song&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;album&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumreleasetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;bitrate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;bpm&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channels&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;comment&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;contributors&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Contributors&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disc&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disctitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displaycomposer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayconductor&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displaylyricist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayorchestra&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;duration&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lyrics&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mood&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainztrackid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;samplerate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;track&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Fields.Album ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Fields.Album&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the songgenres, artistid and/or sourceid fields will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;theme&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;albumlabel&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;displayartist&amp;quot;,&lt;br /&gt;
      &amp;quot;compilation&amp;quot;,&lt;br /&gt;
      &amp;quot;releasetype&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;sortartist&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzreleasegroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;songgenres&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;sourceid&amp;quot;,&lt;br /&gt;
      &amp;quot;isboxset&amp;quot;,&lt;br /&gt;
      &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
      &amp;quot;releasedate&amp;quot;,&lt;br /&gt;
      &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
      &amp;quot;albumstatus&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;,&lt;br /&gt;
      &amp;quot;albumduration&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Fields.Artist ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Fields.Artist&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the (song)genreid/genre, roleid/role or sourceid fields will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;instrument&amp;quot;,&lt;br /&gt;
      &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;born&amp;quot;,&lt;br /&gt;
      &amp;quot;formed&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;died&amp;quot;,&lt;br /&gt;
      &amp;quot;disbanded&amp;quot;,&lt;br /&gt;
      &amp;quot;yearsactive&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;compilationartist&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;roles&amp;quot;,&lt;br /&gt;
      &amp;quot;songgenres&amp;quot;,&lt;br /&gt;
      &amp;quot;isalbumartist&amp;quot;,&lt;br /&gt;
      &amp;quot;sortname&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;,&lt;br /&gt;
      &amp;quot;gender&amp;quot;,&lt;br /&gt;
      &amp;quot;disambiguation&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;sourceid&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Fields.Role ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Fields.Role&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Fields.Song ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Fields.Song&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the genreid, artistid, albumartistid and/or sourceid fields will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;album&amp;quot;,&lt;br /&gt;
      &amp;quot;track&amp;quot;,&lt;br /&gt;
      &amp;quot;duration&amp;quot;,&lt;br /&gt;
      &amp;quot;comment&amp;quot;,&lt;br /&gt;
      &amp;quot;lyrics&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainztrackid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;disc&amp;quot;,&lt;br /&gt;
      &amp;quot;genreid&amp;quot;,&lt;br /&gt;
      &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;displayartist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;albumreleasetype&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;contributors&amp;quot;,&lt;br /&gt;
      &amp;quot;displaycomposer&amp;quot;,&lt;br /&gt;
      &amp;quot;displayconductor&amp;quot;,&lt;br /&gt;
      &amp;quot;displayorchestra&amp;quot;,&lt;br /&gt;
      &amp;quot;displaylyricist&amp;quot;,&lt;br /&gt;
      &amp;quot;sortartist&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;sourceid&amp;quot;,&lt;br /&gt;
      &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
      &amp;quot;releasedate&amp;quot;,&lt;br /&gt;
      &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
      &amp;quot;bpm&amp;quot;,&lt;br /&gt;
      &amp;quot;samplerate&amp;quot;,&lt;br /&gt;
      &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
      &amp;quot;channels&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;missingartistid&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;missingartistid&amp;quot;,&lt;br /&gt;
    &amp;quot;librarylastupdated&amp;quot;,&lt;br /&gt;
    &amp;quot;librarylastcleaned&amp;quot;,&lt;br /&gt;
    &amp;quot;artistlinksupdated&amp;quot;,&lt;br /&gt;
    &amp;quot;songslastadded&amp;quot;,&lt;br /&gt;
    &amp;quot;albumslastadded&amp;quot;,&lt;br /&gt;
    &amp;quot;artistslastadded&amp;quot;,&lt;br /&gt;
    &amp;quot;genreslastadded&amp;quot;,&lt;br /&gt;
    &amp;quot;songsmodified&amp;quot;,&lt;br /&gt;
    &amp;quot;albumsmodified&amp;quot;,&lt;br /&gt;
    &amp;quot;artistsmodified&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Audio.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumslastadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumsmodified]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; artistlinksupdated]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; artistslastadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; artistsmodified]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; genreslastadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; librarylastcleaned]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; librarylastupdated]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; missingartistid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; songslastadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; songsmodified]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Audio.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;albumslastadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumsmodified&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistlinksupdated&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistslastadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artistsmodified&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genreslastadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;librarylastcleaned&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;librarylastupdated&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;missingartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songslastadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;songsmodified&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Configuration.Notifications|Configuration.Notifications]]&#039;&#039; notifications&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Configuration&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;notifications&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Configuration.Notifications&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;required&amp;quot;: true,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Configuration.Notifications ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; application&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; audiolibrary&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; gui&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; input&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; other&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; player&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; playlist&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; pvr&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; system&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; videolibrary&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Configuration.Notifications&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;application&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;audiolibrary&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;gui&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;input&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;other&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;player&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playlist&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;pvr&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;system&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;videolibrary&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Favourite ===&lt;br /&gt;
==== Favourite.Details.Favourite ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; path]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; title&lt;br /&gt;
* &#039;&#039;[[#Favourite.Type|Favourite.Type]]&#039;&#039; type&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; window]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; windowparameter]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Favourite.Details.Favourite&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;path&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Favourite.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;window&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;windowparameter&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Favourite.Fields.Favourite ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Favourite.Fields.Favourite&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;window&amp;quot;,&lt;br /&gt;
      &amp;quot;windowparameter&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;path&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Favourite.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;media&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;media&amp;quot;,&lt;br /&gt;
    &amp;quot;window&amp;quot;,&lt;br /&gt;
    &amp;quot;script&amp;quot;,&lt;br /&gt;
    &amp;quot;androidapp&amp;quot;,&lt;br /&gt;
    &amp;quot;unknown&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Favourite.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Files ===&lt;br /&gt;
==== Files.Media ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;video&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;music&amp;quot;,&lt;br /&gt;
    &amp;quot;pictures&amp;quot;,&lt;br /&gt;
    &amp;quot;files&amp;quot;,&lt;br /&gt;
    &amp;quot;programs&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== GUI ===&lt;br /&gt;
==== GUI.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;currentwindow&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;currentwindow&amp;quot;,&lt;br /&gt;
    &amp;quot;currentcontrol&amp;quot;,&lt;br /&gt;
    &amp;quot;skin&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreen&amp;quot;,&lt;br /&gt;
    &amp;quot;stereoscopicmode&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;GUI.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;object&#039;&#039; currentcontrol]&lt;br /&gt;
* [&#039;&#039;object&#039;&#039; currentwindow]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; fullscreen]&lt;br /&gt;
* [&#039;&#039;object&#039;&#039; skin]&lt;br /&gt;
* [&#039;&#039;[[#GUI.Stereoscopy.Mode|GUI.Stereoscopy.Mode]]&#039;&#039; stereoscopicmode]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;GUI.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;currentcontrol&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;label&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;currentwindow&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;label&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fullscreen&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;skin&amp;quot;: {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;stereoscopicmode&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;GUI.Stereoscopy.Mode&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.Stereoscopy.Mode ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; label&lt;br /&gt;
* &#039;&#039;string&#039;&#039; mode&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;GUI.Stereoscopy.Mode&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;label&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mode&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;off&amp;quot;,&lt;br /&gt;
        &amp;quot;split_vertical&amp;quot;,&lt;br /&gt;
        &amp;quot;split_horizontal&amp;quot;,&lt;br /&gt;
        &amp;quot;row_interleaved&amp;quot;,&lt;br /&gt;
        &amp;quot;hardware_based&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_cyan_red&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_green_magenta&amp;quot;,&lt;br /&gt;
        &amp;quot;anaglyph_yellow_blue&amp;quot;,&lt;br /&gt;
        &amp;quot;monoscopic&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.Window ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;addon&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;addon&amp;quot;,&lt;br /&gt;
    &amp;quot;addonbrowser&amp;quot;,&lt;br /&gt;
    &amp;quot;addoninformation&amp;quot;,&lt;br /&gt;
    &amp;quot;addonsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;appearancesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;busydialog&amp;quot;,&lt;br /&gt;
    &amp;quot;busydialognocancel&amp;quot;,&lt;br /&gt;
    &amp;quot;contentsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;contextmenu&amp;quot;,&lt;br /&gt;
    &amp;quot;eventlog&amp;quot;,&lt;br /&gt;
    &amp;quot;extendedprogressdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;favourites&amp;quot;,&lt;br /&gt;
    &amp;quot;filebrowser&amp;quot;,&lt;br /&gt;
    &amp;quot;filemanager&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreengame&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreeninfo&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenlivetv&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenlivetvinput&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenlivetvpreview&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenradio&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenradioinput&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenradiopreview&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreenvideo&amp;quot;,&lt;br /&gt;
    &amp;quot;gameadvancedsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;gamecontrollers&amp;quot;,&lt;br /&gt;
    &amp;quot;gameosd&amp;quot;,&lt;br /&gt;
    &amp;quot;gamepadinput&amp;quot;,&lt;br /&gt;
    &amp;quot;games&amp;quot;,&lt;br /&gt;
    &amp;quot;gamesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;gamestretchmode&amp;quot;,&lt;br /&gt;
    &amp;quot;gamevideofilter&amp;quot;,&lt;br /&gt;
    &amp;quot;gamevideorotation&amp;quot;,&lt;br /&gt;
    &amp;quot;gamevolume&amp;quot;,&lt;br /&gt;
    &amp;quot;home&amp;quot;,&lt;br /&gt;
    &amp;quot;infoprovidersettings&amp;quot;,&lt;br /&gt;
    &amp;quot;interfacesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;libexportsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;locksettings&amp;quot;,&lt;br /&gt;
    &amp;quot;loginscreen&amp;quot;,&lt;br /&gt;
    &amp;quot;mediafilter&amp;quot;,&lt;br /&gt;
    &amp;quot;mediasettings&amp;quot;,&lt;br /&gt;
    &amp;quot;mediasource&amp;quot;,&lt;br /&gt;
    &amp;quot;movieinformation&amp;quot;,&lt;br /&gt;
    &amp;quot;music&amp;quot;,&lt;br /&gt;
    &amp;quot;musicinformation&amp;quot;,&lt;br /&gt;
    &amp;quot;musicosd&amp;quot;,&lt;br /&gt;
    &amp;quot;musicplaylist&amp;quot;,&lt;br /&gt;
    &amp;quot;musicplaylisteditor&amp;quot;,&lt;br /&gt;
    &amp;quot;networksetup&amp;quot;,&lt;br /&gt;
    &amp;quot;notification&amp;quot;,&lt;br /&gt;
    &amp;quot;numericinput&amp;quot;,&lt;br /&gt;
    &amp;quot;okdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;osdaudiosettings&amp;quot;,&lt;br /&gt;
    &amp;quot;osdcmssettings&amp;quot;,&lt;br /&gt;
    &amp;quot;osdsubtitlesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;osdvideosettings&amp;quot;,&lt;br /&gt;
    &amp;quot;peripheralsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;pictureinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;pictures&amp;quot;,&lt;br /&gt;
    &amp;quot;playercontrols&amp;quot;,&lt;br /&gt;
    &amp;quot;playerprocessinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;playersettings&amp;quot;,&lt;br /&gt;
    &amp;quot;profiles&amp;quot;,&lt;br /&gt;
    &amp;quot;profilesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;programs&amp;quot;,&lt;br /&gt;
    &amp;quot;progressdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrchannelguide&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrchannelmanager&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrchannelscan&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrgroupmanager&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrguidecontrols&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrguideinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrguidesearch&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrosdchannels&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrosdguide&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrosdteletext&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrradiordsinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrrecordinginfo&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrtimersetting&amp;quot;,&lt;br /&gt;
    &amp;quot;pvrupdateprogress&amp;quot;,&lt;br /&gt;
    &amp;quot;radiochannels&amp;quot;,&lt;br /&gt;
    &amp;quot;radioguide&amp;quot;,&lt;br /&gt;
    &amp;quot;radiorecordings&amp;quot;,&lt;br /&gt;
    &amp;quot;radiosearch&amp;quot;,&lt;br /&gt;
    &amp;quot;radiotimerrules&amp;quot;,&lt;br /&gt;
    &amp;quot;radiotimers&amp;quot;,&lt;br /&gt;
    &amp;quot;screencalibration&amp;quot;,&lt;br /&gt;
    &amp;quot;screensaver&amp;quot;,&lt;br /&gt;
    &amp;quot;seekbar&amp;quot;,&lt;br /&gt;
    &amp;quot;selectdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;servicesettings&amp;quot;,&lt;br /&gt;
    &amp;quot;settings&amp;quot;,&lt;br /&gt;
    &amp;quot;shutdownmenu&amp;quot;,&lt;br /&gt;
    &amp;quot;skinsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;sliderdialog&amp;quot;,&lt;br /&gt;
    &amp;quot;slideshow&amp;quot;,&lt;br /&gt;
    &amp;quot;smartplaylisteditor&amp;quot;,&lt;br /&gt;
    &amp;quot;smartplaylistrule&amp;quot;,&lt;br /&gt;
    &amp;quot;songinformation&amp;quot;,&lt;br /&gt;
    &amp;quot;splash&amp;quot;,&lt;br /&gt;
    &amp;quot;startup&amp;quot;,&lt;br /&gt;
    &amp;quot;startwindow&amp;quot;,&lt;br /&gt;
    &amp;quot;submenu&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlesearch&amp;quot;,&lt;br /&gt;
    &amp;quot;systeminfo&amp;quot;,&lt;br /&gt;
    &amp;quot;systemsettings&amp;quot;,&lt;br /&gt;
    &amp;quot;teletext&amp;quot;,&lt;br /&gt;
    &amp;quot;textviewer&amp;quot;,&lt;br /&gt;
    &amp;quot;tvchannels&amp;quot;,&lt;br /&gt;
    &amp;quot;tvguide&amp;quot;,&lt;br /&gt;
    &amp;quot;tvrecordings&amp;quot;,&lt;br /&gt;
    &amp;quot;tvsearch&amp;quot;,&lt;br /&gt;
    &amp;quot;tvtimerrules&amp;quot;,&lt;br /&gt;
    &amp;quot;tvtimers&amp;quot;,&lt;br /&gt;
    &amp;quot;videobookmarks&amp;quot;,&lt;br /&gt;
    &amp;quot;videomenu&amp;quot;,&lt;br /&gt;
    &amp;quot;videoosd&amp;quot;,&lt;br /&gt;
    &amp;quot;videoplaylist&amp;quot;,&lt;br /&gt;
    &amp;quot;videos&amp;quot;,&lt;br /&gt;
    &amp;quot;videotimeseek&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualkeyboard&amp;quot;,&lt;br /&gt;
    &amp;quot;visualisation&amp;quot;,&lt;br /&gt;
    &amp;quot;visualisationpresetlist&amp;quot;,&lt;br /&gt;
    &amp;quot;volumebar&amp;quot;,&lt;br /&gt;
    &amp;quot;weather&amp;quot;,&lt;br /&gt;
    &amp;quot;yesnodialog&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;GUI.Window&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Global ===&lt;br /&gt;
==== Global.IncrementDecrement ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;increment&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;increment&amp;quot;,&lt;br /&gt;
    &amp;quot;decrement&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.IncrementDecrement&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Global.String.NotEmpty ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
  &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Global.Time ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; hours&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; milliseconds&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; minutes&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; seconds&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;hours&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;milliseconds&amp;quot;: {&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 999,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minutes&amp;quot;: {&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 59,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: {&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 59,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Global.Toggle ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.Toggle&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;toggle&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Global.Weekday ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;monday&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;monday&amp;quot;,&lt;br /&gt;
    &amp;quot;tuesday&amp;quot;,&lt;br /&gt;
    &amp;quot;wednesday&amp;quot;,&lt;br /&gt;
    &amp;quot;thursday&amp;quot;,&lt;br /&gt;
    &amp;quot;friday&amp;quot;,&lt;br /&gt;
    &amp;quot;saturday&amp;quot;,&lt;br /&gt;
    &amp;quot;sunday&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Global.Weekday&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Input ===&lt;br /&gt;
==== Input.Action ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;analogfastforward&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;analogfastforward&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmove&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmovexleft&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmovexright&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmoveydown&amp;quot;,&lt;br /&gt;
    &amp;quot;analogmoveyup&amp;quot;,&lt;br /&gt;
    &amp;quot;analogrewind&amp;quot;,&lt;br /&gt;
    &amp;quot;analogseekback&amp;quot;,&lt;br /&gt;
    &amp;quot;analogseekforward&amp;quot;,&lt;br /&gt;
    &amp;quot;aspectratio&amp;quot;,&lt;br /&gt;
    &amp;quot;audiodelay&amp;quot;,&lt;br /&gt;
    &amp;quot;audiodelayminus&amp;quot;,&lt;br /&gt;
    &amp;quot;audiodelayplus&amp;quot;,&lt;br /&gt;
    &amp;quot;audionextlanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;audiotoggledigital&amp;quot;,&lt;br /&gt;
    &amp;quot;back&amp;quot;,&lt;br /&gt;
    &amp;quot;backspace&amp;quot;,&lt;br /&gt;
    &amp;quot;bigstepback&amp;quot;,&lt;br /&gt;
    &amp;quot;bigstepforward&amp;quot;,&lt;br /&gt;
    &amp;quot;blue&amp;quot;,&lt;br /&gt;
    &amp;quot;browsesubtitle&amp;quot;,&lt;br /&gt;
    &amp;quot;channeldown&amp;quot;,&lt;br /&gt;
    &amp;quot;channelnumberseparator&amp;quot;,&lt;br /&gt;
    &amp;quot;channelup&amp;quot;,&lt;br /&gt;
    &amp;quot;chapterorbigstepback&amp;quot;,&lt;br /&gt;
    &amp;quot;chapterorbigstepforward&amp;quot;,&lt;br /&gt;
    &amp;quot;close&amp;quot;,&lt;br /&gt;
    &amp;quot;codecinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;contextmenu&amp;quot;,&lt;br /&gt;
    &amp;quot;copy&amp;quot;,&lt;br /&gt;
    &amp;quot;createbookmark&amp;quot;,&lt;br /&gt;
    &amp;quot;createepisodebookmark&amp;quot;,&lt;br /&gt;
    &amp;quot;cursorleft&amp;quot;,&lt;br /&gt;
    &amp;quot;cursorright&amp;quot;,&lt;br /&gt;
    &amp;quot;cyclesubtitle&amp;quot;,&lt;br /&gt;
    &amp;quot;cycletonemapmethod&amp;quot;,&lt;br /&gt;
    &amp;quot;decreasepar&amp;quot;,&lt;br /&gt;
    &amp;quot;decreaserating&amp;quot;,&lt;br /&gt;
    &amp;quot;decreasevisrating&amp;quot;,&lt;br /&gt;
    &amp;quot;delete&amp;quot;,&lt;br /&gt;
    &amp;quot;doubleclick&amp;quot;,&lt;br /&gt;
    &amp;quot;down&amp;quot;,&lt;br /&gt;
    &amp;quot;enter&amp;quot;,&lt;br /&gt;
    &amp;quot;error&amp;quot;,&lt;br /&gt;
    &amp;quot;fastforward&amp;quot;,&lt;br /&gt;
    &amp;quot;filter&amp;quot;,&lt;br /&gt;
    &amp;quot;filterclear&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms2&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms3&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms4&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms5&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms6&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms7&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms8&amp;quot;,&lt;br /&gt;
    &amp;quot;filtersms9&amp;quot;,&lt;br /&gt;
    &amp;quot;firstpage&amp;quot;,&lt;br /&gt;
    &amp;quot;fullscreen&amp;quot;,&lt;br /&gt;
    &amp;quot;green&amp;quot;,&lt;br /&gt;
    &amp;quot;guiprofile&amp;quot;,&lt;br /&gt;
    &amp;quot;hdrtoggle&amp;quot;,&lt;br /&gt;
    &amp;quot;highlight&amp;quot;,&lt;br /&gt;
    &amp;quot;increasepar&amp;quot;,&lt;br /&gt;
    &amp;quot;increaserating&amp;quot;,&lt;br /&gt;
    &amp;quot;increasevisrating&amp;quot;,&lt;br /&gt;
    &amp;quot;info&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms2&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms3&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms4&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms5&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms6&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms7&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms8&amp;quot;,&lt;br /&gt;
    &amp;quot;jumpsms9&amp;quot;,&lt;br /&gt;
    &amp;quot;lastpage&amp;quot;,&lt;br /&gt;
    &amp;quot;left&amp;quot;,&lt;br /&gt;
    &amp;quot;leftclick&amp;quot;,&lt;br /&gt;
    &amp;quot;lockpreset&amp;quot;,&lt;br /&gt;
    &amp;quot;longclick&amp;quot;,&lt;br /&gt;
    &amp;quot;longpress&amp;quot;,&lt;br /&gt;
    &amp;quot;menu&amp;quot;,&lt;br /&gt;
    &amp;quot;middleclick&amp;quot;,&lt;br /&gt;
    &amp;quot;mousedrag&amp;quot;,&lt;br /&gt;
    &amp;quot;mousedragend&amp;quot;,&lt;br /&gt;
    &amp;quot;mousemove&amp;quot;,&lt;br /&gt;
    &amp;quot;move&amp;quot;,&lt;br /&gt;
    &amp;quot;moveitemdown&amp;quot;,&lt;br /&gt;
    &amp;quot;moveitemup&amp;quot;,&lt;br /&gt;
    &amp;quot;mute&amp;quot;,&lt;br /&gt;
    &amp;quot;nextcalibration&amp;quot;,&lt;br /&gt;
    &amp;quot;nextchannelgroup&amp;quot;,&lt;br /&gt;
    &amp;quot;nextletter&amp;quot;,&lt;br /&gt;
    &amp;quot;nextpicture&amp;quot;,&lt;br /&gt;
    &amp;quot;nextpreset&amp;quot;,&lt;br /&gt;
    &amp;quot;nextresolution&amp;quot;,&lt;br /&gt;
    &amp;quot;nextscene&amp;quot;,&lt;br /&gt;
    &amp;quot;nextstereomode&amp;quot;,&lt;br /&gt;
    &amp;quot;nextsubtitle&amp;quot;,&lt;br /&gt;
    &amp;quot;noop&amp;quot;,&lt;br /&gt;
    &amp;quot;number0&amp;quot;,&lt;br /&gt;
    &amp;quot;number1&amp;quot;,&lt;br /&gt;
    &amp;quot;number2&amp;quot;,&lt;br /&gt;
    &amp;quot;number3&amp;quot;,&lt;br /&gt;
    &amp;quot;number4&amp;quot;,&lt;br /&gt;
    &amp;quot;number5&amp;quot;,&lt;br /&gt;
    &amp;quot;number6&amp;quot;,&lt;br /&gt;
    &amp;quot;number7&amp;quot;,&lt;br /&gt;
    &amp;quot;number8&amp;quot;,&lt;br /&gt;
    &amp;quot;number9&amp;quot;,&lt;br /&gt;
    &amp;quot;osd&amp;quot;,&lt;br /&gt;
    &amp;quot;pagedown&amp;quot;,&lt;br /&gt;
    &amp;quot;pageup&amp;quot;,&lt;br /&gt;
    &amp;quot;pangesture&amp;quot;,&lt;br /&gt;
    &amp;quot;parentdir&amp;quot;,&lt;br /&gt;
    &amp;quot;parentfolder&amp;quot;,&lt;br /&gt;
    &amp;quot;pause&amp;quot;,&lt;br /&gt;
    &amp;quot;play&amp;quot;,&lt;br /&gt;
    &amp;quot;playerdebug&amp;quot;,&lt;br /&gt;
    &amp;quot;playerdebugvideo&amp;quot;,&lt;br /&gt;
    &amp;quot;playerprocessinfo&amp;quot;,&lt;br /&gt;
    &amp;quot;playerprogramselect&amp;quot;,&lt;br /&gt;
    &amp;quot;playerresolutionselect&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;playnext&amp;quot;,&lt;br /&gt;
    &amp;quot;playpause&amp;quot;,&lt;br /&gt;
    &amp;quot;playpvr&amp;quot;,&lt;br /&gt;
    &amp;quot;playpvrradio&amp;quot;,&lt;br /&gt;
    &amp;quot;playpvrtv&amp;quot;,&lt;br /&gt;
    &amp;quot;previouschannelgroup&amp;quot;,&lt;br /&gt;
    &amp;quot;previousmenu&amp;quot;,&lt;br /&gt;
    &amp;quot;previouspicture&amp;quot;,&lt;br /&gt;
    &amp;quot;previouspreset&amp;quot;,&lt;br /&gt;
    &amp;quot;previousscene&amp;quot;,&lt;br /&gt;
    &amp;quot;previousstereomode&amp;quot;,&lt;br /&gt;
    &amp;quot;prevletter&amp;quot;,&lt;br /&gt;
    &amp;quot;queue&amp;quot;,&lt;br /&gt;
    &amp;quot;randompreset&amp;quot;,&lt;br /&gt;
    &amp;quot;record&amp;quot;,&lt;br /&gt;
    &amp;quot;red&amp;quot;,&lt;br /&gt;
    &amp;quot;reloadkeymaps&amp;quot;,&lt;br /&gt;
    &amp;quot;rename&amp;quot;,&lt;br /&gt;
    &amp;quot;resetcalibration&amp;quot;,&lt;br /&gt;
    &amp;quot;rewind&amp;quot;,&lt;br /&gt;
    &amp;quot;right&amp;quot;,&lt;br /&gt;
    &amp;quot;rightclick&amp;quot;,&lt;br /&gt;
    &amp;quot;rotate&amp;quot;,&lt;br /&gt;
    &amp;quot;rotateccw&amp;quot;,&lt;br /&gt;
    &amp;quot;rotategesture&amp;quot;,&lt;br /&gt;
    &amp;quot;scanitem&amp;quot;,&lt;br /&gt;
    &amp;quot;screenshot&amp;quot;,&lt;br /&gt;
    &amp;quot;scrolldown&amp;quot;,&lt;br /&gt;
    &amp;quot;scrollup&amp;quot;,&lt;br /&gt;
    &amp;quot;select&amp;quot;,&lt;br /&gt;
    &amp;quot;setrating&amp;quot;,&lt;br /&gt;
    &amp;quot;settingslevelchange&amp;quot;,&lt;br /&gt;
    &amp;quot;settingsreset&amp;quot;,&lt;br /&gt;
    &amp;quot;shift&amp;quot;,&lt;br /&gt;
    &amp;quot;showpreset&amp;quot;,&lt;br /&gt;
    &amp;quot;showsubtitles&amp;quot;,&lt;br /&gt;
    &amp;quot;showtime&amp;quot;,&lt;br /&gt;
    &amp;quot;showtimerrule&amp;quot;,&lt;br /&gt;
    &amp;quot;showvideomenu&amp;quot;,&lt;br /&gt;
    &amp;quot;skipnext&amp;quot;,&lt;br /&gt;
    &amp;quot;skipprevious&amp;quot;,&lt;br /&gt;
    &amp;quot;smallstepback&amp;quot;,&lt;br /&gt;
    &amp;quot;stepback&amp;quot;,&lt;br /&gt;
    &amp;quot;stepforward&amp;quot;,&lt;br /&gt;
    &amp;quot;stereomode&amp;quot;,&lt;br /&gt;
    &amp;quot;stereomodetomono&amp;quot;,&lt;br /&gt;
    &amp;quot;stop&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlealign&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitledelay&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitledelayminus&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitledelayplus&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitleshiftdown&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitleshiftup&amp;quot;,&lt;br /&gt;
    &amp;quot;swipedown&amp;quot;,&lt;br /&gt;
    &amp;quot;swipeleft&amp;quot;,&lt;br /&gt;
    &amp;quot;swiperight&amp;quot;,&lt;br /&gt;
    &amp;quot;swipeup&amp;quot;,&lt;br /&gt;
    &amp;quot;switchplayer&amp;quot;,&lt;br /&gt;
    &amp;quot;symbols&amp;quot;,&lt;br /&gt;
    &amp;quot;tap&amp;quot;,&lt;br /&gt;
    &amp;quot;togglecommskip&amp;quot;,&lt;br /&gt;
    &amp;quot;togglefont&amp;quot;,&lt;br /&gt;
    &amp;quot;togglefullscreen&amp;quot;,&lt;br /&gt;
    &amp;quot;togglestereomode&amp;quot;,&lt;br /&gt;
    &amp;quot;togglewatched&amp;quot;,&lt;br /&gt;
    &amp;quot;up&amp;quot;,&lt;br /&gt;
    &amp;quot;verticalshiftdown&amp;quot;,&lt;br /&gt;
    &amp;quot;verticalshiftup&amp;quot;,&lt;br /&gt;
    &amp;quot;videonextstream&amp;quot;,&lt;br /&gt;
    &amp;quot;voicerecognizer&amp;quot;,&lt;br /&gt;
    &amp;quot;volampdown&amp;quot;,&lt;br /&gt;
    &amp;quot;volampup&amp;quot;,&lt;br /&gt;
    &amp;quot;volumeamplification&amp;quot;,&lt;br /&gt;
    &amp;quot;volumedown&amp;quot;,&lt;br /&gt;
    &amp;quot;volumeup&amp;quot;,&lt;br /&gt;
    &amp;quot;wheeldown&amp;quot;,&lt;br /&gt;
    &amp;quot;wheelup&amp;quot;,&lt;br /&gt;
    &amp;quot;yellow&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomgesture&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomin&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel1&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel2&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel3&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel4&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel5&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel6&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel7&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel8&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomlevel9&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomnormal&amp;quot;,&lt;br /&gt;
    &amp;quot;zoomout&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Input.Action&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Item ===&lt;br /&gt;
==== Item.CustomProperties ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
    &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Item.CustomProperties&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Item.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; label&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;label&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Item.Fields.Base ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
  &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Library ===&lt;br /&gt;
==== Library.Details.Genre ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; genreid&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; sourceid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Details.Genre&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The ids of sources with songs of the genre&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Details.Source ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; file&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; paths]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; sourceid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Details.Source&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The url encoded multipath string combining all paths of the source &amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;paths&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The individual paths of the media source&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sourceid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Details.Tag ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tagid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Details.Tag&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;tagid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Fields.Genre ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Fields.Genre&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;sourceid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Fields.Source ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Fields.Source&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;paths&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Fields.Tag ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Fields.Tag&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Library.Id ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== List ===&lt;br /&gt;
==== List.Amount ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Amount&amp;quot;,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Fields.All ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Fields.All&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;album&amp;quot;,&lt;br /&gt;
      &amp;quot;track&amp;quot;,&lt;br /&gt;
      &amp;quot;duration&amp;quot;,&lt;br /&gt;
      &amp;quot;comment&amp;quot;,&lt;br /&gt;
      &amp;quot;lyrics&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainztrackid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;trailer&amp;quot;,&lt;br /&gt;
      &amp;quot;tagline&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;country&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;,&lt;br /&gt;
      &amp;quot;productioncode&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;set&amp;quot;,&lt;br /&gt;
      &amp;quot;showlink&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;top250&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;firstaired&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;disc&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;genreid&amp;quot;,&lt;br /&gt;
      &amp;quot;displayartist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;theme&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;albumlabel&amp;quot;,&lt;br /&gt;
      &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
      &amp;quot;episodeguide&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;channel&amp;quot;,&lt;br /&gt;
      &amp;quot;channeltype&amp;quot;,&lt;br /&gt;
      &amp;quot;hidden&amp;quot;,&lt;br /&gt;
      &amp;quot;locked&amp;quot;,&lt;br /&gt;
      &amp;quot;channelnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;subchannelnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;starttime&amp;quot;,&lt;br /&gt;
      &amp;quot;endtime&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortseason&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortepisode&amp;quot;,&lt;br /&gt;
      &amp;quot;compilation&amp;quot;,&lt;br /&gt;
      &amp;quot;releasetype&amp;quot;,&lt;br /&gt;
      &amp;quot;albumreleasetype&amp;quot;,&lt;br /&gt;
      &amp;quot;contributors&amp;quot;,&lt;br /&gt;
      &amp;quot;displaycomposer&amp;quot;,&lt;br /&gt;
      &amp;quot;displayconductor&amp;quot;,&lt;br /&gt;
      &amp;quot;displayorchestra&amp;quot;,&lt;br /&gt;
      &amp;quot;displaylyricist&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;sortartist&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzreleasegroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;mediapath&amp;quot;,&lt;br /&gt;
      &amp;quot;dynpath&amp;quot;,&lt;br /&gt;
      &amp;quot;isboxset&amp;quot;,&lt;br /&gt;
      &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
      &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
      &amp;quot;releasedate&amp;quot;,&lt;br /&gt;
      &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
      &amp;quot;bpm&amp;quot;,&lt;br /&gt;
      &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
      &amp;quot;samplerate&amp;quot;,&lt;br /&gt;
      &amp;quot;channels&amp;quot;,&lt;br /&gt;
      &amp;quot;albumstatus&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;,&lt;br /&gt;
      &amp;quot;customproperties&amp;quot;,&lt;br /&gt;
      &amp;quot;albumduration&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Fields.Files ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Fields.Files&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;album&amp;quot;,&lt;br /&gt;
      &amp;quot;track&amp;quot;,&lt;br /&gt;
      &amp;quot;duration&amp;quot;,&lt;br /&gt;
      &amp;quot;comment&amp;quot;,&lt;br /&gt;
      &amp;quot;lyrics&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainztrackid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumid&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzalbumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;trailer&amp;quot;,&lt;br /&gt;
      &amp;quot;tagline&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;country&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;,&lt;br /&gt;
      &amp;quot;productioncode&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;set&amp;quot;,&lt;br /&gt;
      &amp;quot;showlink&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;top250&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;firstaired&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;artistid&amp;quot;,&lt;br /&gt;
      &amp;quot;albumid&amp;quot;,&lt;br /&gt;
      &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;disc&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;genreid&amp;quot;,&lt;br /&gt;
      &amp;quot;displayartist&amp;quot;,&lt;br /&gt;
      &amp;quot;albumartistid&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;,&lt;br /&gt;
      &amp;quot;theme&amp;quot;,&lt;br /&gt;
      &amp;quot;mood&amp;quot;,&lt;br /&gt;
      &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;albumlabel&amp;quot;,&lt;br /&gt;
      &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
      &amp;quot;episodeguide&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;size&amp;quot;,&lt;br /&gt;
      &amp;quot;lastmodified&amp;quot;,&lt;br /&gt;
      &amp;quot;mimetype&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortseason&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortepisode&amp;quot;,&lt;br /&gt;
      &amp;quot;sortartist&amp;quot;,&lt;br /&gt;
      &amp;quot;musicbrainzreleasegroupid&amp;quot;,&lt;br /&gt;
      &amp;quot;isboxset&amp;quot;,&lt;br /&gt;
      &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
      &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
      &amp;quot;releasedate&amp;quot;,&lt;br /&gt;
      &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
      &amp;quot;bpm&amp;quot;,&lt;br /&gt;
      &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
      &amp;quot;samplerate&amp;quot;,&lt;br /&gt;
      &amp;quot;channels&amp;quot;,&lt;br /&gt;
      &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
      &amp;quot;datenew&amp;quot;,&lt;br /&gt;
      &amp;quot;customproperties&amp;quot;,&lt;br /&gt;
      &amp;quot;albumduration&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Albums ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Albums&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Albums&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Albums&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Albums&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Artists ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Artists&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Artists&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Artists&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Artists&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Episodes ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Episodes&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Episodes&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Episodes&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Albums ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;source&amp;quot;,&lt;br /&gt;
    &amp;quot;album&amp;quot;,&lt;br /&gt;
    &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
    &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
    &amp;quot;isboxset&amp;quot;,&lt;br /&gt;
    &amp;quot;artist&amp;quot;,&lt;br /&gt;
    &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;originalyear&amp;quot;,&lt;br /&gt;
    &amp;quot;albumduration&amp;quot;,&lt;br /&gt;
    &amp;quot;review&amp;quot;,&lt;br /&gt;
    &amp;quot;themes&amp;quot;,&lt;br /&gt;
    &amp;quot;moods&amp;quot;,&lt;br /&gt;
    &amp;quot;styles&amp;quot;,&lt;br /&gt;
    &amp;quot;compilation&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;,&lt;br /&gt;
    &amp;quot;label&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;albumstatus&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
    &amp;quot;datenew&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Albums&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Artists ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;artist&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;artist&amp;quot;,&lt;br /&gt;
    &amp;quot;source&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;moods&amp;quot;,&lt;br /&gt;
    &amp;quot;styles&amp;quot;,&lt;br /&gt;
    &amp;quot;instruments&amp;quot;,&lt;br /&gt;
    &amp;quot;biography&amp;quot;,&lt;br /&gt;
    &amp;quot;artisttype&amp;quot;,&lt;br /&gt;
    &amp;quot;gender&amp;quot;,&lt;br /&gt;
    &amp;quot;disambiguation&amp;quot;,&lt;br /&gt;
    &amp;quot;born&amp;quot;,&lt;br /&gt;
    &amp;quot;bandformed&amp;quot;,&lt;br /&gt;
    &amp;quot;disbanded&amp;quot;,&lt;br /&gt;
    &amp;quot;died&amp;quot;,&lt;br /&gt;
    &amp;quot;role&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
    &amp;quot;datenew&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Artists&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Episodes ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;tvshow&amp;quot;,&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
    &amp;quot;plot&amp;quot;,&lt;br /&gt;
    &amp;quot;votes&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;writers&amp;quot;,&lt;br /&gt;
    &amp;quot;airdate&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;inprogress&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;director&amp;quot;,&lt;br /&gt;
    &amp;quot;actor&amp;quot;,&lt;br /&gt;
    &amp;quot;episode&amp;quot;,&lt;br /&gt;
    &amp;quot;season&amp;quot;,&lt;br /&gt;
    &amp;quot;filename&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;studio&amp;quot;,&lt;br /&gt;
    &amp;quot;mpaarating&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;,&lt;br /&gt;
    &amp;quot;videoresolution&amp;quot;,&lt;br /&gt;
    &amp;quot;audiochannels&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocount&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlecount&amp;quot;,&lt;br /&gt;
    &amp;quot;videocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiolanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlelanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;videoaspect&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Movies ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
    &amp;quot;plot&amp;quot;,&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
    &amp;quot;tagline&amp;quot;,&lt;br /&gt;
    &amp;quot;votes&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;writers&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;inprogress&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;country&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;director&amp;quot;,&lt;br /&gt;
    &amp;quot;actor&amp;quot;,&lt;br /&gt;
    &amp;quot;mpaarating&amp;quot;,&lt;br /&gt;
    &amp;quot;top250&amp;quot;,&lt;br /&gt;
    &amp;quot;studio&amp;quot;,&lt;br /&gt;
    &amp;quot;hastrailer&amp;quot;,&lt;br /&gt;
    &amp;quot;filename&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;set&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;videoresolution&amp;quot;,&lt;br /&gt;
    &amp;quot;audiochannels&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocount&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlecount&amp;quot;,&lt;br /&gt;
    &amp;quot;videocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiolanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlelanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;videoaspect&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Movies&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.MusicVideos ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;album&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;artist&amp;quot;,&lt;br /&gt;
    &amp;quot;filename&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;director&amp;quot;,&lt;br /&gt;
    &amp;quot;studio&amp;quot;,&lt;br /&gt;
    &amp;quot;plot&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;videoresolution&amp;quot;,&lt;br /&gt;
    &amp;quot;audiochannels&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocount&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlecount&amp;quot;,&lt;br /&gt;
    &amp;quot;videocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiocodec&amp;quot;,&lt;br /&gt;
    &amp;quot;audiolanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitlelanguage&amp;quot;,&lt;br /&gt;
    &amp;quot;videoaspect&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.MusicVideos&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Songs ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;genre&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;source&amp;quot;,&lt;br /&gt;
    &amp;quot;album&amp;quot;,&lt;br /&gt;
    &amp;quot;disctitle&amp;quot;,&lt;br /&gt;
    &amp;quot;artist&amp;quot;,&lt;br /&gt;
    &amp;quot;albumartist&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;originalyear&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;tracknumber&amp;quot;,&lt;br /&gt;
    &amp;quot;filename&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;,&lt;br /&gt;
    &amp;quot;moods&amp;quot;,&lt;br /&gt;
    &amp;quot;bpm&amp;quot;,&lt;br /&gt;
    &amp;quot;samplerate&amp;quot;,&lt;br /&gt;
    &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
    &amp;quot;channels&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;datemodified&amp;quot;,&lt;br /&gt;
    &amp;quot;datenew&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Songs&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.TVShows ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;title&amp;quot;,&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
    &amp;quot;plot&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;,&lt;br /&gt;
    &amp;quot;votes&amp;quot;,&lt;br /&gt;
    &amp;quot;rating&amp;quot;,&lt;br /&gt;
    &amp;quot;userrating&amp;quot;,&lt;br /&gt;
    &amp;quot;year&amp;quot;,&lt;br /&gt;
    &amp;quot;genre&amp;quot;,&lt;br /&gt;
    &amp;quot;director&amp;quot;,&lt;br /&gt;
    &amp;quot;actor&amp;quot;,&lt;br /&gt;
    &amp;quot;numepisodes&amp;quot;,&lt;br /&gt;
    &amp;quot;numwatched&amp;quot;,&lt;br /&gt;
    &amp;quot;playcount&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;studio&amp;quot;,&lt;br /&gt;
    &amp;quot;mpaarating&amp;quot;,&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
    &amp;quot;inprogress&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist&amp;quot;,&lt;br /&gt;
    &amp;quot;virtualfolder&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.TVShows&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Fields.Textures ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;textureid&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;textureid&amp;quot;,&lt;br /&gt;
    &amp;quot;url&amp;quot;,&lt;br /&gt;
    &amp;quot;cachedurl&amp;quot;,&lt;br /&gt;
    &amp;quot;lasthashcheck&amp;quot;,&lt;br /&gt;
    &amp;quot;imagehash&amp;quot;,&lt;br /&gt;
    &amp;quot;width&amp;quot;,&lt;br /&gt;
    &amp;quot;height&amp;quot;,&lt;br /&gt;
    &amp;quot;usecount&amp;quot;,&lt;br /&gt;
    &amp;quot;lastused&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Fields.Textures&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Movies ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Movies&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Movies&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Movies&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Movies&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.MusicVideos ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.MusicVideos&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.MusicVideos&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.MusicVideos&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.MusicVideos&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Operators ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;contains&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;contains&amp;quot;,&lt;br /&gt;
    &amp;quot;doesnotcontain&amp;quot;,&lt;br /&gt;
    &amp;quot;is&amp;quot;,&lt;br /&gt;
    &amp;quot;isnot&amp;quot;,&lt;br /&gt;
    &amp;quot;startswith&amp;quot;,&lt;br /&gt;
    &amp;quot;endswith&amp;quot;,&lt;br /&gt;
    &amp;quot;greaterthan&amp;quot;,&lt;br /&gt;
    &amp;quot;lessthan&amp;quot;,&lt;br /&gt;
    &amp;quot;after&amp;quot;,&lt;br /&gt;
    &amp;quot;before&amp;quot;,&lt;br /&gt;
    &amp;quot;inthelast&amp;quot;,&lt;br /&gt;
    &amp;quot;notinthelast&amp;quot;,&lt;br /&gt;
    &amp;quot;true&amp;quot;,&lt;br /&gt;
    &amp;quot;false&amp;quot;,&lt;br /&gt;
    &amp;quot;between&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Operators&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Operators|List.Filter.Operators]]&#039;&#039; operator&lt;br /&gt;
* &#039;&#039;mixed: string|array&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;operator&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Operators&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Albums ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Albums|List.Filter.Fields.Albums]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Albums&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Albums&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Artists ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Artists|List.Filter.Fields.Artists]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Artists&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Artists&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Episodes ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Episodes|List.Filter.Fields.Episodes]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Episodes&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Episodes&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Movies ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Movies|List.Filter.Fields.Movies]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Movies&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Movies&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.MusicVideos ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.MusicVideos|List.Filter.Fields.MusicVideos]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.MusicVideos&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.MusicVideos&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Songs ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Songs|List.Filter.Fields.Songs]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Songs&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Songs&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.TVShows ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.TVShows|List.Filter.Fields.TVShows]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.TVShows&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.TVShows&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Rule.Textures ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Rule|List.Filter.Rule]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.Filter.Fields.Textures|List.Filter.Fields.Textures]]&#039;&#039; field&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Filter.Rule&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Rule.Textures&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;field&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Fields.Textures&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Songs ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Songs&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Songs&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Songs&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Songs&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.TVShows ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.TVShows&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.TVShows&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.TVShows&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.TVShows&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Filter.Textures ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Filter.Textures&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;and&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Textures&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;or&amp;quot;: {&lt;br /&gt;
          &amp;quot;items&amp;quot;: {&lt;br /&gt;
            &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Textures&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Filter.Rule.Textures&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Item.All ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Item.Base|List.Item.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; channel]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; channelnumber]&lt;br /&gt;
* [&#039;&#039;[[#PVR.Channel.Type|PVR.Channel.Type]]&#039;&#039; channeltype = tv]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; endtime]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hidden]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; locked]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; starttime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; subchannelnumber]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Item.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Item.All&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;channel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channelnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channeltype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;tv&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hidden&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;locked&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;starttime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subchannelnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Item.Base ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.File|Video.Details.File]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Audio.Details.Media|Audio.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; album]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; albumartist]&lt;br /&gt;
* [&#039;&#039;[[#Array.Integer|Array.Integer]]&#039;&#039; albumartistid]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; albumid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumlabel]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Album.ReleaseType|Audio.Album.ReleaseType]]&#039;&#039; albumreleasetype = album]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; albumstatus]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; bitrate]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; bpm]&lt;br /&gt;
* [&#039;&#039;[[#Video.Cast|Video.Cast]]&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; channels]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; comment]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; compilation]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Contributors|Audio.Contributors]]&#039;&#039; contributors]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; country]&lt;br /&gt;
* [&#039;&#039;[[#Item.CustomProperties|Item.CustomProperties]]&#039;&#039; customproperties]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; description]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; disc]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; disctitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displaycomposer]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayconductor]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displaylyricist]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; displayorchestra]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; duration]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; dynpath]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; episodeguide]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; firstaired]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; imdbnumber]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isboxset]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lyrics]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mediapath]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; mood]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mpaa]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; musicbrainzartistid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; musicbrainztrackid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaldate]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plotoutline]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; premiered]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; productioncode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; releasedate]&lt;br /&gt;
* [&#039;&#039;[[#Audio.Album.ReleaseType|Audio.Album.ReleaseType]]&#039;&#039; releasetype = album]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; samplerate]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; season]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; set]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; showlink]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; showtitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sorttitle]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; specialsortepisode]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; specialsortseason]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; studio]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; style]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; tag]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; tagline]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; theme]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; top250]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; totaldiscs]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; track]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; trailer]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; type = unknown]&lt;br /&gt;
* [&#039;&#039;[[#Media.UniqueID|Media.UniqueID]]&#039;&#039; uniqueid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; watchedepisodes]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; writer]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: [&lt;br /&gt;
    &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
    &amp;quot;Audio.Details.Media&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Item.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;album&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumartist&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.Integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumreleasetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;albumstatus&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;bitrate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;bpm&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Cast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channels&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;comment&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;compilation&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;contributors&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Contributors&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;country&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;customproperties&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Item.CustomProperties&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;description&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disc&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;disctitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displaycomposer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayconductor&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displaylyricist&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;displayorchestra&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;duration&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;dynpath&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;An experimental property for debug purposes, often same as mediapath but when different gives the actual file playing that should also be in file property&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodeguide&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;firstaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imdbnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isboxset&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lyrics&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mediapath&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Media source path that identifies the item&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mood&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mpaa&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainzartistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicbrainztrackid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaldate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;premiered&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;productioncode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;releasedate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;releasetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Audio.Album.ReleaseType&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;album&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;samplerate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;set&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;setid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showlink&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sorttitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;specialsortepisode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;specialsortseason&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;studio&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;style&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tag&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tagline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;theme&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;top250&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;totaldiscs&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;track&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;trailer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;unknown&amp;quot;,&lt;br /&gt;
        &amp;quot;movie&amp;quot;,&lt;br /&gt;
        &amp;quot;episode&amp;quot;,&lt;br /&gt;
        &amp;quot;musicvideo&amp;quot;,&lt;br /&gt;
        &amp;quot;song&amp;quot;,&lt;br /&gt;
        &amp;quot;picture&amp;quot;,&lt;br /&gt;
        &amp;quot;channel&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;watchedepisodes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writer&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Item.File ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#List.Item.Base|List.Item.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; file&lt;br /&gt;
* &#039;&#039;string&#039;&#039; filetype&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastmodified]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mimetype]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; size]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;List.Item.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Item.File&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;filetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;file&amp;quot;,&lt;br /&gt;
        &amp;quot;directory&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastmodified&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mimetype&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;size&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Size of the file in bytes&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Items.Sources ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Items.Sources&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;file&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Limits ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#List.Amount|List.Amount]]&#039;&#039; end = -1]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; start]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Limits&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;end&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Amount&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Index of the last item to return&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;start&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Index of the first item to return&amp;quot;,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.LimitsReturned ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#List.Amount|List.Amount]]&#039;&#039; end = -1]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; start]&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; total&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;end&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.Amount&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;start&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;total&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== List.Sort ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; ignorearticle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; method = none]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; order = ascending]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; useartistsortname]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;List.Sort&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;ignorearticle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;method&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;none&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;none&amp;quot;,&lt;br /&gt;
        &amp;quot;label&amp;quot;,&lt;br /&gt;
        &amp;quot;date&amp;quot;,&lt;br /&gt;
        &amp;quot;size&amp;quot;,&lt;br /&gt;
        &amp;quot;file&amp;quot;,&lt;br /&gt;
        &amp;quot;path&amp;quot;,&lt;br /&gt;
        &amp;quot;drivetype&amp;quot;,&lt;br /&gt;
        &amp;quot;title&amp;quot;,&lt;br /&gt;
        &amp;quot;track&amp;quot;,&lt;br /&gt;
        &amp;quot;time&amp;quot;,&lt;br /&gt;
        &amp;quot;artist&amp;quot;,&lt;br /&gt;
        &amp;quot;album&amp;quot;,&lt;br /&gt;
        &amp;quot;albumtype&amp;quot;,&lt;br /&gt;
        &amp;quot;genre&amp;quot;,&lt;br /&gt;
        &amp;quot;country&amp;quot;,&lt;br /&gt;
        &amp;quot;year&amp;quot;,&lt;br /&gt;
        &amp;quot;rating&amp;quot;,&lt;br /&gt;
        &amp;quot;userrating&amp;quot;,&lt;br /&gt;
        &amp;quot;votes&amp;quot;,&lt;br /&gt;
        &amp;quot;top250&amp;quot;,&lt;br /&gt;
        &amp;quot;programcount&amp;quot;,&lt;br /&gt;
        &amp;quot;playlist&amp;quot;,&lt;br /&gt;
        &amp;quot;episode&amp;quot;,&lt;br /&gt;
        &amp;quot;season&amp;quot;,&lt;br /&gt;
        &amp;quot;totalepisodes&amp;quot;,&lt;br /&gt;
        &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshowstatus&amp;quot;,&lt;br /&gt;
        &amp;quot;tvshowtitle&amp;quot;,&lt;br /&gt;
        &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
        &amp;quot;productioncode&amp;quot;,&lt;br /&gt;
        &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
        &amp;quot;studio&amp;quot;,&lt;br /&gt;
        &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
        &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
        &amp;quot;playcount&amp;quot;,&lt;br /&gt;
        &amp;quot;listeners&amp;quot;,&lt;br /&gt;
        &amp;quot;bitrate&amp;quot;,&lt;br /&gt;
        &amp;quot;random&amp;quot;,&lt;br /&gt;
        &amp;quot;totaldiscs&amp;quot;,&lt;br /&gt;
        &amp;quot;originaldate&amp;quot;,&lt;br /&gt;
        &amp;quot;bpm&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;order&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;ascending&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;ascending&amp;quot;,&lt;br /&gt;
        &amp;quot;descending&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;useartistsortname&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Media ===&lt;br /&gt;
==== Media.Artwork ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; banner]&lt;br /&gt;
* [&#039;&#039;[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; fanart]&lt;br /&gt;
* [&#039;&#039;[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; poster]&lt;br /&gt;
* [&#039;&#039;[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; thumb]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
    &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.Artwork&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;banner&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fanart&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;poster&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumb&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Media.Artwork.Set ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;mixed: null|[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; banner]&lt;br /&gt;
* [&#039;&#039;mixed: null|[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; fanart]&lt;br /&gt;
* [&#039;&#039;mixed: null|[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; poster]&lt;br /&gt;
* [&#039;&#039;mixed: null|[[#Global.String.NotEmpty|Global.String.NotEmpty]]&#039;&#039; thumb]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: null,&lt;br /&gt;
    &amp;quot;type&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.Artwork.Set&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;banner&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fanart&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;poster&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumb&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Media.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; fanart]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;fanart&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Media.UniqueID ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;,&lt;br /&gt;
    &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Media.UniqueID.Set ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: null,&lt;br /&gt;
    &amp;quot;type&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.String.NotEmpty&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Media.UniqueID.Set&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Notifications ===&lt;br /&gt;
==== Notifications.Item ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Notifications.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;An unknown item does not have any additional information.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;An item known to the database has an identification.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A movie item has a title and may have a release year.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;year&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A tv episode has a title and may have an episode number, season number and the title of the show it belongs to.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;episode&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;season&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A music video has a title and may have an album and an artist.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;album&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;artist&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A song has a title and may have an album, an artist and a track number.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;album&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;artist&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;track&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A picture has a file path.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;file&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A PVR channel is either a radio or tv channel and has a title.&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;channeltype&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Notifications.Item.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;movie&amp;quot;,&lt;br /&gt;
    &amp;quot;episode&amp;quot;,&lt;br /&gt;
    &amp;quot;musicvideo&amp;quot;,&lt;br /&gt;
    &amp;quot;song&amp;quot;,&lt;br /&gt;
    &amp;quot;picture&amp;quot;,&lt;br /&gt;
    &amp;quot;channel&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Notifications.Item.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Optional ===&lt;br /&gt;
==== Optional.Boolean ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Optional.Integer ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Optional.Integer&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Optional.Number ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Optional.String ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Optional.String&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== PVR ===&lt;br /&gt;
==== PVR.Channel.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;tv&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;tv&amp;quot;,&lt;br /&gt;
    &amp;quot;radio&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.ChannelGroup.Id ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.ChannelGroup.Id&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;alltv&amp;quot;,&lt;br /&gt;
        &amp;quot;allradio&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Broadcast ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; director]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; endtime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; episodename]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episodenum]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episodepart]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; firstaired]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; genre]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hasrecording]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hasreminder]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hastimer]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hastimerrule]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; imdbnumber]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isactive]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isplayable]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isseries]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; parentalrating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plot]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plotoutline]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; progress]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; progresspercentage]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; recording]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; starttime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; wasactive]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; writer]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;broadcastid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;director&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodename&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodenum&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodepart&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;firstaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hasrecording&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hasreminder&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hastimer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hastimerrule&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imdbnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isactive&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isplayable&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Deprecated - Use GetBroadcastIsPlayable instead&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isseries&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;parentalrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;progress&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;progresspercentage&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;recording&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;starttime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;wasactive&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Channel ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#PVR.Details.Broadcast|PVR.Details.Broadcast]]&#039;&#039; broadcastnext]&lt;br /&gt;
* [&#039;&#039;[[#PVR.Details.Broadcast|PVR.Details.Broadcast]]&#039;&#039; broadcastnow]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; channel]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelid&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; channelnumber]&lt;br /&gt;
* [&#039;&#039;[[#PVR.Channel.Type|PVR.Channel.Type]]&#039;&#039; channeltype = tv]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hasarchive]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; hidden]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; icon]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isrecording]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastplayed]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; locked]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; subchannelnumber]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; uniqueid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Channel&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;broadcastnext&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;broadcastnow&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Broadcast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channelid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channelnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channeltype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;tv&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hasarchive&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;hidden&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;icon&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isrecording&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;locked&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subchannelnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.ChannelGroup ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelgroupid&lt;br /&gt;
* &#039;&#039;[[#PVR.Channel.Type|PVR.Channel.Type]]&#039;&#039; channeltype&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.ChannelGroup&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;channelgroupid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channeltype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Channel.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.ChannelGroup.Extended ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#PVR.Details.ChannelGroup|PVR.Details.ChannelGroup]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; channels]&lt;br /&gt;
* &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;PVR.Details.ChannelGroup&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.ChannelGroup.Extended&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;channels&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;PVR.Details.Channel&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;limits&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Client ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; addonid]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportschannelgroups]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportschannelscan]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportsepg]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportsradio]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportsrecordings]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportstimers]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; supportstv]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Client&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;addonid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportschannelgroups&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportschannelscan&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportsepg&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportsradio&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportsrecordings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportstimers&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;supportstv&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Recording ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Media.Artwork|Media.Artwork]]&#039;&#039; art]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; channel]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; channeluid]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; directory]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; endtime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; epgeventid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; file]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; genre]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; icon]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isdeleted]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; lifetime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; playcount]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plot]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plotoutline]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; radio]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; recordingid&lt;br /&gt;
* [&#039;&#039;[[#Video.Resume|Video.Resume]]&#039;&#039; resume]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; season]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; showtitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; starttime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; streamurl]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Recording&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;art&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channeluid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;directory&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;epgeventid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;icon&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isdeleted&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lifetime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;radio&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;recordingid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;resume&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;starttime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;streamurl&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Details.Timer ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; broadcastid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; channelid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; clientid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; directory]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; endanytime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; endmargin]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; endtime]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; epgsearchstring]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; epguid]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; file]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; firstday]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; fulltextepgsearch]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; ismanual]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isradio]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isreadonly]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; isreminder]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; istimerrule]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; lifetime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; maxrecordings]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; preventduplicateepisodes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; priority]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; recordinggroup]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; startanytime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; startmargin]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; starttime]&lt;br /&gt;
* [&#039;&#039;[[#PVR.TimerState|PVR.TimerState]]&#039;&#039; state = unknown]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; summary]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; timerid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; weekdays]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Details.Timer&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;broadcastid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channelid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;clientid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;directory&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endanytime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endmargin&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;endtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;epgsearchstring&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;epguid&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;firstday&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;fulltextepgsearch&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;ismanual&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isradio&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isreadonly&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isreminder&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;istimerrule&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lifetime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;maxrecordings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;preventduplicateepisodes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;priority&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;recordinggroup&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;startanytime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;startmargin&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;starttime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;state&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;PVR.TimerState&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;summary&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;timerid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;weekdays&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Global.Weekday&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Broadcast ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Broadcast&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;starttime&amp;quot;,&lt;br /&gt;
      &amp;quot;endtime&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;progress&amp;quot;,&lt;br /&gt;
      &amp;quot;progresspercentage&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;episodename&amp;quot;,&lt;br /&gt;
      &amp;quot;episodenum&amp;quot;,&lt;br /&gt;
      &amp;quot;episodepart&amp;quot;,&lt;br /&gt;
      &amp;quot;firstaired&amp;quot;,&lt;br /&gt;
      &amp;quot;hastimer&amp;quot;,&lt;br /&gt;
      &amp;quot;isactive&amp;quot;,&lt;br /&gt;
      &amp;quot;parentalrating&amp;quot;,&lt;br /&gt;
      &amp;quot;wasactive&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;hastimerrule&amp;quot;,&lt;br /&gt;
      &amp;quot;hasrecording&amp;quot;,&lt;br /&gt;
      &amp;quot;recording&amp;quot;,&lt;br /&gt;
      &amp;quot;isseries&amp;quot;,&lt;br /&gt;
      &amp;quot;isplayable&amp;quot;,&lt;br /&gt;
      &amp;quot;clientid&amp;quot;,&lt;br /&gt;
      &amp;quot;hasreminder&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Channel ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Channel&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;channeltype&amp;quot;,&lt;br /&gt;
      &amp;quot;hidden&amp;quot;,&lt;br /&gt;
      &amp;quot;locked&amp;quot;,&lt;br /&gt;
      &amp;quot;channel&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;broadcastnow&amp;quot;,&lt;br /&gt;
      &amp;quot;broadcastnext&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;icon&amp;quot;,&lt;br /&gt;
      &amp;quot;channelnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;subchannelnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;isrecording&amp;quot;,&lt;br /&gt;
      &amp;quot;hasarchive&amp;quot;,&lt;br /&gt;
      &amp;quot;clientid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Client ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Client&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;addonid&amp;quot;,&lt;br /&gt;
      &amp;quot;supportstv&amp;quot;,&lt;br /&gt;
      &amp;quot;supportsradio&amp;quot;,&lt;br /&gt;
      &amp;quot;supportsepg&amp;quot;,&lt;br /&gt;
      &amp;quot;supportsrecordings&amp;quot;,&lt;br /&gt;
      &amp;quot;supportstimers&amp;quot;,&lt;br /&gt;
      &amp;quot;supportschannelgroups&amp;quot;,&lt;br /&gt;
      &amp;quot;supportschannelscan&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Recording ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Recording&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;channel&amp;quot;,&lt;br /&gt;
      &amp;quot;starttime&amp;quot;,&lt;br /&gt;
      &amp;quot;endtime&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;lifetime&amp;quot;,&lt;br /&gt;
      &amp;quot;icon&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;streamurl&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;radio&amp;quot;,&lt;br /&gt;
      &amp;quot;isdeleted&amp;quot;,&lt;br /&gt;
      &amp;quot;epgeventid&amp;quot;,&lt;br /&gt;
      &amp;quot;channeluid&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;clientid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Fields.Timer ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Fields.Timer&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;summary&amp;quot;,&lt;br /&gt;
      &amp;quot;channelid&amp;quot;,&lt;br /&gt;
      &amp;quot;isradio&amp;quot;,&lt;br /&gt;
      &amp;quot;istimerrule&amp;quot;,&lt;br /&gt;
      &amp;quot;ismanual&amp;quot;,&lt;br /&gt;
      &amp;quot;starttime&amp;quot;,&lt;br /&gt;
      &amp;quot;endtime&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;lifetime&amp;quot;,&lt;br /&gt;
      &amp;quot;firstday&amp;quot;,&lt;br /&gt;
      &amp;quot;weekdays&amp;quot;,&lt;br /&gt;
      &amp;quot;priority&amp;quot;,&lt;br /&gt;
      &amp;quot;startmargin&amp;quot;,&lt;br /&gt;
      &amp;quot;endmargin&amp;quot;,&lt;br /&gt;
      &amp;quot;state&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;directory&amp;quot;,&lt;br /&gt;
      &amp;quot;preventduplicateepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;startanytime&amp;quot;,&lt;br /&gt;
      &amp;quot;endanytime&amp;quot;,&lt;br /&gt;
      &amp;quot;epgsearchstring&amp;quot;,&lt;br /&gt;
      &amp;quot;fulltextepgsearch&amp;quot;,&lt;br /&gt;
      &amp;quot;recordinggroup&amp;quot;,&lt;br /&gt;
      &amp;quot;maxrecordings&amp;quot;,&lt;br /&gt;
      &amp;quot;epguid&amp;quot;,&lt;br /&gt;
      &amp;quot;isreadonly&amp;quot;,&lt;br /&gt;
      &amp;quot;isreminder&amp;quot;,&lt;br /&gt;
      &amp;quot;clientid&amp;quot;,&lt;br /&gt;
      &amp;quot;broadcastid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;available&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;available&amp;quot;,&lt;br /&gt;
    &amp;quot;recording&amp;quot;,&lt;br /&gt;
    &amp;quot;scanning&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; available]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; recording]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; scanning]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;available&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;recording&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;scanning&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== PVR.TimerState ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;new&amp;quot;,&lt;br /&gt;
    &amp;quot;scheduled&amp;quot;,&lt;br /&gt;
    &amp;quot;recording&amp;quot;,&lt;br /&gt;
    &amp;quot;completed&amp;quot;,&lt;br /&gt;
    &amp;quot;aborted&amp;quot;,&lt;br /&gt;
    &amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;conflict_ok&amp;quot;,&lt;br /&gt;
    &amp;quot;conflict_notok&amp;quot;,&lt;br /&gt;
    &amp;quot;error&amp;quot;,&lt;br /&gt;
    &amp;quot;disabled&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;PVR.TimerState&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Player ===&lt;br /&gt;
==== Player.Audio.Stream ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; bitrate&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; channels&lt;br /&gt;
* &#039;&#039;string&#039;&#039; codec&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; index&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isdefault&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isimpaired&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isoriginal&lt;br /&gt;
* &#039;&#039;string&#039;&#039; language&lt;br /&gt;
* &#039;&#039;string&#039;&#039; name&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; samplerate&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Audio.Stream&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;bitrate&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;channels&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;codec&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;index&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isdefault&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isimpaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isoriginal&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;language&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;samplerate&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.CustomViewMode ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;mixed: string|[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; nonlinearstretch]&lt;br /&gt;
* [&#039;&#039;mixed: string|[[#Optional.Number|Optional.Number]]&#039;&#039; pixelratio]&lt;br /&gt;
* [&#039;&#039;mixed: string|[[#Optional.Number|Optional.Number]]&#039;&#039; verticalshift]&lt;br /&gt;
* [&#039;&#039;mixed: string|[[#Optional.Number|Optional.Number]]&#039;&#039; zoom]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.CustomViewMode&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;nonlinearstretch&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;increase&amp;quot;,&lt;br /&gt;
            &amp;quot;decrease&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Flag to enable nonlinear stretch&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;pixelratio&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;increase&amp;quot;,&lt;br /&gt;
            &amp;quot;decrease&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Pixel aspect ratio where 1.0 means square pixel&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;verticalshift&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;increase&amp;quot;,&lt;br /&gt;
            &amp;quot;decrease&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Vertical shift 1.0 means shift to bottom&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;zoom&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;enums&amp;quot;: [&lt;br /&gt;
            &amp;quot;increase&amp;quot;,&lt;br /&gt;
            &amp;quot;decrease&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Number&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Zoom where 1.0 means 100%&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;required&amp;quot;: true,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Id ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
  &amp;quot;maximum&amp;quot;: 2,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Notifications.Data ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Notifications.Item|Notifications.Item]]&#039;&#039; item&lt;br /&gt;
* &#039;&#039;[[#Player.Notifications.Player|Player.Notifications.Player]]&#039;&#039; player&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;item&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;player&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Player&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Notifications.Player ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Player.Id|Player.Id]]&#039;&#039; playerid&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; speed]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Notifications.Player&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;playerid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;speed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Notifications.Player.Seek ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Player.Notifications.Player|Player.Notifications.Player]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; seekoffset]&lt;br /&gt;
* [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; time]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Player.Notifications.Player&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Notifications.Player.Seek&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;seekoffset&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;time&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Position.Percentage ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;number&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
  &amp;quot;maximum&amp;quot;: 100.0,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0.0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Position.Time ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; hours]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; milliseconds]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; minutes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; seconds]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A position in duration.&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Position.Time&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;hours&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;milliseconds&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 999,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minutes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 59,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;maximum&amp;quot;: 59,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;type&amp;quot;,&lt;br /&gt;
    &amp;quot;partymode&amp;quot;,&lt;br /&gt;
    &amp;quot;speed&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;,&lt;br /&gt;
    &amp;quot;percentage&amp;quot;,&lt;br /&gt;
    &amp;quot;totaltime&amp;quot;,&lt;br /&gt;
    &amp;quot;playlistid&amp;quot;,&lt;br /&gt;
    &amp;quot;position&amp;quot;,&lt;br /&gt;
    &amp;quot;repeat&amp;quot;,&lt;br /&gt;
    &amp;quot;shuffled&amp;quot;,&lt;br /&gt;
    &amp;quot;canseek&amp;quot;,&lt;br /&gt;
    &amp;quot;canchangespeed&amp;quot;,&lt;br /&gt;
    &amp;quot;canmove&amp;quot;,&lt;br /&gt;
    &amp;quot;canzoom&amp;quot;,&lt;br /&gt;
    &amp;quot;canrotate&amp;quot;,&lt;br /&gt;
    &amp;quot;canshuffle&amp;quot;,&lt;br /&gt;
    &amp;quot;canrepeat&amp;quot;,&lt;br /&gt;
    &amp;quot;currentaudiostream&amp;quot;,&lt;br /&gt;
    &amp;quot;audiostreams&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitleenabled&amp;quot;,&lt;br /&gt;
    &amp;quot;currentsubtitle&amp;quot;,&lt;br /&gt;
    &amp;quot;subtitles&amp;quot;,&lt;br /&gt;
    &amp;quot;live&amp;quot;,&lt;br /&gt;
    &amp;quot;currentvideostream&amp;quot;,&lt;br /&gt;
    &amp;quot;videostreams&amp;quot;,&lt;br /&gt;
    &amp;quot;cachepercentage&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; audiostreams]&lt;br /&gt;
* [&#039;&#039;[[#Player.Position.Percentage|Player.Position.Percentage]]&#039;&#039; cachepercentage]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canchangespeed]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canmove]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canrepeat]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canrotate]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canseek]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canshuffle]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canzoom]&lt;br /&gt;
* [&#039;&#039;[[#Player.Audio.Stream|Player.Audio.Stream]]&#039;&#039; currentaudiostream]&lt;br /&gt;
* [&#039;&#039;[[#Player.Subtitle|Player.Subtitle]]&#039;&#039; currentsubtitle]&lt;br /&gt;
* [&#039;&#039;[[#Player.Video.Stream|Player.Video.Stream]]&#039;&#039; currentvideostream]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; live]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; partymode]&lt;br /&gt;
* [&#039;&#039;[[#Player.Position.Percentage|Player.Position.Percentage]]&#039;&#039; percentage]&lt;br /&gt;
* [&#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position = -1]&lt;br /&gt;
* [&#039;&#039;[[#Player.Repeat|Player.Repeat]]&#039;&#039; repeat = off]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; shuffled]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; speed]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; subtitleenabled]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; subtitles]&lt;br /&gt;
* [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; time]&lt;br /&gt;
* [&#039;&#039;[[#Global.Time|Global.Time]]&#039;&#039; totaltime]&lt;br /&gt;
* [&#039;&#039;[[#Player.Type|Player.Type]]&#039;&#039; type = video]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; videostreams]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;audiostreams&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Audio.Stream&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;cachepercentage&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canchangespeed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canmove&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canrepeat&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canrotate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canseek&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canshuffle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canzoom&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;currentaudiostream&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Audio.Stream&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;currentsubtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Subtitle&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;currentvideostream&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Video.Stream&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;live&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;partymode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;percentage&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Position.Percentage&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;position&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;repeat&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Repeat&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;off&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;shuffled&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;speed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subtitleenabled&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subtitles&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Subtitle&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;time&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;totaltime&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Global.Time&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;A duration.&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;video&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;videostreams&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Player.Video.Stream&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Repeat ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;off&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;off&amp;quot;,&lt;br /&gt;
    &amp;quot;one&amp;quot;,&lt;br /&gt;
    &amp;quot;all&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Repeat&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Speed ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; speed]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Speed&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;speed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;required&amp;quot;: true,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Subtitle ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; index&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isdefault&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isforced&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; isimpaired&lt;br /&gt;
* &#039;&#039;string&#039;&#039; language&lt;br /&gt;
* &#039;&#039;string&#039;&#039; name&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Subtitle&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;index&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isdefault&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isforced&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;isimpaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;language&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;video&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;audio&amp;quot;,&lt;br /&gt;
    &amp;quot;picture&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.Video.Stream ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; codec&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; height&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; index&lt;br /&gt;
* &#039;&#039;string&#039;&#039; language&lt;br /&gt;
* &#039;&#039;string&#039;&#039; name&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; width&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.Video.Stream&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;codec&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;height&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;index&amp;quot;: {&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;language&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;name&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;width&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.ViewMode ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;normal&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;normal&amp;quot;,&lt;br /&gt;
    &amp;quot;zoom&amp;quot;,&lt;br /&gt;
    &amp;quot;stretch4x3&amp;quot;,&lt;br /&gt;
    &amp;quot;widezoom&amp;quot;,&lt;br /&gt;
    &amp;quot;stretch16x9&amp;quot;,&lt;br /&gt;
    &amp;quot;original&amp;quot;,&lt;br /&gt;
    &amp;quot;stretch16x9nonlin&amp;quot;,&lt;br /&gt;
    &amp;quot;zoom120width&amp;quot;,&lt;br /&gt;
    &amp;quot;zoom110width&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Player.ViewMode&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Playlist ===&lt;br /&gt;
==== Playlist.Id ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
  &amp;quot;maximum&amp;quot;: 2,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Item ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;file&amp;quot;: {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Path to a file (not a directory) to be added to the playlist&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;directory&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;media&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Files.Media&amp;quot;,&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;files&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;recursive&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;movieid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;episodeid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;musicvideoid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;artistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;albumid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;songid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;genreid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Identification of a genre from the AudioLibrary&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Position ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;integer&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Position&amp;quot;,&lt;br /&gt;
  &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;type&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;type&amp;quot;,&lt;br /&gt;
    &amp;quot;size&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; size]&lt;br /&gt;
* [&#039;&#039;[[#Playlist.Type|Playlist.Type]]&#039;&#039; type = unknown]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;size&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;unknown&amp;quot;,&lt;br /&gt;
    &amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;audio&amp;quot;,&lt;br /&gt;
    &amp;quot;picture&amp;quot;,&lt;br /&gt;
    &amp;quot;mixed&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Playlist.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Profiles ===&lt;br /&gt;
==== Profiles.Details.Profile ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Details.Base|Item.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; lockmode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; thumbnail]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Profiles.Details.Profile&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;lockmode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Profiles.Fields.Profile ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Profiles.Fields.Profile&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;lockmode&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Profiles.Password ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; encryption = md5]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Profiles.Password&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;encryption&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;md5&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Password Encryption&amp;quot;,&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;none&amp;quot;,&lt;br /&gt;
        &amp;quot;md5&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Password&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Setting ===&lt;br /&gt;
==== Setting.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; help]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; id&lt;br /&gt;
* &#039;&#039;string&#039;&#039; label&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;help&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;label&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Category ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.Base|Setting.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; groups]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Category&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;groups&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Group&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Control ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Control&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlCheckmark&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlSpinner&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlEdit&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlButton&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlList&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlSlider&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlRange&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.ControlLabel&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlBase ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; delayed&lt;br /&gt;
* &#039;&#039;string&#039;&#039; format&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;delayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;format&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlButton ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlHeading|Setting.Details.ControlHeading]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlButton&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;button&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlCheckmark ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; format&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlCheckmark&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;format&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;boolean&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;toggle&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlEdit ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlHeading|Setting.Details.ControlHeading]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; hidden&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; verifynewvalue&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlEdit&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;hidden&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;edit&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;verifynewvalue&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlHeading ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; heading]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;heading&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlLabel ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; format&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlLabel&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;format&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;string&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;label&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlList ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlHeading|Setting.Details.ControlHeading]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; multiselect&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlList&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;multiselect&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;list&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlRange ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; formatlabel&lt;br /&gt;
* &#039;&#039;string&#039;&#039; formatvalue&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlRange&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;formatlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;formatvalue&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;range&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlSlider ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlHeading|Setting.Details.ControlHeading]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; formatlabel&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; popup&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlHeading&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlSlider&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;formatlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;popup&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;slider&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.ControlSpinner ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.ControlBase|Setting.Details.ControlBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; formatlabel]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; minimumlabel]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.ControlBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.ControlSpinner&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;formatlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minimumlabel&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;enums&amp;quot;: [&lt;br /&gt;
        &amp;quot;spinner&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Group ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; id&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; settings]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Group&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;id&amp;quot;: {&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;settings&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Setting&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Section ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.Base|Setting.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; categories]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Section&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;categories&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Category&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.Setting ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.Setting&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingBool&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingInt&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingNumber&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingAction&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingList&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingPath&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingAddon&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingDate&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.SettingTime&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingAction ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingAction&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;data&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingAddon ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingString|Setting.Details.SettingString]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Addon.Types|Addon.Types]]&#039;&#039; addontype&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingAddon&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;addontype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Addon.Types&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingBase ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.Base|Setting.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Setting.Details.Control|Setting.Details.Control]]&#039;&#039; control]&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; enabled&lt;br /&gt;
* &#039;&#039;[[#Setting.Level|Setting.Level]]&#039;&#039; level&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; parent]&lt;br /&gt;
* &#039;&#039;[[#Setting.Type|Setting.Type]]&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;control&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Control&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;enabled&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;level&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;parent&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingBool ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; default&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingBool&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingDate ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingString|Setting.Details.SettingString]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingDate&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingInt ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; default&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; maximum]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; minimum]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; options]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; step]&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingInt&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;maximum&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minimum&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;options&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;label&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;value&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;step&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingList ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#Setting.Value.List|Setting.Value.List]]&#039;&#039; default&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.Setting|Setting.Details.Setting]]&#039;&#039; definition&lt;br /&gt;
* &#039;&#039;string&#039;&#039; delimiter&lt;br /&gt;
* &#039;&#039;[[#Setting.Type|Setting.Type]]&#039;&#039; elementtype&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; maximumitems]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; minimumitems]&lt;br /&gt;
* &#039;&#039;[[#Setting.Value.List|Setting.Value.List]]&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingList&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.List&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;definition&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Details.Setting&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;delimiter&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;elementtype&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Type&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;maximumitems&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minimumitems&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.List&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingNumber ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;number&#039;&#039; default&lt;br /&gt;
* &#039;&#039;number&#039;&#039; maximum&lt;br /&gt;
* &#039;&#039;number&#039;&#039; minimum&lt;br /&gt;
* &#039;&#039;number&#039;&#039; step&lt;br /&gt;
* &#039;&#039;number&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingNumber&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;maximum&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;minimum&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;step&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingPath ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingString|Setting.Details.SettingString]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; sources]&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; writable&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingPath&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;sources&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writable&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingString ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingBase|Setting.Details.SettingBase]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;boolean&#039;&#039; allowempty&lt;br /&gt;
* &#039;&#039;string&#039;&#039; default&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; options]&lt;br /&gt;
* &#039;&#039;string&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingBase&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;allowempty&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;options&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;label&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;value&amp;quot;: {&lt;br /&gt;
            &amp;quot;required&amp;quot;: true,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;value&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Details.SettingTime ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Setting.Details.SettingString|Setting.Details.SettingString]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Setting.Details.SettingString&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Details.SettingTime&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Level ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;basic&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;basic&amp;quot;,&lt;br /&gt;
    &amp;quot;standard&amp;quot;,&lt;br /&gt;
    &amp;quot;advanced&amp;quot;,&lt;br /&gt;
    &amp;quot;expert&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Level&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Type ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;boolean&amp;quot;,&lt;br /&gt;
    &amp;quot;integer&amp;quot;,&lt;br /&gt;
    &amp;quot;number&amp;quot;,&lt;br /&gt;
    &amp;quot;string&amp;quot;,&lt;br /&gt;
    &amp;quot;action&amp;quot;,&lt;br /&gt;
    &amp;quot;list&amp;quot;,&lt;br /&gt;
    &amp;quot;path&amp;quot;,&lt;br /&gt;
    &amp;quot;addon&amp;quot;,&lt;br /&gt;
    &amp;quot;date&amp;quot;,&lt;br /&gt;
    &amp;quot;time&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Type&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Value.Extended ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;mixed&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: null,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Value.Extended&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value.List&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Setting.Value.List ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Setting.Value.List&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Setting.Value&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== System ===&lt;br /&gt;
==== System.Property.Name ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;string&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;canshutdown&amp;quot;,&lt;br /&gt;
  &amp;quot;enums&amp;quot;: [&lt;br /&gt;
    &amp;quot;canshutdown&amp;quot;,&lt;br /&gt;
    &amp;quot;cansuspend&amp;quot;,&lt;br /&gt;
    &amp;quot;canhibernate&amp;quot;,&lt;br /&gt;
    &amp;quot;canreboot&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;System.Property.Name&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.Property.Value ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canhibernate]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canreboot]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; canshutdown]&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; cansuspend]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;System.Property.Value&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;canhibernate&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canreboot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;canshutdown&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;cansuspend&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Textures ===&lt;br /&gt;
==== Textures.Details.Size ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; height]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastused]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; size]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; usecount]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; width]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Textures.Details.Size&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;height&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Height of texture&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastused&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Date of last use&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;size&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Size of the texture (1 == largest)&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;usecount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Number of uses&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;width&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Width of texture&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Textures.Details.Texture ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; cachedurl]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; imagehash]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lasthashcheck]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; sizes]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; textureid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; url]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Textures.Details.Texture&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;cachedurl&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Cached URL on disk&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imagehash&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Hash of image&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lasthashcheck&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Last time source was checked for changes&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sizes&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Textures.Details.Size&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;textureid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;url&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Original source URL&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Textures.Fields.Texture ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Textures.Fields.Texture&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;url&amp;quot;,&lt;br /&gt;
      &amp;quot;cachedurl&amp;quot;,&lt;br /&gt;
      &amp;quot;lasthashcheck&amp;quot;,&lt;br /&gt;
      &amp;quot;imagehash&amp;quot;,&lt;br /&gt;
      &amp;quot;sizes&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Video ===&lt;br /&gt;
==== Video.Cast ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;array&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Cast&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;order&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;role&amp;quot;: {&lt;br /&gt;
        &amp;quot;required&amp;quot;: true,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;: {&lt;br /&gt;
        &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Base ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Media.Details.Base|Media.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Media.Artwork|Media.Artwork]]&#039;&#039; art]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; playcount]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Media.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;art&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.Artwork&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Episode ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.File|Video.Details.File]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Video.Cast|Video.Cast]]&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; episodeid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; firstaired]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; productioncode]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; ratings]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; season]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; seasonid = -1]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; showtitle]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; specialsortepisode]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; specialsortseason]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Media.UniqueID|Media.UniqueID]]&#039;&#039; uniqueid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; writer]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Episode&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Cast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodeid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;firstaired&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;productioncode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;ratings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;seasonid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;specialsortepisode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;specialsortseason&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writer&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.File ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Item|Video.Details.Item]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; director]&lt;br /&gt;
* [&#039;&#039;[[#Video.Resume|Video.Resume]]&#039;&#039; resume]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;[[#Video.Streams|Video.Streams]]&#039;&#039; streamdetails]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;director&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;resume&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Resume&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;streamdetails&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Streams&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Item ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Media|Video.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; dateadded]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; file]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; lastplayed]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plot]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;dateadded&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;file&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;lastplayed&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Media ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Base|Video.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Movie ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.File|Video.Details.File]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Video.Cast|Video.Cast]]&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; country]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; genre]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; imdbnumber]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; movieid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mpaa]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plotoutline]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; premiered]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; ratings]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; set]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid = -1]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; showlink]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sorttitle]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; studio]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; tag]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; tagline]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; top250]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; trailer]&lt;br /&gt;
* [&#039;&#039;[[#Media.UniqueID|Media.UniqueID]]&#039;&#039; uniqueid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; writer]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Cast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;country&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imdbnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;movieid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mpaa&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;plotoutline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;premiered&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;ratings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;set&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;setid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showlink&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sorttitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;studio&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tag&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tagline&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;top250&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;trailer&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;writer&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.MovieSet ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Media|Video.Details.Media]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; plot]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; setid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Media&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.MovieSet&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;plot&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;setid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.MovieSet.Extended ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.MovieSet|Video.Details.MovieSet]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* &#039;&#039;[[#List.LimitsReturned|List.LimitsReturned]]&#039;&#039; limits&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; movies]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.MovieSet&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.MovieSet.Extended&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;limits&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;List.LimitsReturned&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;movies&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Details.Movie&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.MusicVideo ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.File|Video.Details.File]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; album]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; artist]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; genre]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; musicvideoid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; premiered]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; studio]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; tag]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; track]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.File&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.MusicVideo&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;album&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;artist&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;musicvideoid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;premiered&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;studio&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tag&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;track&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.Season ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Base|Video.Details.Base]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* &#039;&#039;integer&#039;&#039; season&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; seasonid&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; showtitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; title]&lt;br /&gt;
* [&#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid = -1]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; watchedepisodes]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.Season&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;seasonid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;showtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;title&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;default&amp;quot;: -1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;watchedepisodes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Details.TVShow ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Video.Details.Item|Video.Details.Item]]&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;[[#Video.Cast|Video.Cast]]&#039;&#039; cast]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; episode]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; episodeguide]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; genre]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; imdbnumber]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; mpaa]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; originaltitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; premiered]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; rating]&lt;br /&gt;
* [&#039;&#039;any&#039;&#039; ratings]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; runtime]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; season]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; sorttitle]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; status]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; studio]&lt;br /&gt;
* [&#039;&#039;[[#Array.String|Array.String]]&#039;&#039; tag]&lt;br /&gt;
* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; tvshowid&lt;br /&gt;
* [&#039;&#039;[[#Media.UniqueID|Media.UniqueID]]&#039;&#039; uniqueid]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; userrating]&lt;br /&gt;
* [&#039;&#039;string&#039;&#039; votes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; watchedepisodes]&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; year]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Video.Details.Item&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Details.TVShow&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;cast&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Video.Cast&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episode&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;episodeguide&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;genre&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;imdbnumber&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;mpaa&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;originaltitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;premiered&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;ratings&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: null,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;any&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;runtime&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Runtime in seconds&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;season&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sorttitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;Returns &#039;returning series&#039;, &#039;in production&#039;, &#039;planned&#039;, &#039;cancelled&#039; or &#039;ended&#039;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;studio&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tag&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Array.String&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;tvshowid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;uniqueid&amp;quot;: {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Media.UniqueID&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;userrating&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;watchedepisodes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;year&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.Episode ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.Episode&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the cast, ratings, streamdetails, uniqueid and/or tag field will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;firstaired&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;productioncode&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortseason&amp;quot;,&lt;br /&gt;
      &amp;quot;specialsortepisode&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;seasonid&amp;quot;,&lt;br /&gt;
      &amp;quot;ratings&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.Movie ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.Movie&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the cast, ratings, showlink, streamdetails, uniqueid and/or tag field will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;trailer&amp;quot;,&lt;br /&gt;
      &amp;quot;tagline&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;plotoutline&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;writer&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;country&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;set&amp;quot;,&lt;br /&gt;
      &amp;quot;showlink&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;top250&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;setid&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;ratings&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.MovieSet ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.MovieSet&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.MusicVideo ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.MusicVideo&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the streamdetails and/or tag field will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;director&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;album&amp;quot;,&lt;br /&gt;
      &amp;quot;artist&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;track&amp;quot;,&lt;br /&gt;
      &amp;quot;streamdetails&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;resume&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.Season ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.Season&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;showtitle&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;tvshowid&amp;quot;,&lt;br /&gt;
      &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Fields.TVShow ====&lt;br /&gt;
&#039;&#039;&#039;Extends:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#Item.Fields.Base|Item.Fields.Base]]&#039;&#039;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;extends&amp;quot;: &amp;quot;Item.Fields.Base&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Fields.TVShow&amp;quot;,&lt;br /&gt;
  &amp;quot;items&amp;quot;: {&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Requesting the cast, ratings, uniqueid and/or tag field will result in increased response times&amp;quot;,&lt;br /&gt;
    &amp;quot;enums&amp;quot;: [&lt;br /&gt;
      &amp;quot;title&amp;quot;,&lt;br /&gt;
      &amp;quot;genre&amp;quot;,&lt;br /&gt;
      &amp;quot;year&amp;quot;,&lt;br /&gt;
      &amp;quot;rating&amp;quot;,&lt;br /&gt;
      &amp;quot;plot&amp;quot;,&lt;br /&gt;
      &amp;quot;studio&amp;quot;,&lt;br /&gt;
      &amp;quot;mpaa&amp;quot;,&lt;br /&gt;
      &amp;quot;cast&amp;quot;,&lt;br /&gt;
      &amp;quot;playcount&amp;quot;,&lt;br /&gt;
      &amp;quot;episode&amp;quot;,&lt;br /&gt;
      &amp;quot;imdbnumber&amp;quot;,&lt;br /&gt;
      &amp;quot;premiered&amp;quot;,&lt;br /&gt;
      &amp;quot;votes&amp;quot;,&lt;br /&gt;
      &amp;quot;lastplayed&amp;quot;,&lt;br /&gt;
      &amp;quot;fanart&amp;quot;,&lt;br /&gt;
      &amp;quot;thumbnail&amp;quot;,&lt;br /&gt;
      &amp;quot;file&amp;quot;,&lt;br /&gt;
      &amp;quot;originaltitle&amp;quot;,&lt;br /&gt;
      &amp;quot;sorttitle&amp;quot;,&lt;br /&gt;
      &amp;quot;episodeguide&amp;quot;,&lt;br /&gt;
      &amp;quot;season&amp;quot;,&lt;br /&gt;
      &amp;quot;watchedepisodes&amp;quot;,&lt;br /&gt;
      &amp;quot;dateadded&amp;quot;,&lt;br /&gt;
      &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;art&amp;quot;,&lt;br /&gt;
      &amp;quot;userrating&amp;quot;,&lt;br /&gt;
      &amp;quot;ratings&amp;quot;,&lt;br /&gt;
      &amp;quot;runtime&amp;quot;,&lt;br /&gt;
      &amp;quot;uniqueid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Rating ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;boolean&#039;&#039; default]&lt;br /&gt;
* &#039;&#039;number&#039;&#039; rating&lt;br /&gt;
* [&#039;&#039;integer&#039;&#039; votes]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Rating&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;rating&amp;quot;: {&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;votes&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Ratings ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;$ref&amp;quot;: &amp;quot;Video.Rating&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Ratings&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Ratings.Set ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: {&lt;br /&gt;
    &amp;quot;default&amp;quot;: null,&lt;br /&gt;
    &amp;quot;type&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;$ref&amp;quot;: &amp;quot;Video.Rating&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Ratings.Set&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Resume ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; position]&lt;br /&gt;
* [&#039;&#039;number&#039;&#039; total]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Resume&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;position&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;total&amp;quot;: {&lt;br /&gt;
      &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;minimum&amp;quot;: 0.0,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Video.Streams ====&lt;br /&gt;
&#039;&#039;&#039;Type:&#039;&#039;&#039; &#039;&#039;object&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Properties:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; audio]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; subtitle]&lt;br /&gt;
* [&#039;&#039;array&#039;&#039; video]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;Video.Streams&amp;quot;,&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;audio&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;channels&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;codec&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;language&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;subtitle&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;language&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;video&amp;quot;: {&lt;br /&gt;
      &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;additionalProperties&amp;quot;: false,&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;aspect&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0.0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;codec&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;duration&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;height&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          },&lt;br /&gt;
          &amp;quot;width&amp;quot;: {&lt;br /&gt;
            &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;minItems&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
== Notifications ==&lt;br /&gt;
=== Application ===&lt;br /&gt;
==== Application.OnVolumeChanged ====&lt;br /&gt;
The volume of the application has changed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;boolean&#039;&#039; muted&lt;br /&gt;
#* &#039;&#039;integer&#039;&#039; volume&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The volume of the application has changed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;muted&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;volume&amp;quot;: {&lt;br /&gt;
          &amp;quot;maximum&amp;quot;: 100,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== AudioLibrary ===&lt;br /&gt;
==== AudioLibrary.OnCleanFinished ====&lt;br /&gt;
The audio library has been cleaned.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The audio library has been cleaned.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnCleanStarted ====&lt;br /&gt;
An audio library clean operation has started.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio library clean operation has started.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnExport ====&lt;br /&gt;
An audio library export has finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; data]:&lt;br /&gt;
#* [&#039;&#039;integer&#039;&#039; failcount = 0]&lt;br /&gt;
#* [&#039;&#039;string&#039;&#039; file = &amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio library export has finished.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;failcount&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;file&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnRemove ====&lt;br /&gt;
An audio item has been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; transaction&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Library.Audio.Type|Notifications.Library.Audio.Type]]&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio item has been removed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transaction&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the removal is being performed within a transaction.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Library.Audio.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnScanFinished ====&lt;br /&gt;
Scanning the audio library has been finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Scanning the audio library has been finished.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnScanStarted ====&lt;br /&gt;
An audio library scan has started.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio library scan has started.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== AudioLibrary.OnUpdate ====&lt;br /&gt;
An audio item has been updated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; added&lt;br /&gt;
#* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; transaction&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;An audio item has been updated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;added&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the update is for a newly added item.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transaction&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the update is being performed within a transaction.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;enum&amp;quot;: [&lt;br /&gt;
            &amp;quot;song&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;id&amp;quot;: &amp;quot;Notifications.Library.Audio.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== GUI ===&lt;br /&gt;
==== GUI.OnDPMSActivated ====&lt;br /&gt;
Energy saving/DPMS has been activated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Energy saving/DPMS has been activated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.OnDPMSDeactivated ====&lt;br /&gt;
Energy saving/DPMS has been deactivated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Energy saving/DPMS has been deactivated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.OnScreensaverActivated ====&lt;br /&gt;
The screensaver has been activated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The screensaver has been activated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== GUI.OnScreensaverDeactivated ====&lt;br /&gt;
The screensaver has been deactivated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;boolean&#039;&#039; shuttingdown&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The screensaver has been deactivated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;shuttingdown&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Input ===&lt;br /&gt;
==== Input.OnInputFinished ====&lt;br /&gt;
The user has provided the requested input.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The user has provided the requested input.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Input.OnInputRequested ====&lt;br /&gt;
The user is requested to provide some information.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; title&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; value&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The user is requested to provide some information.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;enum&amp;quot;: [&lt;br /&gt;
            &amp;quot;keyboard&amp;quot;,&lt;br /&gt;
            &amp;quot;time&amp;quot;,&lt;br /&gt;
            &amp;quot;date&amp;quot;,&lt;br /&gt;
            &amp;quot;ip&amp;quot;,&lt;br /&gt;
            &amp;quot;password&amp;quot;,&lt;br /&gt;
            &amp;quot;numericpassword&amp;quot;,&lt;br /&gt;
            &amp;quot;number&amp;quot;,&lt;br /&gt;
            &amp;quot;seconds&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;value&amp;quot;: {&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Player ===&lt;br /&gt;
==== Player.OnAVChange ====&lt;br /&gt;
Audio- or videostream has changed. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Audio- or videostream has changed. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnAVStart ====&lt;br /&gt;
Playback of a media item has been started and first frame is available. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Playback of a media item has been started and first frame is available. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnPause ====&lt;br /&gt;
Playback of a media item has been paused. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Playback of a media item has been paused. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnPlay ====&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;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.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnPropertyChanged ====&lt;br /&gt;
A property of the playing items has changed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Player.Notifications.Player|Player.Notifications.Player]]&#039;&#039; player&lt;br /&gt;
#* &#039;&#039;[[#Player.Property.Value|Player.Property.Value]]&#039;&#039; property&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A property of the playing items has changed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;player&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Player&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;property&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Property.Value&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnResume ====&lt;br /&gt;
Playback of a media item has been resumed. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Playback of a media item has been resumed. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnSeek ====&lt;br /&gt;
The playback position has been changed. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Item|Notifications.Item]]&#039;&#039; item&lt;br /&gt;
#* &#039;&#039;[[#Player.Notifications.Player.Seek|Player.Notifications.Player.Seek]]&#039;&#039; player&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The playback position has been changed. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;item&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;player&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Player.Seek&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnSpeedChanged ====&lt;br /&gt;
Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;[[#Player.Notifications.Data|Player.Notifications.Data]]&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;$ref&amp;quot;: &amp;quot;Player.Notifications.Data&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Player.OnStop ====&lt;br /&gt;
Playback of a media item has been stopped. If there is no ID available extra information will be provided.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;boolean&#039;&#039; end&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Item|Notifications.Item]]&#039;&#039; item&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Playback of a media item has been stopped. If there is no ID available extra information will be provided.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;end&amp;quot;: {&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;Whether the player has reached the end of the playable item(s) or not&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;item&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== Playlist ===&lt;br /&gt;
==== Playlist.OnAdd ====&lt;br /&gt;
A playlist item has been added.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Item|Notifications.Item]]&#039;&#039; item&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A playlist item has been added.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;item&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Item&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;position&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.OnClear ====&lt;br /&gt;
A playlist item has been cleared.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A playlist item has been cleared.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== Playlist.OnRemove ====&lt;br /&gt;
A playlist item has been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Id|Playlist.Id]]&#039;&#039; playlistid&lt;br /&gt;
#* &#039;&#039;[[#Playlist.Position|Playlist.Position]]&#039;&#039; position&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A playlist item has been removed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;playlistid&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;position&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Playlist.Position&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== System ===&lt;br /&gt;
==== System.OnLowBattery ====&lt;br /&gt;
The system is on low battery.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The system is on low battery.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.OnQuit ====&lt;br /&gt;
Kodi will be closed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;integer&#039;&#039; exitcode&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Kodi will be closed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;exitcode&amp;quot;: {&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.OnRestart ====&lt;br /&gt;
The system will be restarted.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The system will be restarted.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.OnSleep ====&lt;br /&gt;
The system will be suspended.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The system will be suspended.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== System.OnWake ====&lt;br /&gt;
The system woke up from suspension.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The system woke up from suspension.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
=== VideoLibrary ===&lt;br /&gt;
==== VideoLibrary.OnCleanFinished ====&lt;br /&gt;
The video library has been cleaned.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The video library has been cleaned.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnCleanStarted ====&lt;br /&gt;
A video library clean operation has started.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video library clean operation has started.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnExport ====&lt;br /&gt;
A video library export has finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# [&#039;&#039;object&#039;&#039; data]:&lt;br /&gt;
#* [&#039;&#039;integer&#039;&#039; failcount = 0]&lt;br /&gt;
#* [&#039;&#039;string&#039;&#039; file = &amp;quot;&amp;quot;]&lt;br /&gt;
#* [&#039;&#039;string&#039;&#039; root = &amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video library export has finished.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;failcount&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;file&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;root&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: false,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: false,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnRefresh ====&lt;br /&gt;
The video library has been refreshed and a home screen reload might be necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;The video library has been refreshed and a home screen reload might be necessary.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnRemove ====&lt;br /&gt;
A video item has been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; transaction&lt;br /&gt;
#* &#039;&#039;[[#Notifications.Library.Video.Type|Notifications.Library.Video.Type]]&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video item has been removed.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transaction&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the removal is being performed within a transaction.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Notifications.Library.Video.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnScanFinished ====&lt;br /&gt;
Scanning the video library has been finished.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Scanning the video library has been finished.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnScanStarted ====&lt;br /&gt;
A video library scan has started.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;string&#039;&#039; data&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video library scan has started.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
==== VideoLibrary.OnUpdate ====&lt;br /&gt;
A video item has been updated.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 20px; width: 60%; padding: 0px 5px 0px 5px; border-width: 1px; border-style: solid; border-color: #AAAAAA&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;string&#039;&#039; sender&lt;br /&gt;
# &#039;&#039;object&#039;&#039; data:&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; added&lt;br /&gt;
#* &#039;&#039;[[#Library.Id|Library.Id]]&#039;&#039; id&lt;br /&gt;
#* &#039;&#039;integer&#039;&#039; playcount = -1&lt;br /&gt;
#* &#039;&#039;[[#Optional.Boolean|Optional.Boolean]]&#039;&#039; transaction&lt;br /&gt;
#* &#039;&#039;string&#039;&#039; type&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{hidden|style = width: 60%;|headerstyle = background: #cccccc;|contentstyle = text-align: left; border: 0px solid #AAAAAA;|JSON Schema Description|&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;A video item has been updated.&amp;quot;,&lt;br /&gt;
  &amp;quot;params&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;sender&amp;quot;,&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;data&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;added&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the update is for a newly added item.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;id&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Library.Id&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;playcount&amp;quot;: {&lt;br /&gt;
          &amp;quot;default&amp;quot;: -1,&lt;br /&gt;
          &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transaction&amp;quot;: {&lt;br /&gt;
          &amp;quot;$ref&amp;quot;: &amp;quot;Optional.Boolean&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;True if the update is being performed within a transaction.&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;type&amp;quot;: {&lt;br /&gt;
          &amp;quot;enum&amp;quot;: [&lt;br /&gt;
            &amp;quot;movie&amp;quot;,&lt;br /&gt;
            &amp;quot;tvshow&amp;quot;,&lt;br /&gt;
            &amp;quot;episode&amp;quot;,&lt;br /&gt;
            &amp;quot;musicvideo&amp;quot;&lt;br /&gt;
          ],&lt;br /&gt;
          &amp;quot;id&amp;quot;: &amp;quot;Notifications.Library.Video.Type&amp;quot;,&lt;br /&gt;
          &amp;quot;required&amp;quot;: true,&lt;br /&gt;
          &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;required&amp;quot;: true,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;returns&amp;quot;: null,&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;notification&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://jsonrpc.org/spec.html JSON-RPC 2.0 specification]&lt;br /&gt;
* [http://tools.ietf.org/html/draft-zyp-json-schema-03 A JSON Media Type for Describing the Structure and Meaning of JSON Documents (Draft 03)]&lt;br /&gt;
&lt;br /&gt;
{{updated|21}}&lt;br /&gt;
[[Category:JSON-RPC]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Label_Formatting&amp;diff=243183</id>
		<title>Label Formatting</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Label_Formatting&amp;diff=243183"/>
		<updated>2022-10-11T11:12:48Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add tabs keyword&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kodi has a sophisticated label formatting engine, allowing the skinner to format up a particular label using bold, italics, full caps, lower case, and coloured text.&lt;br /&gt;
&lt;br /&gt;
This works on all labels throughout the interface. The syntax is similar to the &amp;quot;phpBB&amp;quot; syntax seen on some bulletin board software.&lt;br /&gt;
&lt;br /&gt;
[[Label Parsing|The $INFO and $LOCALIZE syntaxes are explained in more detail here.]]&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
This is a long label that features different [COLOR red]colours[/COLOR] and [I]styles[/I].&lt;br /&gt;
&lt;br /&gt;
[LOWERCASE]$LOCALIZE[12345][/LOWERCASE] can be used to force a localize string to lowercase.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
The following keywords are used.&lt;br /&gt;
&lt;br /&gt;
* $INFO[ListItem.Title,prefix,postfix] - for specifying an [[InfoLabels|info label]].&lt;br /&gt;
* $VAR[MyVariable,prefix,postfix] - for specifying a variable.&lt;br /&gt;
* $LOCALIZE[12345] - for specifying a localized string.&lt;br /&gt;
* $ADDON[script.music.foobar 12345] - for specifying a string provided by an addon.&lt;br /&gt;
* $NUMBER[] - for specifying a numerical value.&lt;br /&gt;
* [B]bold[/B] - bold text.&lt;br /&gt;
* [I]italics[/I] - italic text.&lt;br /&gt;
* [LIGHT]lighten[/LIGHT] - light weight text. {{note|Available from Kodi v16}}&lt;br /&gt;
* [COLOR red]red text[/COLOR] - colored text.&lt;br /&gt;
* [UPPERCASE]uppercase text[/UPPERCASE] - all text is made uppercase e.g. UPPERCASE TEXT&lt;br /&gt;
* [LOWERCASE]lowercase text[/LOWERCASE] - all text is made lowercase e.g. lowercase text&lt;br /&gt;
* [CAPITALIZE]capitalized text[/CAPITALIZE] - first letter of every word is capitalized (Isengard onward) e.g. Capitalized Text&lt;br /&gt;
* [CR] - carriage return (line break).&lt;br /&gt;
* [TABS]n[/TABS] - add tabulator spaces, replace &amp;quot;n&amp;quot; with the appropriate amount of tabs to add. {{note|Available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&#039;&#039;&#039;Development:&#039;&#039;&#039;&lt;br /&gt;
* [[Add-on development]]&lt;br /&gt;
* [[Skinning]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=242940</id>
		<title>List of built-in functions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=242940"/>
		<updated>2022-09-09T18:26:45Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: /* Player built-in&amp;#039;s */ Better name for PlayMedia path param&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Python development]] {{l2| [[Add-on development]] }} {{l2| [[Skinning]] }} | [[Built-in scripting]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use built-in functions with the &amp;lt;onclick&amp;gt; or &amp;lt;onfocus&amp;gt; tag. Scripts can call built-in functions with &amp;lt;code&amp;gt;xbmc.executebuiltin(function, block)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The latest up-to-date list of built-in functions can be found in the source code files in [https://github.com/xbmc/xbmc/tree/master/xbmc/interfaces/builtins].&lt;br /&gt;
&lt;br /&gt;
In addition to the following list, for most &amp;lt;onclick&amp;gt; and &amp;lt;onfocus&amp;gt; button actions in the skin you can also use the functions from [[Keyboard.xml]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;poem&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;onclick&amp;gt;VolumeUp&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;VolumeDown&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/poem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can use parameters with all media windows, as can be seen here:&#039;&#039;&#039;&lt;br /&gt;
* [[Opening Windows and Dialogs]]&lt;br /&gt;
&lt;br /&gt;
== List of functions ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;functions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add-on built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.OpenSettings(extensionpoint)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the default addon of the given type (extensionpoint)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.Set(extensionpoint)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a select dialog to allow choosing the default addon of the given type (extensionpoint)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.OpenSettings(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the addon of the given id &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EnableAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables the specified plugin/script&lt;br /&gt;
| v19 addition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InstallAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will install the addon with the given id.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InstallFromZip&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens the &amp;quot;Install from zip&amp;quot;-dialog if &amp;quot;Unknown sources&amp;quot; is enabled. Prompts the warning message if not.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the specified plugin/script &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunAppleScript(script[,args]*)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Run the specified AppleScript command &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunPlugin(plugin)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the plugin. Full path must be specified. Does not work for folder plugins &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunScript(script[,args]*)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the python script. You must specify the add-on id of the script. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StopScript(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stop the script by ID or path, if running&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateAddonRepos&amp;lt;/code&amp;gt;&lt;br /&gt;
| Triggers a forced update of enabled add-on repositories. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLocalAddons&amp;lt;/code&amp;gt;&lt;br /&gt;
| Triggers a scan of local add-on directories. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StartAndroidActivity(package,[intent,dataType,dataURI])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Launch an Android native app with the given package name. Optional parms (in order): intent, dataType, dataURI. example: &amp;lt;nowiki&amp;gt;StartAndroidActivity(com.android.chrome,android.intent.action.VIEW,,http://kodi.tv/)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Application built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Extract(archive_url[, destination])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Extracts a specified archive to an optionally specified &#039;absolute&#039; path. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mutes (or unmutes) the volume. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NotifyAll(sender, data [, json])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Notify all connected clients&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetVolume(percent[,showvolumebar])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the volume to the percentage specified. Optionally, show the Volume Dialog in Kodi when setting the volume. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables/disables debug mode&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDPMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle DPMS (VESA Display Power Management Signaling) mode manually &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WakeOnLan(mac)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends the wake-up packet to the broadcast address for the specified MAC address (Format: FF:FF:FF:FF:FF:FF or FF-FF-FF-FF-FF-FF). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CEC built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECActivateSource&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wake up playing device via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECStandby&amp;lt;/code&amp;gt;&lt;br /&gt;
| Put playing device on standby via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECToggleState&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle state of playing device via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== EPG built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EpgGridControl(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| supported commands: firstprogramme  (jump to the first programme) / currentprogramme  (jump to the current programme) / lastprogramme  (jump to the last programme) / selectdate  (jump to the selected date &amp;amp; time) / +XX  (jump XX hours forward) / -XX  (jump XX hours back) / firstchannel  (jump to the first channel) / playingchannel  (jump to the currently playing channel) / lastchannel  (jump to the last channel) / previousgroup  (switch the epg to the previous group) / nextgroup  (switch the epg to the next group) / selectgroup  (select a group)&lt;br /&gt;
| {{nowrap|v19 Addition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Action(action[,window])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes an action (same as in keymap) for the given window or the active window if the parameter window is omitted. The parameter window can either be the window&#039;s id, or in the case of a standard window, the window&#039;s name. See [[Action IDs]] for a list of available actions. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(window[,dir,return])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens the given window. The parameter window can either be the window&#039;s id, or in the case of a standard window, the window&#039;s name. See [[Window IDs]] for a list of window names, and their respective ids. If, furthermore, the window is Music, Video, Pictures, or Program files, then the optional dir parameter specifies which folder Kodi should default to once the window is opened. This must be a source as specified in sources.xml, or a subfolder of a valid source. For some windows (MusicLibrary and VideoLibrary), the return parameter may be specified, which indicates that Kodi should use this folder as the &amp;quot;root&amp;quot; of the level, and thus the &amp;quot;parent directory&amp;quot; action from within this folder will return the user to where they were prior to the window activating. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindowAndFocus(id1, id2,item1, id3,item2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Activate window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0).&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;AlarmClock(name,command,[time,silent,loop])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a dialog asking for the length of time (mm:ss) for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it&#039;ll execute the built-in command (the parameter command) if it is specified, otherwise it&#039;ll pop up an alarm notice. Add silent to hide the alarm notification. Add loop for the alarm to execute the command each time the specified time interval expires. If defining the last optional parameters (silent and loop) both have to be defined for any to take effect. The parameter &amp;quot;time&amp;quot; accepts an integer value (in minutes) or a timestring in the format &amp;quot;hh:mm:ss&amp;quot; or &amp;quot;mm min&amp;quot;.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CancelAlarm(name[,silent])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cancel a running alarm. Set silent to true to hide the alarm notification. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClearProperty(key[,id])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Clears a window property for the current focused window/dialog(key), or the specified window (key,id). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Dialog.Close(dialog[,force])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Close a dialog. Set force to true to bypass animations. Use (all,true) to close all opened dialogs at once. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
| Navigate to the next PVR channel group (in DialogPVRChannelsOSD.xml)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NextStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI to the next available mode.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Notification(header,message[,time,image])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will display a notification dialog with the specified header and message, in addition you can set the length of time it displays in milliseconds and a icon image. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
| Navigate to the previous PVR channel group (in DialogPVRChannelsOSD.xml)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI to the previous available mode.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RefreshRSS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reload RSS feeds from RSSFeeds.xml &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReplaceWindow(window,dir)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replaces the current window with the given window. This is the same as ActivateWindow() but it doesn&#039;t update the window history list, so when you go back from the new window it will not return to the previous window, rather will return to the previous window&#039;s previous window. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReplaceWindowAndFocus(id1, id2,item1, id3,item2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replace window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0).&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Resolution&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change Kodi&#039;s Resolution. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetGUILanguage(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set GUI Language, &#039;value&#039; is the language file to use. SetGUILanguage(resource.language.de_de)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetProperty(key,value[,id])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets a window property for the current window (key,value), or the specified window (key,value,id). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI. Params can be: toggle, next, previous, select, tomono or any of the supported stereomodes (off, split_vertical, split_horizontal, row_interleaved, hardware_based, anaglyph_cyan_red, anaglyph_green_magenta, monoscopic)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;settingslevelchange&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the visible settings (in SettingsCategory.xml) between &#039;basic&#039;, &#039;standard&#039;, &#039;advanced and &#039;expert&#039;&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TakeScreenshot([filenameandpath,sync])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes a Screenshot. You can optionally specify the filename (including the path). Note: only .png files are supported. Add &amp;quot;sync&amp;quot; parameter to run synchronously (slow).&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDirtyRegionVisualization&amp;lt;/code&amp;gt;&lt;br /&gt;
| makes dirty regions visible for debugging proposes.&lt;br /&gt;
| {{nowrap|v16 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the stereoscopic mode of the GUI (on/off).&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI container built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.NextSortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the next sort method. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.NextViewMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select the next view mode. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.PreviousSortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the previous sort method. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.PreviousViewMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select the previous view mode. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Refresh current listing. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetSortMethod(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the specified sort method. (For list of ID&#039;s see [[https://kodi.wiki/view/List_of_built-in_functions#List_of_sort_methods list of sort methods]]) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetViewMode(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the current view mode (list, icons etc.) to the given container id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetSortDirection&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the sort direction. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Update&amp;lt;/code&amp;gt;&lt;br /&gt;
| Update current listing. Send Container.Update(path,replace) to reset the path history. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI control built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.Message(id,message,[windowid])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a given message to a control in a given window (or active window if omitted). Messages can be movedown, moveup, pagedown, pageup, click. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.Move(id,offset)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a Container with the &amp;quot;id&amp;quot; specified in the command move focus by &amp;quot;offset&amp;quot;. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.SetFocus(id,position[,absolute])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a list with the &amp;quot;id&amp;quot; specified in the command gain focus at &amp;quot;position&amp;quot; number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias SetFocus(id,position) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Send a page down event to the pagecontrol with given id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Send a page up event to the pagecontrol with given id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SendClick(windowid,id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a click to a control in a given window (or active window if omitted). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetFocus(id,position[,absolute])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a list with the &amp;quot;id&amp;quot; specified in the command gain focus at &amp;quot;position&amp;quot; number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias Control.SetFocus(id,position) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Library built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CleanLibrary(database)&amp;lt;/code&amp;gt;&lt;br /&gt;
| This funtion will perform a number of &#039;cleanup&#039; tasks on your video database and can be run if you have moved, deleted or renamed files. Takes either &amp;quot;video&amp;quot; or &amp;quot;music&amp;quot; as a parameter to begin cleaning the corresponding database. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exportlibrary(music,false,filepath)&amp;lt;/code&amp;gt;&lt;br /&gt;
| The music library will be exported to a single file stored at filepath location. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exportlibrary(video,true,thumbs,overwrite,actorthumbs)&amp;lt;/code&amp;gt;&lt;br /&gt;
| The video library is exported to multiple files with the given options. Here thumbs, overwrite and actorthumbs are boolean values (true or false). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(database,[path])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes either &amp;quot;video&amp;quot; or &amp;quot;music&amp;quot; as a parameter to begin updating the corresponding database. For &amp;quot;video&amp;quot; you can additionally specify a specific path to be scanned. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoLibrary.Search&amp;lt;/code&amp;gt;&lt;br /&gt;
| Brings up a search dialog which will search the library &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optical container built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EjectTray()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Either opens or closes the DVD tray, depending on its current state &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RipCD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will rip the inserted CD from the DVD-ROM drive. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Picture built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RecursiveSlideShow(dir)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Run a slideshow from the specified directory, including all subdirs &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPicture(picture)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Show a picture by its file path/url.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SlideShow(dir[,recursive][,[not]random][,pause][,beginslide=&amp;quot;/path/to/start/slide.jpg&amp;quot;])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts a slideshow of pictures in the folder dir. Optional parameters are &#039;recursive&#039;, &#039;random&#039; or &#039;notrandom&#039;, &#039;pause&#039; and &#039;beginslide=&amp;quot;/path/to/some/image.jpg&amp;quot;&#039; parameters. The &amp;quot;recursive&amp;quot; parameter starts a recursive slideshow, adding images from sub-folders. The &amp;quot;random&amp;quot; and &amp;quot;notrandom&amp;quot; parameters override the Randomize setting found in the pictures media window. The &amp;quot;pause&amp;quot; parameter will start the slideshow paused. &amp;quot;beginslide&amp;quot; will start the slideshow with the specified image.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Player built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDisc(param)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will play the inserted CD or DVD media from the DVD-ROM drive. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerControl(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allows control of music and videos. The command may be one of Play, Stop, Forward, Rewind, Next, Previous, BigSkipForward, BigSkipBackward, SmallSkipForward, SmallSkipBackward, FrameAdvance(#), TempoUp, TempoDown, Tempo(value), Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file) or Reset. &lt;br /&gt;
Play will either pause, resume, or stop ffwding or rewinding. Random toggles random playback and Repeat cycles through the repeat modes (these both take an optional second parameter, Notify, that notifies the user of the new state). Partymode(music/video) toggles the appropriate partymode, defaults to music if no parameter is given, besides the default music or video partymode you can also pass a path to a custom smartplaylist (.xsp) as parameter. Reset only applies to games and will reset the currently playing game.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerResolutionSelect&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select a different resolution&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.Clear&amp;lt;/code&amp;gt;&lt;br /&gt;
| Clear the current playlist &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.PlayOffset&amp;lt;/code&amp;gt;&lt;br /&gt;
| Start playing from a particular offset in the playlist &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayMedia(mediaPath[,isdir][,1][,playoffset=xx][,resume][,noresume][,playlist_type_hint=x])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Plays the media. This can be a playlist, music, or video file, directory, plugin or a url. The optional parameter &amp;quot;,isdir&amp;quot; can be used for playing a directory. &amp;quot;,1&amp;quot; will start the media without switching to fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from. Set &amp;quot;resume&amp;quot; to force resuming. Set &amp;quot;noresume&amp;quot; to force not resuming.&lt;br /&gt;
&lt;br /&gt;
{{note|Following parameters are available from Kodi v20.}}&lt;br /&gt;
If media is a playlist (e.g. STRM), you can set the type of playlist with &amp;quot;playlist_type_hint=x&amp;quot; where x can be 0 for music playlist or 1 for video playlist, if not set will be used music playlist.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayWith()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Play the selected item with the specified player core. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(seconds)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Seeks to the specified relative amount of seconds within the current playing media. A negative value will seek backward and a positive value forward.&lt;br /&gt;
| {{nowrap|v15 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Profile built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LoadProfile(profilename,[prompt])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load the specified profile. If prompt is not specified, and a password would be required for the requested profile, this command will silently fail. If promp&#039; is specified and a password is required, a password dialog will be shown. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Mastermode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs Kodi in master mode &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.LogOff&amp;lt;/code&amp;gt;&lt;br /&gt;
| Log off current user. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PVR built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.SearchMissingChannelIcons&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will start a search for missing channel icons&lt;br /&gt;
| {{nowrap|v16 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.ToggleRecordPlayingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will toggle recording on playing channel, if any &lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.SeekPercentage&amp;lt;/code&amp;gt;&lt;br /&gt;
| Performs a seek to the given percentage in timeshift buffer, if timeshifting is supported &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Skin built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reloads the current skin – useful for Skinners to use after they upload modified skin files (saves power cycling) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Reset(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Resets the skin setting ?setting?. If ?setting? is a bool setting (i.e. set via SetBool or ToggleSetting) then the setting is reset to false. If ?setting? is a string (Set via SetString, SetImage, or SetPath) then it is set to empty. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ResetSettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| Resets all the above skin settings to their defaults (toggles all set to false, strings all set to empty.) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SelectBool(header, label1&amp;amp;#124;setting1, label2&amp;amp;#124;setting2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up select dialog to select between multiple skin setting options. Skin.SelectBool(424, 31411&amp;amp;#124;RecentWidget, 31412&amp;amp;#124;RandomWidget, 31413&amp;amp;#124;InProgressWidget)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetAddon(string,type)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a select dialog and allows the user to select an add-on of the given type to be used elsewhere in the skin via the info tag Skin.String(string). The most common types are xbmc.addon.video, xbmc.addon.audio, xbmc.addon.image, xbmc.addon.executable and kodi.gameclient. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetBool(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the skin setting ?setting? to true, for use with the conditional visibility tags containing Skin.HasSetting(setting). The settings are saved per-skin in settings.xml just like all the other Kodi settings. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetFile(string,mask,folderpath)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a folder browser and allows the user to select a file off the hard-disk to be used else where in the skin via the info tag Skin.String(string). If the mask parameter is specified, then the file browser will only search for the extension specified (.avi,.mp3,.m3u,.png,.bmp,etc.,etc.). To use multiple extensions separate them using &amp;quot;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;quot; (minus quotes). If the folderpath parameter is set the file browser will start in that folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetImage(string[,value,path])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a file browser and allows the user to select an image file to be used in an image control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the image path is set directly. the path option allows you to open the file browser in the specified folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetNumeric(numeric[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a keyboard dialog and allows the user to input a numerical. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetPath(string[,folderpath])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a folder browser and allows the user to select a folder of images to be used in a multi image control else where in the skin via the info tag Skin.String(string). If the folderpath parameter is set the file browser will start in that folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetString(string[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a keyboard dialog and allows the user to input a string which can be used in a label control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the keyboard dialog does not pop up, and the string is set directly. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Theme(1)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cycles the skin theme. Skin.Theme(-1) will go backwards. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ToggleDebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles skin debug info on/off &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ToggleSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the skin setting ?setting? for use with conditional visibility tags containing Skin.HasSetting(setting). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UnloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unloads the current skin &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== System built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateScreensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts the screensaver&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Hibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hibernate (S4) the System &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InhibitIdleShutdown(true/false)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevent the system to shutdown on idle.&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InhibitScreensaver(true/false)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevent activation of the screensaver.&lt;br /&gt;
| {{nowrap|v19 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Minimize&amp;lt;/code&amp;gt;&lt;br /&gt;
| Minimizes Kodi &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Powerdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Powerdown system &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Quit&amp;lt;/code&amp;gt;&lt;br /&gt;
| Quits Kodi &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cold reboots the system (power cycle) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reset the system (same as reboot) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RestartApp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Restarts Kodi (only implemented under Windows and Linux) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Trigger default Shutdown action defined in System Settings &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Suspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Suspends (S3 / S1 depending on bios setting) the System &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Exec(exec)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands. The full path to the script has to be placed inside the parentheses.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ExecWait(exec)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands and freezes Kodi until shell is closed. As well as for &amp;quot;System.Exec(exec)&amp;quot;, the full path to the script has to be placed inside the parentheses.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weather built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to next weather location &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to previous weather location &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationSet&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to given weather location (parameter can be 1-3) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.Refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Force weather data refresh&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;functions&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Removed functions ==&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.Love&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.Ban&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LCD.Suspend&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LCD.Resume&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;AllowIdleShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Help&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Send(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Start&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Stop&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StartPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StereoModeToMono&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StopPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of sort methods ==&lt;br /&gt;
These ID&#039;s can be used with the Container.SetSortMethod(id) function as listed [https://github.com/xbmc/xbmc/blob/75b31098a8800da653b373cd99a025b483029cfc/xbmc/utils/SortUtils.h#L49-L164 here]:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Date&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| File&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Path&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| DriveType&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| TrackNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| Artist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| ArtistThenYear&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| Album&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| AlbumType&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| Genre&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| Year&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rating&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| UserRating&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| Votes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| Top250&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProgramCount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| PlaylistOrder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| EpisodeNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| Season&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfWatchedEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowStatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| SortTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProductionCode&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| MPAA&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoResolution&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoAspectRatio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioChannels&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| SubtitleLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| Studio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&lt;br /&gt;
| DateAdded&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;41&amp;lt;/code&amp;gt;&lt;br /&gt;
| LastPlayed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt;&lt;br /&gt;
| Playcount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;43&amp;lt;/code&amp;gt;&lt;br /&gt;
| Listeners&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;44&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bitrate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;45&amp;lt;/code&amp;gt;&lt;br /&gt;
| Random&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;46&amp;lt;/code&amp;gt;&lt;br /&gt;
| Channel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;47&amp;lt;/code&amp;gt;&lt;br /&gt;
| ChannelNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;48&amp;lt;/code&amp;gt;	&lt;br /&gt;
| DateTaken&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;49&amp;lt;/code&amp;gt;	&lt;br /&gt;
| Relevance&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;50&amp;lt;/code&amp;gt;	&lt;br /&gt;
| InstallDate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;51&amp;lt;/code&amp;gt;	&lt;br /&gt;
| LastUpdated&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;52&amp;lt;/code&amp;gt;	&lt;br /&gt;
| LastUsed&lt;br /&gt;
|}&lt;br /&gt;
{{updated|18}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Action IDs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=242939</id>
		<title>List of built-in functions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=242939"/>
		<updated>2022-09-09T18:21:33Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: /* Player built-in&amp;#039;s */ just fix spaces&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Python development]] {{l2| [[Add-on development]] }} {{l2| [[Skinning]] }} | [[Built-in scripting]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use built-in functions with the &amp;lt;onclick&amp;gt; or &amp;lt;onfocus&amp;gt; tag. Scripts can call built-in functions with &amp;lt;code&amp;gt;xbmc.executebuiltin(function, block)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The latest up-to-date list of built-in functions can be found in the source code files in [https://github.com/xbmc/xbmc/tree/master/xbmc/interfaces/builtins].&lt;br /&gt;
&lt;br /&gt;
In addition to the following list, for most &amp;lt;onclick&amp;gt; and &amp;lt;onfocus&amp;gt; button actions in the skin you can also use the functions from [[Keyboard.xml]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;poem&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;onclick&amp;gt;VolumeUp&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;VolumeDown&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/poem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can use parameters with all media windows, as can be seen here:&#039;&#039;&#039;&lt;br /&gt;
* [[Opening Windows and Dialogs]]&lt;br /&gt;
&lt;br /&gt;
== List of functions ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;functions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add-on built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.OpenSettings(extensionpoint)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the default addon of the given type (extensionpoint)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.Set(extensionpoint)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a select dialog to allow choosing the default addon of the given type (extensionpoint)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.OpenSettings(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the addon of the given id &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EnableAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables the specified plugin/script&lt;br /&gt;
| v19 addition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InstallAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will install the addon with the given id.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InstallFromZip&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens the &amp;quot;Install from zip&amp;quot;-dialog if &amp;quot;Unknown sources&amp;quot; is enabled. Prompts the warning message if not.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the specified plugin/script &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunAppleScript(script[,args]*)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Run the specified AppleScript command &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunPlugin(plugin)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the plugin. Full path must be specified. Does not work for folder plugins &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunScript(script[,args]*)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the python script. You must specify the add-on id of the script. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StopScript(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stop the script by ID or path, if running&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateAddonRepos&amp;lt;/code&amp;gt;&lt;br /&gt;
| Triggers a forced update of enabled add-on repositories. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLocalAddons&amp;lt;/code&amp;gt;&lt;br /&gt;
| Triggers a scan of local add-on directories. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StartAndroidActivity(package,[intent,dataType,dataURI])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Launch an Android native app with the given package name. Optional parms (in order): intent, dataType, dataURI. example: &amp;lt;nowiki&amp;gt;StartAndroidActivity(com.android.chrome,android.intent.action.VIEW,,http://kodi.tv/)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Application built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Extract(archive_url[, destination])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Extracts a specified archive to an optionally specified &#039;absolute&#039; path. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mutes (or unmutes) the volume. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NotifyAll(sender, data [, json])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Notify all connected clients&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetVolume(percent[,showvolumebar])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the volume to the percentage specified. Optionally, show the Volume Dialog in Kodi when setting the volume. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables/disables debug mode&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDPMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle DPMS (VESA Display Power Management Signaling) mode manually &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WakeOnLan(mac)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends the wake-up packet to the broadcast address for the specified MAC address (Format: FF:FF:FF:FF:FF:FF or FF-FF-FF-FF-FF-FF). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CEC built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECActivateSource&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wake up playing device via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECStandby&amp;lt;/code&amp;gt;&lt;br /&gt;
| Put playing device on standby via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECToggleState&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle state of playing device via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== EPG built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EpgGridControl(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| supported commands: firstprogramme  (jump to the first programme) / currentprogramme  (jump to the current programme) / lastprogramme  (jump to the last programme) / selectdate  (jump to the selected date &amp;amp; time) / +XX  (jump XX hours forward) / -XX  (jump XX hours back) / firstchannel  (jump to the first channel) / playingchannel  (jump to the currently playing channel) / lastchannel  (jump to the last channel) / previousgroup  (switch the epg to the previous group) / nextgroup  (switch the epg to the next group) / selectgroup  (select a group)&lt;br /&gt;
| {{nowrap|v19 Addition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Action(action[,window])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes an action (same as in keymap) for the given window or the active window if the parameter window is omitted. The parameter window can either be the window&#039;s id, or in the case of a standard window, the window&#039;s name. See [[Action IDs]] for a list of available actions. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(window[,dir,return])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens the given window. The parameter window can either be the window&#039;s id, or in the case of a standard window, the window&#039;s name. See [[Window IDs]] for a list of window names, and their respective ids. If, furthermore, the window is Music, Video, Pictures, or Program files, then the optional dir parameter specifies which folder Kodi should default to once the window is opened. This must be a source as specified in sources.xml, or a subfolder of a valid source. For some windows (MusicLibrary and VideoLibrary), the return parameter may be specified, which indicates that Kodi should use this folder as the &amp;quot;root&amp;quot; of the level, and thus the &amp;quot;parent directory&amp;quot; action from within this folder will return the user to where they were prior to the window activating. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindowAndFocus(id1, id2,item1, id3,item2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Activate window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0).&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;AlarmClock(name,command,[time,silent,loop])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a dialog asking for the length of time (mm:ss) for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it&#039;ll execute the built-in command (the parameter command) if it is specified, otherwise it&#039;ll pop up an alarm notice. Add silent to hide the alarm notification. Add loop for the alarm to execute the command each time the specified time interval expires. If defining the last optional parameters (silent and loop) both have to be defined for any to take effect. The parameter &amp;quot;time&amp;quot; accepts an integer value (in minutes) or a timestring in the format &amp;quot;hh:mm:ss&amp;quot; or &amp;quot;mm min&amp;quot;.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CancelAlarm(name[,silent])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cancel a running alarm. Set silent to true to hide the alarm notification. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClearProperty(key[,id])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Clears a window property for the current focused window/dialog(key), or the specified window (key,id). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Dialog.Close(dialog[,force])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Close a dialog. Set force to true to bypass animations. Use (all,true) to close all opened dialogs at once. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
| Navigate to the next PVR channel group (in DialogPVRChannelsOSD.xml)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NextStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI to the next available mode.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Notification(header,message[,time,image])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will display a notification dialog with the specified header and message, in addition you can set the length of time it displays in milliseconds and a icon image. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
| Navigate to the previous PVR channel group (in DialogPVRChannelsOSD.xml)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI to the previous available mode.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RefreshRSS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reload RSS feeds from RSSFeeds.xml &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReplaceWindow(window,dir)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replaces the current window with the given window. This is the same as ActivateWindow() but it doesn&#039;t update the window history list, so when you go back from the new window it will not return to the previous window, rather will return to the previous window&#039;s previous window. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReplaceWindowAndFocus(id1, id2,item1, id3,item2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replace window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0).&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Resolution&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change Kodi&#039;s Resolution. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetGUILanguage(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set GUI Language, &#039;value&#039; is the language file to use. SetGUILanguage(resource.language.de_de)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetProperty(key,value[,id])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets a window property for the current window (key,value), or the specified window (key,value,id). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI. Params can be: toggle, next, previous, select, tomono or any of the supported stereomodes (off, split_vertical, split_horizontal, row_interleaved, hardware_based, anaglyph_cyan_red, anaglyph_green_magenta, monoscopic)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;settingslevelchange&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the visible settings (in SettingsCategory.xml) between &#039;basic&#039;, &#039;standard&#039;, &#039;advanced and &#039;expert&#039;&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TakeScreenshot([filenameandpath,sync])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes a Screenshot. You can optionally specify the filename (including the path). Note: only .png files are supported. Add &amp;quot;sync&amp;quot; parameter to run synchronously (slow).&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDirtyRegionVisualization&amp;lt;/code&amp;gt;&lt;br /&gt;
| makes dirty regions visible for debugging proposes.&lt;br /&gt;
| {{nowrap|v16 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the stereoscopic mode of the GUI (on/off).&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI container built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.NextSortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the next sort method. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.NextViewMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select the next view mode. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.PreviousSortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the previous sort method. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.PreviousViewMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select the previous view mode. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Refresh current listing. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetSortMethod(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the specified sort method. (For list of ID&#039;s see [[https://kodi.wiki/view/List_of_built-in_functions#List_of_sort_methods list of sort methods]]) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetViewMode(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the current view mode (list, icons etc.) to the given container id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetSortDirection&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the sort direction. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Update&amp;lt;/code&amp;gt;&lt;br /&gt;
| Update current listing. Send Container.Update(path,replace) to reset the path history. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI control built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.Message(id,message,[windowid])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a given message to a control in a given window (or active window if omitted). Messages can be movedown, moveup, pagedown, pageup, click. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.Move(id,offset)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a Container with the &amp;quot;id&amp;quot; specified in the command move focus by &amp;quot;offset&amp;quot;. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.SetFocus(id,position[,absolute])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a list with the &amp;quot;id&amp;quot; specified in the command gain focus at &amp;quot;position&amp;quot; number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias SetFocus(id,position) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Send a page down event to the pagecontrol with given id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Send a page up event to the pagecontrol with given id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SendClick(windowid,id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a click to a control in a given window (or active window if omitted). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetFocus(id,position[,absolute])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a list with the &amp;quot;id&amp;quot; specified in the command gain focus at &amp;quot;position&amp;quot; number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias Control.SetFocus(id,position) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Library built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CleanLibrary(database)&amp;lt;/code&amp;gt;&lt;br /&gt;
| This funtion will perform a number of &#039;cleanup&#039; tasks on your video database and can be run if you have moved, deleted or renamed files. Takes either &amp;quot;video&amp;quot; or &amp;quot;music&amp;quot; as a parameter to begin cleaning the corresponding database. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exportlibrary(music,false,filepath)&amp;lt;/code&amp;gt;&lt;br /&gt;
| The music library will be exported to a single file stored at filepath location. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exportlibrary(video,true,thumbs,overwrite,actorthumbs)&amp;lt;/code&amp;gt;&lt;br /&gt;
| The video library is exported to multiple files with the given options. Here thumbs, overwrite and actorthumbs are boolean values (true or false). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(database,[path])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes either &amp;quot;video&amp;quot; or &amp;quot;music&amp;quot; as a parameter to begin updating the corresponding database. For &amp;quot;video&amp;quot; you can additionally specify a specific path to be scanned. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoLibrary.Search&amp;lt;/code&amp;gt;&lt;br /&gt;
| Brings up a search dialog which will search the library &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optical container built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EjectTray()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Either opens or closes the DVD tray, depending on its current state &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RipCD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will rip the inserted CD from the DVD-ROM drive. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Picture built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RecursiveSlideShow(dir)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Run a slideshow from the specified directory, including all subdirs &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPicture(picture)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Show a picture by its file path/url.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SlideShow(dir[,recursive][,[not]random][,pause][,beginslide=&amp;quot;/path/to/start/slide.jpg&amp;quot;])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts a slideshow of pictures in the folder dir. Optional parameters are &#039;recursive&#039;, &#039;random&#039; or &#039;notrandom&#039;, &#039;pause&#039; and &#039;beginslide=&amp;quot;/path/to/some/image.jpg&amp;quot;&#039; parameters. The &amp;quot;recursive&amp;quot; parameter starts a recursive slideshow, adding images from sub-folders. The &amp;quot;random&amp;quot; and &amp;quot;notrandom&amp;quot; parameters override the Randomize setting found in the pictures media window. The &amp;quot;pause&amp;quot; parameter will start the slideshow paused. &amp;quot;beginslide&amp;quot; will start the slideshow with the specified image.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Player built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDisc(param)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will play the inserted CD or DVD media from the DVD-ROM drive. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerControl(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allows control of music and videos. The command may be one of Play, Stop, Forward, Rewind, Next, Previous, BigSkipForward, BigSkipBackward, SmallSkipForward, SmallSkipBackward, FrameAdvance(#), TempoUp, TempoDown, Tempo(value), Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file) or Reset. &lt;br /&gt;
Play will either pause, resume, or stop ffwding or rewinding. Random toggles random playback and Repeat cycles through the repeat modes (these both take an optional second parameter, Notify, that notifies the user of the new state). Partymode(music/video) toggles the appropriate partymode, defaults to music if no parameter is given, besides the default music or video partymode you can also pass a path to a custom smartplaylist (.xsp) as parameter. Reset only applies to games and will reset the currently playing game.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerResolutionSelect&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select a different resolution&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.Clear&amp;lt;/code&amp;gt;&lt;br /&gt;
| Clear the current playlist &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.PlayOffset&amp;lt;/code&amp;gt;&lt;br /&gt;
| Start playing from a particular offset in the playlist &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayMedia(media[,isdir][,1][,playoffset=xx][,resume][,noresume][,playlist_type_hint=x])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Plays the media. This can be a playlist, music, or video file, directory, plugin or a url. The optional parameter &amp;quot;,isdir&amp;quot; can be used for playing a directory. &amp;quot;,1&amp;quot; will start the media without switching to fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from. Set &amp;quot;resume&amp;quot; to force resuming. Set &amp;quot;noresume&amp;quot; to force not resuming.&lt;br /&gt;
&lt;br /&gt;
{{note|Following parameters are available from Kodi v20.}}&lt;br /&gt;
If media is a playlist (e.g. STRM), you can set the type of playlist with &amp;quot;playlist_type_hint=x&amp;quot; where x can be 0 for music playlist or 1 for video playlist, if not set will be used music playlist.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayWith()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Play the selected item with the specified player core. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(seconds)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Seeks to the specified relative amount of seconds within the current playing media. A negative value will seek backward and a positive value forward.&lt;br /&gt;
| {{nowrap|v15 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Profile built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LoadProfile(profilename,[prompt])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load the specified profile. If prompt is not specified, and a password would be required for the requested profile, this command will silently fail. If promp&#039; is specified and a password is required, a password dialog will be shown. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Mastermode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs Kodi in master mode &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.LogOff&amp;lt;/code&amp;gt;&lt;br /&gt;
| Log off current user. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PVR built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.SearchMissingChannelIcons&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will start a search for missing channel icons&lt;br /&gt;
| {{nowrap|v16 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.ToggleRecordPlayingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will toggle recording on playing channel, if any &lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.SeekPercentage&amp;lt;/code&amp;gt;&lt;br /&gt;
| Performs a seek to the given percentage in timeshift buffer, if timeshifting is supported &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Skin built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reloads the current skin – useful for Skinners to use after they upload modified skin files (saves power cycling) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Reset(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Resets the skin setting ?setting?. If ?setting? is a bool setting (i.e. set via SetBool or ToggleSetting) then the setting is reset to false. If ?setting? is a string (Set via SetString, SetImage, or SetPath) then it is set to empty. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ResetSettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| Resets all the above skin settings to their defaults (toggles all set to false, strings all set to empty.) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SelectBool(header, label1&amp;amp;#124;setting1, label2&amp;amp;#124;setting2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up select dialog to select between multiple skin setting options. Skin.SelectBool(424, 31411&amp;amp;#124;RecentWidget, 31412&amp;amp;#124;RandomWidget, 31413&amp;amp;#124;InProgressWidget)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetAddon(string,type)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a select dialog and allows the user to select an add-on of the given type to be used elsewhere in the skin via the info tag Skin.String(string). The most common types are xbmc.addon.video, xbmc.addon.audio, xbmc.addon.image, xbmc.addon.executable and kodi.gameclient. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetBool(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the skin setting ?setting? to true, for use with the conditional visibility tags containing Skin.HasSetting(setting). The settings are saved per-skin in settings.xml just like all the other Kodi settings. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetFile(string,mask,folderpath)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a folder browser and allows the user to select a file off the hard-disk to be used else where in the skin via the info tag Skin.String(string). If the mask parameter is specified, then the file browser will only search for the extension specified (.avi,.mp3,.m3u,.png,.bmp,etc.,etc.). To use multiple extensions separate them using &amp;quot;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;quot; (minus quotes). If the folderpath parameter is set the file browser will start in that folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetImage(string[,value,path])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a file browser and allows the user to select an image file to be used in an image control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the image path is set directly. the path option allows you to open the file browser in the specified folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetNumeric(numeric[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a keyboard dialog and allows the user to input a numerical. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetPath(string[,folderpath])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a folder browser and allows the user to select a folder of images to be used in a multi image control else where in the skin via the info tag Skin.String(string). If the folderpath parameter is set the file browser will start in that folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetString(string[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a keyboard dialog and allows the user to input a string which can be used in a label control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the keyboard dialog does not pop up, and the string is set directly. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Theme(1)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cycles the skin theme. Skin.Theme(-1) will go backwards. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ToggleDebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles skin debug info on/off &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ToggleSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the skin setting ?setting? for use with conditional visibility tags containing Skin.HasSetting(setting). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UnloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unloads the current skin &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== System built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateScreensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts the screensaver&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Hibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hibernate (S4) the System &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InhibitIdleShutdown(true/false)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevent the system to shutdown on idle.&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InhibitScreensaver(true/false)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevent activation of the screensaver.&lt;br /&gt;
| {{nowrap|v19 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Minimize&amp;lt;/code&amp;gt;&lt;br /&gt;
| Minimizes Kodi &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Powerdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Powerdown system &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Quit&amp;lt;/code&amp;gt;&lt;br /&gt;
| Quits Kodi &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cold reboots the system (power cycle) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reset the system (same as reboot) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RestartApp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Restarts Kodi (only implemented under Windows and Linux) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Trigger default Shutdown action defined in System Settings &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Suspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Suspends (S3 / S1 depending on bios setting) the System &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Exec(exec)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands. The full path to the script has to be placed inside the parentheses.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ExecWait(exec)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands and freezes Kodi until shell is closed. As well as for &amp;quot;System.Exec(exec)&amp;quot;, the full path to the script has to be placed inside the parentheses.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weather built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to next weather location &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to previous weather location &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationSet&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to given weather location (parameter can be 1-3) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.Refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Force weather data refresh&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;functions&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Removed functions ==&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.Love&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.Ban&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LCD.Suspend&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LCD.Resume&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;AllowIdleShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Help&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Send(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Start&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Stop&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StartPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StereoModeToMono&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StopPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of sort methods ==&lt;br /&gt;
These ID&#039;s can be used with the Container.SetSortMethod(id) function as listed [https://github.com/xbmc/xbmc/blob/75b31098a8800da653b373cd99a025b483029cfc/xbmc/utils/SortUtils.h#L49-L164 here]:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Date&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| File&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Path&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| DriveType&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| TrackNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| Artist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| ArtistThenYear&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| Album&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| AlbumType&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| Genre&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| Year&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rating&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| UserRating&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| Votes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| Top250&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProgramCount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| PlaylistOrder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| EpisodeNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| Season&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfWatchedEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowStatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| SortTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProductionCode&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| MPAA&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoResolution&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoAspectRatio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioChannels&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| SubtitleLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| Studio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&lt;br /&gt;
| DateAdded&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;41&amp;lt;/code&amp;gt;&lt;br /&gt;
| LastPlayed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt;&lt;br /&gt;
| Playcount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;43&amp;lt;/code&amp;gt;&lt;br /&gt;
| Listeners&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;44&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bitrate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;45&amp;lt;/code&amp;gt;&lt;br /&gt;
| Random&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;46&amp;lt;/code&amp;gt;&lt;br /&gt;
| Channel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;47&amp;lt;/code&amp;gt;&lt;br /&gt;
| ChannelNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;48&amp;lt;/code&amp;gt;	&lt;br /&gt;
| DateTaken&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;49&amp;lt;/code&amp;gt;	&lt;br /&gt;
| Relevance&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;50&amp;lt;/code&amp;gt;	&lt;br /&gt;
| InstallDate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;51&amp;lt;/code&amp;gt;	&lt;br /&gt;
| LastUpdated&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;52&amp;lt;/code&amp;gt;	&lt;br /&gt;
| LastUsed&lt;br /&gt;
|}&lt;br /&gt;
{{updated|18}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Action IDs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=242938</id>
		<title>List of built-in functions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=242938"/>
		<updated>2022-09-09T18:20:01Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: /* Player built-in&amp;#039;s */ add playlist_type_hint param to PlayMedia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Python development]] {{l2| [[Add-on development]] }} {{l2| [[Skinning]] }} | [[Built-in scripting]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use built-in functions with the &amp;lt;onclick&amp;gt; or &amp;lt;onfocus&amp;gt; tag. Scripts can call built-in functions with &amp;lt;code&amp;gt;xbmc.executebuiltin(function, block)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The latest up-to-date list of built-in functions can be found in the source code files in [https://github.com/xbmc/xbmc/tree/master/xbmc/interfaces/builtins].&lt;br /&gt;
&lt;br /&gt;
In addition to the following list, for most &amp;lt;onclick&amp;gt; and &amp;lt;onfocus&amp;gt; button actions in the skin you can also use the functions from [[Keyboard.xml]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;poem&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;onclick&amp;gt;VolumeUp&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;VolumeDown&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/poem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can use parameters with all media windows, as can be seen here:&#039;&#039;&#039;&lt;br /&gt;
* [[Opening Windows and Dialogs]]&lt;br /&gt;
&lt;br /&gt;
== List of functions ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;functions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add-on built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.OpenSettings(extensionpoint)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the default addon of the given type (extensionpoint)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.Set(extensionpoint)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a select dialog to allow choosing the default addon of the given type (extensionpoint)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.OpenSettings(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the addon of the given id &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EnableAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables the specified plugin/script&lt;br /&gt;
| v19 addition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InstallAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will install the addon with the given id.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InstallFromZip&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens the &amp;quot;Install from zip&amp;quot;-dialog if &amp;quot;Unknown sources&amp;quot; is enabled. Prompts the warning message if not.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the specified plugin/script &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunAppleScript(script[,args]*)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Run the specified AppleScript command &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunPlugin(plugin)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the plugin. Full path must be specified. Does not work for folder plugins &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RunScript(script[,args]*)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the python script. You must specify the add-on id of the script. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StopScript(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stop the script by ID or path, if running&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateAddonRepos&amp;lt;/code&amp;gt;&lt;br /&gt;
| Triggers a forced update of enabled add-on repositories. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLocalAddons&amp;lt;/code&amp;gt;&lt;br /&gt;
| Triggers a scan of local add-on directories. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StartAndroidActivity(package,[intent,dataType,dataURI])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Launch an Android native app with the given package name. Optional parms (in order): intent, dataType, dataURI. example: &amp;lt;nowiki&amp;gt;StartAndroidActivity(com.android.chrome,android.intent.action.VIEW,,http://kodi.tv/)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Application built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Extract(archive_url[, destination])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Extracts a specified archive to an optionally specified &#039;absolute&#039; path. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt;&lt;br /&gt;
| Mutes (or unmutes) the volume. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NotifyAll(sender, data [, json])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Notify all connected clients&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetVolume(percent[,showvolumebar])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the volume to the percentage specified. Optionally, show the Volume Dialog in Kodi when setting the volume. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables/disables debug mode&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDPMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle DPMS (VESA Display Power Management Signaling) mode manually &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WakeOnLan(mac)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends the wake-up packet to the broadcast address for the specified MAC address (Format: FF:FF:FF:FF:FF:FF or FF-FF-FF-FF-FF-FF). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CEC built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECActivateSource&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wake up playing device via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECStandby&amp;lt;/code&amp;gt;&lt;br /&gt;
| Put playing device on standby via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CECToggleState&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle state of playing device via a CEC peripheral&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== EPG built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EpgGridControl(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| supported commands: firstprogramme  (jump to the first programme) / currentprogramme  (jump to the current programme) / lastprogramme  (jump to the last programme) / selectdate  (jump to the selected date &amp;amp; time) / +XX  (jump XX hours forward) / -XX  (jump XX hours back) / firstchannel  (jump to the first channel) / playingchannel  (jump to the currently playing channel) / lastchannel  (jump to the last channel) / previousgroup  (switch the epg to the previous group) / nextgroup  (switch the epg to the next group) / selectgroup  (select a group)&lt;br /&gt;
| {{nowrap|v19 Addition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Action(action[,window])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes an action (same as in keymap) for the given window or the active window if the parameter window is omitted. The parameter window can either be the window&#039;s id, or in the case of a standard window, the window&#039;s name. See [[Action IDs]] for a list of available actions. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(window[,dir,return])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens the given window. The parameter window can either be the window&#039;s id, or in the case of a standard window, the window&#039;s name. See [[Window IDs]] for a list of window names, and their respective ids. If, furthermore, the window is Music, Video, Pictures, or Program files, then the optional dir parameter specifies which folder Kodi should default to once the window is opened. This must be a source as specified in sources.xml, or a subfolder of a valid source. For some windows (MusicLibrary and VideoLibrary), the return parameter may be specified, which indicates that Kodi should use this folder as the &amp;quot;root&amp;quot; of the level, and thus the &amp;quot;parent directory&amp;quot; action from within this folder will return the user to where they were prior to the window activating. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindowAndFocus(id1, id2,item1, id3,item2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Activate window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0).&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;AlarmClock(name,command,[time,silent,loop])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a dialog asking for the length of time (mm:ss) for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it&#039;ll execute the built-in command (the parameter command) if it is specified, otherwise it&#039;ll pop up an alarm notice. Add silent to hide the alarm notification. Add loop for the alarm to execute the command each time the specified time interval expires. If defining the last optional parameters (silent and loop) both have to be defined for any to take effect. The parameter &amp;quot;time&amp;quot; accepts an integer value (in minutes) or a timestring in the format &amp;quot;hh:mm:ss&amp;quot; or &amp;quot;mm min&amp;quot;.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CancelAlarm(name[,silent])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cancel a running alarm. Set silent to true to hide the alarm notification. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClearProperty(key[,id])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Clears a window property for the current focused window/dialog(key), or the specified window (key,id). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Dialog.Close(dialog[,force])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Close a dialog. Set force to true to bypass animations. Use (all,true) to close all opened dialogs at once. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
| Navigate to the next PVR channel group (in DialogPVRChannelsOSD.xml)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NextStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI to the next available mode.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Notification(header,message[,time,image])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will display a notification dialog with the specified header and message, in addition you can set the length of time it displays in milliseconds and a icon image. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
| Navigate to the previous PVR channel group (in DialogPVRChannelsOSD.xml)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI to the previous available mode.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RefreshRSS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reload RSS feeds from RSSFeeds.xml &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReplaceWindow(window,dir)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replaces the current window with the given window. This is the same as ActivateWindow() but it doesn&#039;t update the window history list, so when you go back from the new window it will not return to the previous window, rather will return to the previous window&#039;s previous window. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReplaceWindowAndFocus(id1, id2,item1, id3,item2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replace window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0).&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Resolution&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change Kodi&#039;s Resolution. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetGUILanguage(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set GUI Language, &#039;value&#039; is the language file to use. SetGUILanguage(resource.language.de_de)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetProperty(key,value[,id])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets a window property for the current window (key,value), or the specified window (key,value,id). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the stereo mode of the GUI. Params can be: toggle, next, previous, select, tomono or any of the supported stereomodes (off, split_vertical, split_horizontal, row_interleaved, hardware_based, anaglyph_cyan_red, anaglyph_green_magenta, monoscopic)&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;settingslevelchange&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the visible settings (in SettingsCategory.xml) between &#039;basic&#039;, &#039;standard&#039;, &#039;advanced and &#039;expert&#039;&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TakeScreenshot([filenameandpath,sync])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes a Screenshot. You can optionally specify the filename (including the path). Note: only .png files are supported. Add &amp;quot;sync&amp;quot; parameter to run synchronously (slow).&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleDirtyRegionVisualization&amp;lt;/code&amp;gt;&lt;br /&gt;
| makes dirty regions visible for debugging proposes.&lt;br /&gt;
| {{nowrap|v16 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the stereoscopic mode of the GUI (on/off).&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI container built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.NextSortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the next sort method. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.NextViewMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select the next view mode. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.PreviousSortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the previous sort method. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.PreviousViewMode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select the previous view mode. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Refresh current listing. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetSortMethod(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the specified sort method. (For list of ID&#039;s see [[https://kodi.wiki/view/List_of_built-in_functions#List_of_sort_methods list of sort methods]]) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetViewMode(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the current view mode (list, icons etc.) to the given container id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SetSortDirection&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the sort direction. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Update&amp;lt;/code&amp;gt;&lt;br /&gt;
| Update current listing. Send Container.Update(path,replace) to reset the path history. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GUI control built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.Message(id,message,[windowid])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a given message to a control in a given window (or active window if omitted). Messages can be movedown, moveup, pagedown, pageup, click. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.Move(id,offset)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a Container with the &amp;quot;id&amp;quot; specified in the command move focus by &amp;quot;offset&amp;quot;. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.SetFocus(id,position[,absolute])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a list with the &amp;quot;id&amp;quot; specified in the command gain focus at &amp;quot;position&amp;quot; number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias SetFocus(id,position) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Send a page down event to the pagecontrol with given id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Send a page up event to the pagecontrol with given id. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SendClick(windowid,id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a click to a control in a given window (or active window if omitted). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetFocus(id,position[,absolute])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will make a list with the &amp;quot;id&amp;quot; specified in the command gain focus at &amp;quot;position&amp;quot; number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias Control.SetFocus(id,position) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Library built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CleanLibrary(database)&amp;lt;/code&amp;gt;&lt;br /&gt;
| This funtion will perform a number of &#039;cleanup&#039; tasks on your video database and can be run if you have moved, deleted or renamed files. Takes either &amp;quot;video&amp;quot; or &amp;quot;music&amp;quot; as a parameter to begin cleaning the corresponding database. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exportlibrary(music,false,filepath)&amp;lt;/code&amp;gt;&lt;br /&gt;
| The music library will be exported to a single file stored at filepath location. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exportlibrary(video,true,thumbs,overwrite,actorthumbs)&amp;lt;/code&amp;gt;&lt;br /&gt;
| The video library is exported to multiple files with the given options. Here thumbs, overwrite and actorthumbs are boolean values (true or false). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(database,[path])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes either &amp;quot;video&amp;quot; or &amp;quot;music&amp;quot; as a parameter to begin updating the corresponding database. For &amp;quot;video&amp;quot; you can additionally specify a specific path to be scanned. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoLibrary.Search&amp;lt;/code&amp;gt;&lt;br /&gt;
| Brings up a search dialog which will search the library &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Optical container built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EjectTray()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Either opens or closes the DVD tray, depending on its current state &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RipCD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will rip the inserted CD from the DVD-ROM drive. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Picture built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RecursiveSlideShow(dir)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Run a slideshow from the specified directory, including all subdirs &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPicture(picture)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Show a picture by its file path/url.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SlideShow(dir[,recursive][,[not]random][,pause][,beginslide=&amp;quot;/path/to/start/slide.jpg&amp;quot;])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts a slideshow of pictures in the folder dir. Optional parameters are &#039;recursive&#039;, &#039;random&#039; or &#039;notrandom&#039;, &#039;pause&#039; and &#039;beginslide=&amp;quot;/path/to/some/image.jpg&amp;quot;&#039; parameters. The &amp;quot;recursive&amp;quot; parameter starts a recursive slideshow, adding images from sub-folders. The &amp;quot;random&amp;quot; and &amp;quot;notrandom&amp;quot; parameters override the Randomize setting found in the pictures media window. The &amp;quot;pause&amp;quot; parameter will start the slideshow paused. &amp;quot;beginslide&amp;quot; will start the slideshow with the specified image.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Player built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDisc(param)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will play the inserted CD or DVD media from the DVD-ROM drive. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerControl(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allows control of music and videos. The command may be one of Play, Stop, Forward, Rewind, Next, Previous, BigSkipForward, BigSkipBackward, SmallSkipForward, SmallSkipBackward, FrameAdvance(#), TempoUp, TempoDown, Tempo(value), Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file) or Reset. &lt;br /&gt;
Play will either pause, resume, or stop ffwding or rewinding. Random toggles random playback and Repeat cycles through the repeat modes (these both take an optional second parameter, Notify, that notifies the user of the new state). Partymode(music/video) toggles the appropriate partymode, defaults to music if no parameter is given, besides the default music or video partymode you can also pass a path to a custom smartplaylist (.xsp) as parameter. Reset only applies to games and will reset the currently playing game.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerResolutionSelect&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select a different resolution&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.Clear&amp;lt;/code&amp;gt;&lt;br /&gt;
| Clear the current playlist &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.PlayOffset&amp;lt;/code&amp;gt;&lt;br /&gt;
| Start playing from a particular offset in the playlist &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayMedia(media[,isdir][,1][,playoffset=xx][,resume][,noresume][,playlist_type_hint=x])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Plays the media. This can be a playlist, music, or video file, directory, plugin or a url. The optional parameter &amp;quot;,isdir&amp;quot; can be used for playing a directory. &amp;quot;,1&amp;quot; will start the media without switching to fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from. Set &amp;quot;resume&amp;quot; to force resuming. Set &amp;quot;noresume&amp;quot; to force not resuming. {{note|Following parameters are available from Kodi v20.}} If media is a playlist (e.g. STRM), you can set the type of playlist with &amp;quot;playlist_type_hint=x&amp;quot; where x can be 0 for music playlist or 1 for video playlist, if not set will be used music playlist.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayWith()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Play the selected item with the specified player core. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(seconds)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Seeks to the specified relative amount of seconds within the current playing media. A negative value will seek backward and a positive value forward.&lt;br /&gt;
| {{nowrap|v15 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Profile built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LoadProfile(profilename,[prompt])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load the specified profile. If prompt is not specified, and a password would be required for the requested profile, this command will silently fail. If promp&#039; is specified and a password is required, a password dialog will be shown. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Mastermode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs Kodi in master mode &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.LogOff&amp;lt;/code&amp;gt;&lt;br /&gt;
| Log off current user. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PVR built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.SearchMissingChannelIcons&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will start a search for missing channel icons&lt;br /&gt;
| {{nowrap|v16 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.ToggleRecordPlayingChannel&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will toggle recording on playing channel, if any &lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PVR.SeekPercentage&amp;lt;/code&amp;gt;&lt;br /&gt;
| Performs a seek to the given percentage in timeshift buffer, if timeshifting is supported &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Skin built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ReloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reloads the current skin – useful for Skinners to use after they upload modified skin files (saves power cycling) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Reset(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Resets the skin setting ?setting?. If ?setting? is a bool setting (i.e. set via SetBool or ToggleSetting) then the setting is reset to false. If ?setting? is a string (Set via SetString, SetImage, or SetPath) then it is set to empty. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ResetSettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| Resets all the above skin settings to their defaults (toggles all set to false, strings all set to empty.) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SelectBool(header, label1&amp;amp;#124;setting1, label2&amp;amp;#124;setting2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up select dialog to select between multiple skin setting options. Skin.SelectBool(424, 31411&amp;amp;#124;RecentWidget, 31412&amp;amp;#124;RandomWidget, 31413&amp;amp;#124;InProgressWidget)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetAddon(string,type)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a select dialog and allows the user to select an add-on of the given type to be used elsewhere in the skin via the info tag Skin.String(string). The most common types are xbmc.addon.video, xbmc.addon.audio, xbmc.addon.image, xbmc.addon.executable and kodi.gameclient. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetBool(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the skin setting ?setting? to true, for use with the conditional visibility tags containing Skin.HasSetting(setting). The settings are saved per-skin in settings.xml just like all the other Kodi settings. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetFile(string,mask,folderpath)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a folder browser and allows the user to select a file off the hard-disk to be used else where in the skin via the info tag Skin.String(string). If the mask parameter is specified, then the file browser will only search for the extension specified (.avi,.mp3,.m3u,.png,.bmp,etc.,etc.). To use multiple extensions separate them using &amp;quot;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;quot; (minus quotes). If the folderpath parameter is set the file browser will start in that folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetImage(string[,value,path])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a file browser and allows the user to select an image file to be used in an image control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the image path is set directly. the path option allows you to open the file browser in the specified folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetNumeric(numeric[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a keyboard dialog and allows the user to input a numerical. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetPath(string[,folderpath])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a folder browser and allows the user to select a folder of images to be used in a multi image control else where in the skin via the info tag Skin.String(string). If the folderpath parameter is set the file browser will start in that folder. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetString(string[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a keyboard dialog and allows the user to input a string which can be used in a label control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the keyboard dialog does not pop up, and the string is set directly. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Theme(1)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cycles the skin theme. Skin.Theme(-1) will go backwards. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ToggleDebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles skin debug info on/off &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.ToggleSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the skin setting ?setting? for use with conditional visibility tags containing Skin.HasSetting(setting). &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UnloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unloads the current skin &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== System built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateScreensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts the screensaver&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Hibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hibernate (S4) the System &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InhibitIdleShutdown(true/false)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevent the system to shutdown on idle.&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InhibitScreensaver(true/false)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevent activation of the screensaver.&lt;br /&gt;
| {{nowrap|v19 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Minimize&amp;lt;/code&amp;gt;&lt;br /&gt;
| Minimizes Kodi &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Powerdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Powerdown system &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Quit&amp;lt;/code&amp;gt;&lt;br /&gt;
| Quits Kodi &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cold reboots the system (power cycle) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reset the system (same as reboot) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RestartApp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Restarts Kodi (only implemented under Windows and Linux) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Trigger default Shutdown action defined in System Settings &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Suspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Suspends (S3 / S1 depending on bios setting) the System &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Exec(exec)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands. The full path to the script has to be placed inside the parentheses.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ExecWait(exec)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands and freezes Kodi until shell is closed. As well as for &amp;quot;System.Exec(exec)&amp;quot;, the full path to the script has to be placed inside the parentheses.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weather built-in&#039;s ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!  style=&amp;quot;width: 29%&amp;quot;| Function&lt;br /&gt;
!  style=&amp;quot;width: 66%&amp;quot;| Description&lt;br /&gt;
!  style=&amp;quot;width: 5%&amp;quot;| Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to next weather location &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to previous weather location &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.LocationSet&amp;lt;/code&amp;gt;&lt;br /&gt;
| Switch to given weather location (parameter can be 1-3) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.Refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Force weather data refresh&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;functions&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Removed functions ==&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.Love&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.Ban&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LCD.Suspend&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;LCD.Resume&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;AllowIdleShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Help&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Send(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Start&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LIRC.Stop&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StartPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StereoModeToMono&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StopPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of sort methods ==&lt;br /&gt;
These ID&#039;s can be used with the Container.SetSortMethod(id) function as listed [https://github.com/xbmc/xbmc/blob/75b31098a8800da653b373cd99a025b483029cfc/xbmc/utils/SortUtils.h#L49-L164 here]:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Date&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| Size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| File&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Path&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| DriveType&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| Title&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| TrackNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;&lt;br /&gt;
| Artist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| ArtistThenYear&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| Album&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| AlbumType&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| Genre&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| Year&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rating&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| UserRating&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| Votes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| Top250&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProgramCount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| PlaylistOrder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| EpisodeNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| Season&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfWatchedEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowStatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| SortTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProductionCode&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| MPAA&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoResolution&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoAspectRatio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioChannels&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| SubtitleLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| Studio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&lt;br /&gt;
| DateAdded&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;41&amp;lt;/code&amp;gt;&lt;br /&gt;
| LastPlayed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt;&lt;br /&gt;
| Playcount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;43&amp;lt;/code&amp;gt;&lt;br /&gt;
| Listeners&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;44&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bitrate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;45&amp;lt;/code&amp;gt;&lt;br /&gt;
| Random&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;46&amp;lt;/code&amp;gt;&lt;br /&gt;
| Channel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;47&amp;lt;/code&amp;gt;&lt;br /&gt;
| ChannelNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;48&amp;lt;/code&amp;gt;	&lt;br /&gt;
| DateTaken&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;49&amp;lt;/code&amp;gt;	&lt;br /&gt;
| Relevance&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;50&amp;lt;/code&amp;gt;	&lt;br /&gt;
| InstallDate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;51&amp;lt;/code&amp;gt;	&lt;br /&gt;
| LastUpdated&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;52&amp;lt;/code&amp;gt;	&lt;br /&gt;
| LastUsed&lt;br /&gt;
|}&lt;br /&gt;
{{updated|18}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Action IDs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Settings/Player/Language&amp;diff=242901</id>
		<title>Settings/Player/Language</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Settings/Player/Language&amp;diff=242901"/>
		<updated>2022-08-30T15:02:00Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add PR#21776 reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Settings]] | [[Settings/Player|Player]] }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Audio=&lt;br /&gt;
[[File:Player_language_audio.jpg|right|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preferred Audio Language ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Basic&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Defaults to the selected audio language if more than one language is available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prefer default audio streams ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If enabled, audio streams that are flagged as default (and match the preferred language) are preferred over audio streams with higher quality (number of channels, codec, ...)&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Subtitles=&lt;br /&gt;
[[File:Settings-Player-Language-02.jpg|right|500px]]&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preferred Subtitle Language ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Basic&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Defaults to the selected subtitle language if more than one language is available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable parsing for closed captions ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Enable to parse for CC in video streams. Puts slightly more load on the CPU.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle position on screen == &lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Location of subtitles on screen.&amp;lt;br&amp;gt;&lt;br /&gt;
Options are: &#039;&#039;Fixed, Bottom of video, Below video, Top of video, Above video&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stereoscopic 3D depth of subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Sets the visual depth of subtitles for stereoscopic 3D videos. The higher the value, the closer the subtitles will appear to the viewer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Font to use for text subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font type to be used for text based subtitles (such as embedded on video files, streamings or downloaded).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Character set ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font character set to be used for subtitles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font size to be used for subtitles. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Style ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font style to be used for subtitles. &amp;lt;br&amp;gt;&lt;br /&gt;
Options are: &#039;&#039;Normal, Bold, Italics, Bold italics&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font colour to be used for subtitles. If subtitles are too bright on your display, select another colour here.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Used to make subtitles transparent. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16106&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Can be used to overcome bright subtitles when viewing HDR content. On LCD TV&#039;s with local dimming, it can reduce unwanted picture brightness adjustments.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the colour to be used for the subtitle background. Used as required to make subtitles easier to read.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the transparency level for the subtitle background.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override ASS/SSA subtitle fonts ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If predefined fonts are given with the subtitle file enable this setting to override them.&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Download Services=&lt;br /&gt;
[[File:Player_language_download-services.jpg|right|500px]]&lt;br /&gt;
&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Languages to download subtitles for ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set which language subtitles to search and download.&amp;lt;br&amp;gt;&lt;br /&gt;
Check with your selected subtitle provider if subtitles are not found in the specified language.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle storage location ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Specify where downloaded subtitles should be saved, the same location as the video or a custom location. &lt;br /&gt;
Options: &#039;&#039;Next to the video&#039;&#039; or &#039;&#039;Custom location&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom subtitle folder ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If you chose &#039;&#039;Custom location&#039;&#039; in the previous setting, set the location with this setting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pause when searching for subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Pause the current video while searching for subtitles and resume once the subtitle is available. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auto download first subtitle ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Automatically download first subtitle from the search result list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default TV service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for TV-show subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default movie service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for movie subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
&lt;br /&gt;
== Language code support on MKV files ==&lt;br /&gt;
The MKV video format supports IETF BCP 47 language code standard, this allows you to have audio / subtitles tracks with language and region code subtag (or other types of subtags).&lt;br /&gt;
Kodi does not officially support the IETF BCP 47 format, therefore all tracks with languages defined with subtags (for example region: &amp;quot;pt-BR&amp;quot;) will be always identified with the primary language code (so: &amp;quot;pt&amp;quot;), it will result in the GUI language list not being able to distinguish between language variants.&lt;br /&gt;
&lt;br /&gt;
{{note|Language code override for Kodi v20 and above:}}&lt;br /&gt;
A way to fix the Kodi language code detection problem is open with a video editor software your MKV file (e.g. mkvtoolnix), then for each audio / subtitle track that use the IETF BCP 47 language code, copy the same language code string to the track title field (or track name field, depends from the video editor used), if the track title already contains text, you can insert the language code at the end of the text and optionally wrap the language code with round brackets. This will allow to Kodi to read the full language code string to override the default one. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21776&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Settings/Player/Language&amp;diff=242900</id>
		<title>Settings/Player/Language</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Settings/Player/Language&amp;diff=242900"/>
		<updated>2022-08-30T12:05:38Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: add some details to &amp;quot;Language code support on MKV files&amp;quot; section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Settings]] | [[Settings/Player|Player]] }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Audio=&lt;br /&gt;
[[File:Player_language_audio.jpg|right|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preferred Audio Language ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Basic&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Defaults to the selected audio language if more than one language is available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prefer default audio streams ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If enabled, audio streams that are flagged as default (and match the preferred language) are preferred over audio streams with higher quality (number of channels, codec, ...)&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Subtitles=&lt;br /&gt;
[[File:Settings-Player-Language-02.jpg|right|500px]]&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preferred Subtitle Language ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Basic&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Defaults to the selected subtitle language if more than one language is available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable parsing for closed captions ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Enable to parse for CC in video streams. Puts slightly more load on the CPU.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle position on screen == &lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Location of subtitles on screen.&amp;lt;br&amp;gt;&lt;br /&gt;
Options are: &#039;&#039;Fixed, Bottom of video, Below video, Top of video, Above video&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stereoscopic 3D depth of subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Sets the visual depth of subtitles for stereoscopic 3D videos. The higher the value, the closer the subtitles will appear to the viewer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Font to use for text subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font type to be used for text based subtitles (such as embedded on video files, streamings or downloaded).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Character set ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font character set to be used for subtitles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font size to be used for subtitles. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Style ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font style to be used for subtitles. &amp;lt;br&amp;gt;&lt;br /&gt;
Options are: &#039;&#039;Normal, Bold, Italics, Bold italics&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font colour to be used for subtitles. If subtitles are too bright on your display, select another colour here.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Used to make subtitles transparent. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16106&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Can be used to overcome bright subtitles when viewing HDR content. On LCD TV&#039;s with local dimming, it can reduce unwanted picture brightness adjustments.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the colour to be used for the subtitle background. Used as required to make subtitles easier to read.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the transparency level for the subtitle background.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override ASS/SSA subtitle fonts ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If predefined fonts are given with the subtitle file enable this setting to override them.&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Download Services=&lt;br /&gt;
[[File:Player_language_download-services.jpg|right|500px]]&lt;br /&gt;
&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Languages to download subtitles for ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set which language subtitles to search and download.&amp;lt;br&amp;gt;&lt;br /&gt;
Check with your selected subtitle provider if subtitles are not found in the specified language.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle storage location ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Specify where downloaded subtitles should be saved, the same location as the video or a custom location. &lt;br /&gt;
Options: &#039;&#039;Next to the video&#039;&#039; or &#039;&#039;Custom location&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom subtitle folder ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If you chose &#039;&#039;Custom location&#039;&#039; in the previous setting, set the location with this setting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pause when searching for subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Pause the current video while searching for subtitles and resume once the subtitle is available. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auto download first subtitle ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Automatically download first subtitle from the search result list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default TV service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for TV-show subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default movie service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for movie subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
&lt;br /&gt;
== Language code support on MKV files ==&lt;br /&gt;
The MKV video format supports IETF BCP 47 language code standard, this allows you to have audio / subtitles tracks with language and region code subtag (or other types of subtags).&lt;br /&gt;
Kodi does not officially support the IETF BCP 47 format, therefore all tracks with languages defined with subtags (for example region: &amp;quot;pt-BR&amp;quot;) will be always identified with the primary language code (so: &amp;quot;pt&amp;quot;), it will result in the GUI language list not being able to distinguish between language variants.&lt;br /&gt;
&lt;br /&gt;
{{note|Language code override for Kodi v20 and above:}}&lt;br /&gt;
A way to fix the Kodi language code detection problem is open with a video editor software your MKV file (e.g. mkvtoolnix), then for each audio / subtitle track that use the IETF BCP 47 language code, copy the same language code string to the track title field (or track name field, depends from the video editor used), if the track title already contains text, you can insert the language code at the end of the text and optionally wrap the language code with round brackets. This will allow to Kodi to read the full language code string to override the default one. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Settings/Player/Language&amp;diff=242899</id>
		<title>Settings/Player/Language</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Settings/Player/Language&amp;diff=242899"/>
		<updated>2022-08-30T12:00:32Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add &amp;quot;other&amp;quot; section + &amp;quot;Language code support on MKV files&amp;quot; subsection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Settings]] | [[Settings/Player|Player]] }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Audio=&lt;br /&gt;
[[File:Player_language_audio.jpg|right|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preferred Audio Language ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Basic&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Defaults to the selected audio language if more than one language is available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prefer default audio streams ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If enabled, audio streams that are flagged as default (and match the preferred language) are preferred over audio streams with higher quality (number of channels, codec, ...)&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Subtitles=&lt;br /&gt;
[[File:Settings-Player-Language-02.jpg|right|500px]]&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preferred Subtitle Language ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Basic&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Defaults to the selected subtitle language if more than one language is available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable parsing for closed captions ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Enable to parse for CC in video streams. Puts slightly more load on the CPU.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle position on screen == &lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Location of subtitles on screen.&amp;lt;br&amp;gt;&lt;br /&gt;
Options are: &#039;&#039;Fixed, Bottom of video, Below video, Top of video, Above video&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stereoscopic 3D depth of subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Sets the visual depth of subtitles for stereoscopic 3D videos. The higher the value, the closer the subtitles will appear to the viewer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Font to use for text subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font type to be used for text based subtitles (such as embedded on video files, streamings or downloaded).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Character set ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font character set to be used for subtitles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font size to be used for subtitles. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Style ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font style to be used for subtitles. &amp;lt;br&amp;gt;&lt;br /&gt;
Options are: &#039;&#039;Normal, Bold, Italics, Bold italics&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font colour to be used for subtitles. If subtitles are too bright on your display, select another colour here.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Used to make subtitles transparent. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16106&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Can be used to overcome bright subtitles when viewing HDR content. On LCD TV&#039;s with local dimming, it can reduce unwanted picture brightness adjustments.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the colour to be used for the subtitle background. Used as required to make subtitles easier to read.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the transparency level for the subtitle background.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override ASS/SSA subtitle fonts ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If predefined fonts are given with the subtitle file enable this setting to override them.&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Download Services=&lt;br /&gt;
[[File:Player_language_download-services.jpg|right|500px]]&lt;br /&gt;
&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Languages to download subtitles for ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set which language subtitles to search and download.&amp;lt;br&amp;gt;&lt;br /&gt;
Check with your selected subtitle provider if subtitles are not found in the specified language.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle storage location ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Specify where downloaded subtitles should be saved, the same location as the video or a custom location. &lt;br /&gt;
Options: &#039;&#039;Next to the video&#039;&#039; or &#039;&#039;Custom location&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom subtitle folder ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If you chose &#039;&#039;Custom location&#039;&#039; in the previous setting, set the location with this setting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pause when searching for subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Pause the current video while searching for subtitles and resume once the subtitle is available. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auto download first subtitle ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Automatically download first subtitle from the search result list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default TV service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for TV-show subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default movie service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for movie subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
&lt;br /&gt;
== Language code support on MKV files ==&lt;br /&gt;
The MKV video format supports IETF BCP 47 language code standard, this allows you to have audio / subtitles tracks with language and region code subtag (or other types of subtags).&lt;br /&gt;
Kodi does not officially support the IETF BCP 47 format, therefore all tracks with languages defined with subtags (for example region: &amp;quot;pt-BR&amp;quot;) will be always identified with the primary language code (so: &amp;quot;pt&amp;quot;), it will result in the GUI language list not being able to distinguish between language variants.&lt;br /&gt;
&lt;br /&gt;
{{note|Language code override for Kodi v20 and above:}}&lt;br /&gt;
A way to fix the Kodi language code detection problem is open with a video editor software your MKV file (e.g. mkvtoolnix), then for each audio / subtitle track that use the IETF BCP 47 language code, copy the same language code string to the track title field (or track name field, depends from the video editor used), it will allow to Kodi to read the full language code string to override the default one. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242848</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242848"/>
		<updated>2022-08-27T14:21:37Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code with subtag (e.g. pt-BR):&#039;&#039;&#039;&lt;br /&gt;
{{note|This support is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to extend an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the same &amp;quot;long&amp;quot; description of the existing language, for example we reuse the Portughese language for another language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to override an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allow you to rename an existing language. Set to an existing language code your preferred &amp;quot;long&amp;quot; name description.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;WARNING: This can cause problems with add-ons, so do not override languages if you are not aware of the side effects.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en-GB&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra artwork ====&lt;br /&gt;
&lt;br /&gt;
Applies to Kodi v18 only.&lt;br /&gt;
&lt;br /&gt;
Configuration to expand the artwork automatically added by Kodi to media items in the library, either from local files or online scrapers.&lt;br /&gt;
&lt;br /&gt;
The original basic artwork types are still hardcoded so they don&#039;t need to be configured here (and can&#039;t be removed). &amp;quot;poster&amp;quot; and &amp;quot;fanart&amp;quot; for movies, movie sets, TV shows, seasons, and music videos; &amp;quot;banner&amp;quot; for TV shows and seasons; and &amp;quot;thumb&amp;quot; for episodes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... combine with &amp;quot;videolibrary&amp;quot; settings above --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV shows --&amp;gt;&lt;br /&gt;
    &amp;lt;tvshowextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;characterart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvshowextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show seasons --&amp;gt;&lt;br /&gt;
    &amp;lt;tvseasonextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvseasonextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show episodes --&amp;gt;&lt;br /&gt;
    &amp;lt;episodeextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;fanart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/episodeextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movies --&amp;gt;&lt;br /&gt;
    &amp;lt;movieextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/movieextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movie sets / collections --&amp;gt;&lt;br /&gt;
    &amp;lt;moviesetextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/moviesetextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for musicvideos --&amp;gt;&lt;br /&gt;
    &amp;lt;musicvideoextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/musicvideoextraart&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242838</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242838"/>
		<updated>2022-08-27T10:15:54Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
How to add a new language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|The support for using language codes with subtags (e.g. pt-BR) is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can extend an existing language code by using the same &amp;quot;long&amp;quot; description of the existing language, as follow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra artwork ====&lt;br /&gt;
&lt;br /&gt;
Applies to Kodi v18 only.&lt;br /&gt;
&lt;br /&gt;
Configuration to expand the artwork automatically added by Kodi to media items in the library, either from local files or online scrapers.&lt;br /&gt;
&lt;br /&gt;
The original basic artwork types are still hardcoded so they don&#039;t need to be configured here (and can&#039;t be removed). &amp;quot;poster&amp;quot; and &amp;quot;fanart&amp;quot; for movies, movie sets, TV shows, seasons, and music videos; &amp;quot;banner&amp;quot; for TV shows and seasons; and &amp;quot;thumb&amp;quot; for episodes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... combine with &amp;quot;videolibrary&amp;quot; settings above --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV shows --&amp;gt;&lt;br /&gt;
    &amp;lt;tvshowextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;characterart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvshowextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show seasons --&amp;gt;&lt;br /&gt;
    &amp;lt;tvseasonextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvseasonextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show episodes --&amp;gt;&lt;br /&gt;
    &amp;lt;episodeextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;fanart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/episodeextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movies --&amp;gt;&lt;br /&gt;
    &amp;lt;movieextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/movieextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movie sets / collections --&amp;gt;&lt;br /&gt;
    &amp;lt;moviesetextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/moviesetextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for musicvideos --&amp;gt;&lt;br /&gt;
    &amp;lt;musicvideoextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/musicvideoextraart&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242829</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242829"/>
		<updated>2022-08-27T08:06:59Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: Add more explanations to language codes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to extend Kodi&#039;s default language codes or to override existing ones.&lt;br /&gt;
&lt;br /&gt;
{{note|The support for using language codes with subtags (e.g. pt-BR) is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
Contains entries of the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra artwork ====&lt;br /&gt;
&lt;br /&gt;
Applies to Kodi v18 only.&lt;br /&gt;
&lt;br /&gt;
Configuration to expand the artwork automatically added by Kodi to media items in the library, either from local files or online scrapers.&lt;br /&gt;
&lt;br /&gt;
The original basic artwork types are still hardcoded so they don&#039;t need to be configured here (and can&#039;t be removed). &amp;quot;poster&amp;quot; and &amp;quot;fanart&amp;quot; for movies, movie sets, TV shows, seasons, and music videos; &amp;quot;banner&amp;quot; for TV shows and seasons; and &amp;quot;thumb&amp;quot; for episodes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... combine with &amp;quot;videolibrary&amp;quot; settings above --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV shows --&amp;gt;&lt;br /&gt;
    &amp;lt;tvshowextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;characterart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvshowextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show seasons --&amp;gt;&lt;br /&gt;
    &amp;lt;tvseasonextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvseasonextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show episodes --&amp;gt;&lt;br /&gt;
    &amp;lt;episodeextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;fanart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/episodeextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movies --&amp;gt;&lt;br /&gt;
    &amp;lt;movieextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/movieextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movie sets / collections --&amp;gt;&lt;br /&gt;
    &amp;lt;moviesetextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/moviesetextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for musicvideos --&amp;gt;&lt;br /&gt;
    &amp;lt;musicvideoextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/musicvideoextraart&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=241926</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=241926"/>
		<updated>2022-04-23T11:12:04Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 2 + full smb logging (no on screen display)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
Translation table for subtitle and audio names.  Contains entries of the form&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of &amp;quot;&#039;&#039;[[RegEx_tutorial|regular expressions]]&#039;&#039;&amp;quot;. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a &#039;&#039;[[RegEx_tutorial|Regular Expression]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* Examples of matching regexps for certain filenames can be found on the [[Naming_video_files/TV_shows|TV shows]] page.&lt;br /&gt;
&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains &amp;quot;&#039;&#039;[[RegEx_tutorial|Regular Expression]]&#039;&#039;&amp;quot; syntax (commonly referred to as &amp;quot;&#039;&#039;[[RegEx_tutorial|RegEx]]&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;[[RegEx_tutorial|RegExp]]&#039;&#039;&amp;quot;) to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra artwork ====&lt;br /&gt;
&lt;br /&gt;
Applies to Kodi v18 only.&lt;br /&gt;
&lt;br /&gt;
Configuration to expand the artwork automatically added by Kodi to media items in the library, either from local files or online scrapers.&lt;br /&gt;
&lt;br /&gt;
The original basic artwork types are still hardcoded so they don&#039;t need to be configured here (and can&#039;t be removed). &amp;quot;poster&amp;quot; and &amp;quot;fanart&amp;quot; for movies, movie sets, TV shows, seasons, and music videos; &amp;quot;banner&amp;quot; for TV shows and seasons; and &amp;quot;thumb&amp;quot; for episodes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... combine with &amp;quot;videolibrary&amp;quot; settings above --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV shows --&amp;gt;&lt;br /&gt;
    &amp;lt;tvshowextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;characterart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvshowextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show seasons --&amp;gt;&lt;br /&gt;
    &amp;lt;tvseasonextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvseasonextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show episodes --&amp;gt;&lt;br /&gt;
    &amp;lt;episodeextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;fanart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/episodeextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movies --&amp;gt;&lt;br /&gt;
    &amp;lt;movieextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/movieextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movie sets / collections --&amp;gt;&lt;br /&gt;
    &amp;lt;moviesetextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/moviesetextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for musicvideos --&amp;gt;&lt;br /&gt;
    &amp;lt;musicvideoextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/musicvideoextraart&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=241714</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=241714"/>
		<updated>2022-03-16T15:58:30Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
;Main actions&lt;br /&gt;
{| class=&amp;quot;prettytable sort sortable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Left&amp;lt;/code&amp;gt; || Move left off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Right&amp;lt;/code&amp;gt; || Move right off a control. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Up&amp;lt;/code&amp;gt; || Move up off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Down&amp;lt;/code&amp;gt; || Move down off a control.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Select&amp;lt;/code&amp;gt; || Select a button, or an item from a list of thumb view.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ENTER) Not sure about all areas, but on some windows this will be the same as the &amp;quot;done&amp;quot; on screen button.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageUp&amp;lt;/code&amp;gt; || Scroll up on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PageDown&amp;lt;/code&amp;gt; || Scroll down on page in a list, thumb, or text view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Highlight&amp;lt;/code&amp;gt; || Highlight an item in a list or thumb view.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ParentDir&amp;lt;/code&amp;gt; || Go up a folder to the parent folder.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousMenu&amp;lt;/code&amp;gt; || Go back to the previous menu screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; || Go back in navigation.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Info&amp;lt;/code&amp;gt; || Show the information about the currently highlighted item, or currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Pause&amp;lt;/code&amp;gt; || Pause the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Stop&amp;lt;/code&amp;gt; || Stop the currently playing item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipNext&amp;lt;/code&amp;gt; || Skip to next video in playlist. If no playlist, then skip to next chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SkipPrevious&amp;lt;/code&amp;gt; || Skip to previous video in playlist. If no playlist, then skip to previous chapter in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FullScreen&amp;lt;/code&amp;gt; || Toggles full-screen content playback (either visualisation or video playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;togglefullscreen&amp;lt;/code&amp;gt; || Changes whether the app is displayed full-screen or windowed (on windowing OSs)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AspectRatio&amp;lt;/code&amp;gt; || Toggle through the various aspect ratio modes (Normal is the preferred option).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepForward&amp;lt;/code&amp;gt; || Step forward 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StepBack&amp;lt;/code&amp;gt; || Step back 30 seconds in a video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepForward&amp;lt;/code&amp;gt; || Step forward 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BigStepBack&amp;lt;/code&amp;gt; || Step back 10 minutes in video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; || Step back 7 seconds in the current video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Seek(&#039;&#039;##&#039;&#039;)&amp;lt;/code&amp;gt; || A definable seek action, where &amp;lt;code&amp;gt;&#039;&#039;##&#039;&#039;&amp;lt;/code&amp;gt; is a number of seconds. For example, to make a seek action that goes forward 25 seconds use &amp;lt;code&amp;gt;Seek(25)&amp;lt;/code&amp;gt;, and to make a seek action that goes back 36 seconds use &amp;lt;code&amp;gt;Seek(-36)&amp;lt;/code&amp;gt;. &#039;&#039;&#039;(v15 Isengard addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepForward&amp;lt;/code&amp;gt; || Go to to next chapter in video. If no chapters, then step forward 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChapterOrBigStepBack&amp;lt;/code&amp;gt; || Go to previous chapter in video, If no chapters, then step back 10 minutes in video. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextScene&amp;lt;/code&amp;gt; || Go to next scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousScene&amp;lt;/code&amp;gt; || Go to previous scene that is marked in an [[Edit_decision_list]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD (On Screen Display) while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayDVD&amp;lt;/code&amp;gt; || Start playing a DVD (goes to the DVD menu)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowVideoMenu&amp;lt;/code&amp;gt; || Go to the DVD Video menu when playing a DVD.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowSubtitles&amp;lt;/code&amp;gt; || Toggles whether subtitles are shown or not.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextSubtitle&amp;lt;/code&amp;gt; || Change to the next subtitle language, if there is more than one.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftUp&amp;lt;/code&amp;gt; || Move subtitles up&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || Move subtitles down&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || Subtitle position control&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CodecInfo&amp;lt;/code&amp;gt; || Show codec information about the currently playing item (during video or visualisation playback)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPicture&amp;lt;/code&amp;gt; || Move to the next picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPicture&amp;lt;/code&amp;gt; || Move to the previous picture in a slideshow.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomOut&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom out of the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomIn&amp;lt;/code&amp;gt; || Used in picture, slideshow or video fullscreen to zoom in to the current image/video.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to increase the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreasePAR&amp;lt;/code&amp;gt; || Used in video fullscreen to decrease the pixel aspect ratio (stretch).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; || Queue the item to the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayNext&amp;lt;/code&amp;gt; || Queue the item to the next position in the current playlist&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. Used in the [[Advanced_library_filtering|advanced filter]] for the video library.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist&amp;lt;/code&amp;gt; || Toggle to playlist view from My Music or My Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomNormal&amp;lt;/code&amp;gt; || Normal (fullscreen) viewing in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel1&amp;lt;/code&amp;gt; || Zoom to 120% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel2&amp;lt;/code&amp;gt; || Zoom to 150% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel3&amp;lt;/code&amp;gt; || Zoom to 200% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel4&amp;lt;/code&amp;gt; || Zoom to 280% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel5&amp;lt;/code&amp;gt; || Zoom to 400% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel6&amp;lt;/code&amp;gt; || Zoom to 600% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel7&amp;lt;/code&amp;gt; || Zoom to 900% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel8&amp;lt;/code&amp;gt; || Zoom to 1350% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ZoomLevel9&amp;lt;/code&amp;gt; || Zoom to 2000% in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ResetCalibration&amp;lt;/code&amp;gt; || Used in Video + GUI calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogMove&amp;lt;/code&amp;gt; || Move in the calibration screens, and while zoomed in My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rotate&amp;lt;/code&amp;gt; || Rotate a picture in My Pictures&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rotateccw&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_ROTATE_PICTURE_CCW)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Close&amp;lt;/code&amp;gt; || Used to close a dialog&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitledelay&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_DELAY)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of subtitles (use if subtitles are displaying too late)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of subtitles (use if subtitles are displaying too early)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiodelay&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_AUDIO_DELAY)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayMinus&amp;lt;/code&amp;gt; || Decrease the delay amount of audio (use if audio is being heard too early) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioDelayPlus&amp;lt;/code&amp;gt; || Increase the delay amount of audio (use if audio is being heard too late) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AudioNextLanguage&amp;lt;/code&amp;gt; || Change to the next audio track in a video with multiple audio tracks.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextResolution&amp;lt;/code&amp;gt; || Used in Video calibration&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Number&#039;&#039;&amp;lt;0-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Used to input the number 0 through 9&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FastForward&amp;lt;/code&amp;gt; || Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rewind&amp;lt;/code&amp;gt; || Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Play&amp;lt;/code&amp;gt; || Play the selected item (or folder of items).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPause&amp;lt;/code&amp;gt; || Play the selected item (or folder of items). Will also pause media when something is already playing.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; || Used in My Files to delete a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Copy&amp;lt;/code&amp;gt; || Used in My Files to copy a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; || Used in My Files to move a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Rename&amp;lt;/code&amp;gt; || Used in My Files to rename a file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;HideSubmenu&amp;lt;/code&amp;gt; || &amp;lt;depreciated&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Screenshot&amp;lt;/code&amp;gt; || Take a screenshot of the current screen.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt; || Reboot&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShutDown()&amp;lt;/code&amp;gt; || Shutdown and power off&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeUp&amp;lt;/code&amp;gt; || Increase the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;VolumeDown&amp;lt;/code&amp;gt; || Decrease the volume of playback.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt; || Mute the volume.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VOLAMP_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volampdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VOLAMP_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;audiotoggledigital&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TOGGLE_DIGITAL_ANALOG)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;BackSpace&amp;lt;/code&amp;gt; || Used in the virtual keyboards to delete one letter.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollUp&amp;lt;/code&amp;gt; || Variable speed scroll up for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ScrollDown&amp;lt;/code&amp;gt; || Variable speed scroll down for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogFastForward&amp;lt;/code&amp;gt; || Variable speed fast forward for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogRewind&amp;lt;/code&amp;gt; || Variable speed rewind for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekForward&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;AnalogSeekBack&amp;lt;/code&amp;gt; || Variable speed seeking for analog keys (stick or triggers)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemUp&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;MoveItemDown&amp;lt;/code&amp;gt; || Used to rearrange playlists&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Menu&amp;lt;/code&amp;gt; || Focus the menu control (e.g. sidebar in confluence) which is specified by the skin in different windows (e.g. Movies, Music, PVR etc.) &#039;&#039;&#039;(v16 Jarvis addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ContextMenu&amp;lt;/code&amp;gt; || Pops up a contextual menu&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to upper or lower case letters&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Symbols&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to switch to or from symbols mode&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorLeft&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the left&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CursorRight&amp;lt;/code&amp;gt; || Used in Virtual Keyboard to move the current cursor point to the right&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowTime&amp;lt;/code&amp;gt; || Used to show the current play time in music + video playback&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; || Shows the visualisation preset list&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ShowPreset&amp;lt;/code&amp;gt; || Shows the current visualisation preset (milkdrop/spectrum)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextPreset&amp;lt;/code&amp;gt; || Next visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousPreset&amp;lt;/code&amp;gt; || Previous visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;LockPreset&amp;lt;/code&amp;gt; || Lock the current visualisation preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;RandomPreset&amp;lt;/code&amp;gt; || Switch to a new random preset&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;IncreaseRating&amp;lt;/code&amp;gt; || Used to increase track rating in full screen playback (press info on track and use pageplus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;DecreaseRating&amp;lt;/code&amp;gt; || Used to decrease track rating in full screen playback (press info on track and use pageminus on keyboard/remote&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleWatched&amp;lt;/code&amp;gt; || Toggles watched/unwatched status for Videos&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextLetter&amp;lt;/code&amp;gt; || Move to the next letter in a list or thumb panel. Note that SHIFT-B on the keyboard will take you to the B&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PrevLetter&amp;lt;/code&amp;gt; || Move to the previous letter in a list or thumb panel. Note that SHIFT-Z on the keyboard will take you to the Z&#039;s.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JumpSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Jump through a list using SMS-style input (eg press 2 twice to jump to the B&#039;s.)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;FilterSMS&#039;&#039;&amp;lt;2-9&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; || Filter a list in music or videos using SMS-style input.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;verticalshiftdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scanitem&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SCAN_ITEM)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;reloadkeymaps&amp;lt;/code&amp;gt; || Reload keymap, loading any changes made to the keymap since started up.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;increasevisrating&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VIS_RATE_PRESET_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;decreasevisrating&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_VIS_RATE_PRESET_MINUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;firstpage&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_FIRST_PAGE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;lastpage&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_LAST_PAGE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;guiprofile&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_GUIPROFILE_BEGIN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;red&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_RED)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;green&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_GREEN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yellow&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_YELLOW)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blue&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_TELETEXT_BLUE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreateBookmark&amp;lt;/code&amp;gt; || Creates a bookmark of the currently playing Video &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;CreatEpisodeBookmark&amp;lt;/code&amp;gt; || Creates an episode bookmark of the currently playing multi-episode file (e.g. S01E01E02). An episode bookmark specifies the end of the one and the begin of the other episode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the next channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || [[PVR]] Goes to the previous channel group when using live TV. Works only within PVR windows + channel osd. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelUp&amp;lt;/code&amp;gt; || [[PVR]] Used to switch up to the next channel. Works only if you playback TV or radio &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ChannelDown&amp;lt;/code&amp;gt; || [[PVR]] Used to switch down to the previous channel. Works only if you playback TV or radio&#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV or radio channel depends on the last played channel. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a TV channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] Starts playback a radio channel. Will playback the last played channel if available. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Record&amp;lt;/code&amp;gt; || [[PVR]] record current playing channel or selected item in windows like EPG &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;StereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ToggleStereoMode&amp;lt;/code&amp;gt; || Toggle 3D/Stereoscopic mode &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SwitchPlayer&amp;lt;/code&amp;gt; || Select player to use, such as internal (DVDPlayer/PAPlayer), UPnP &amp;quot;play using&amp;quot; targets, external players. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;UpdateLibrary(video)&amp;lt;/code&amp;gt; || Update Movie/TV-Show library (only tested with v13 Gotham addition).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SetRating&amp;lt;/code&amp;gt; || For use when playing music. Will pop-up a 1-10 userrating select dialog, to rate the currently playing song. &#039;&#039;&#039;(v17 Krypton addition)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Other&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;noop&amp;lt;/code&amp;gt; || No action. Used to specifically disable a key.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Action IDs&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed action IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;PresetList&amp;lt;/code&amp;gt; - replaced with &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt; in a previous version (unknown?)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Keymaps]]&lt;br /&gt;
* [[Window IDs]]&lt;br /&gt;
* [[Built-in scripting]]&lt;br /&gt;
&lt;br /&gt;
{{Isengard updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Keyboard_controls&amp;diff=241713</id>
		<title>Keyboard controls</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Keyboard_controls&amp;diff=241713"/>
		<updated>2022-03-16T15:58:05Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Remote controls]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=intro /&amp;gt;Kodi can be controlled with a keyboard using hotkeys. This page tells you what hotkey commands can be used, and where they can be used.&amp;lt;section end=intro /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Default keyboard controls ==&lt;br /&gt;
The default [[keymap]] can be found at: {{Github_link|[https://github.com/xbmc/xbmc/blob/master/system/keymaps/keyboard.xml Keyboard.xml Master]}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;7%&amp;quot;| Key&lt;br /&gt;
! width=&amp;quot;31%&amp;quot;| Global&lt;br /&gt;
! width=&amp;quot;31%&amp;quot;| Video playback&lt;br /&gt;
! width=&amp;quot;31%&amp;quot;| Music visualisation&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|0}} (zero)&lt;br /&gt;
|&lt;br /&gt;
| Go between the two last channels &#039;&#039;([[live TV]] channel)&#039;&#039; &#039;&#039;&#039;OR&#039;&#039;&#039; Go to &amp;quot;now&amp;quot; on EPG/TV guide.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|A}}&lt;br /&gt;
|  &lt;br /&gt;
| Audio delay control&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|B}}&lt;br /&gt;
| Live TV: Schedule recording timers&lt;br /&gt;
| Live TV: Schedule recording timers&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
! {{keypress|C}}&lt;br /&gt;
| Contextual menu&lt;br /&gt;
| Playlist&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|D}}&lt;br /&gt;
| Move item down &#039;&#039;([[Playlists|Playlist editor]] &amp;amp; [[Favourites|Favorites window]])&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
! {{keypress|Ctrl|Shift|D}}&lt;br /&gt;
| [[Log_file|Toggle debug logging]]&lt;br /&gt;
| [[Log_file|Toggle debug logging]]&lt;br /&gt;
| [[Log_file|Toggle debug logging]]&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|E}}&lt;br /&gt;
| Live TV EPG/TV guide&lt;br /&gt;
| Live TV EPG/TV guide&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
! {{keypress|F}}&lt;br /&gt;
| Fast forward&lt;br /&gt;
| Fast forward&lt;br /&gt;
| Fast forward&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|G}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|H}}&lt;br /&gt;
| Live TV channels window&lt;br /&gt;
| Live TV channels window&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
! {{keypress|I}}&lt;br /&gt;
| [[Video_playback#Information|Information Page]]&lt;br /&gt;
| [[Video_playback#Information|Information Page]]&lt;br /&gt;
| [[Video_playback#Information|Information Page]]&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|J}}&lt;br /&gt;
| Live TV: Radio channels window&lt;br /&gt;
| Live TV: Radio channels window&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|K}}&lt;br /&gt;
| Live TV recordings window&lt;br /&gt;
| Live TV recordings window&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|L}}&lt;br /&gt;
|&lt;br /&gt;
| Next subtitle&lt;br /&gt;
| Lock preset&lt;br /&gt;
|- &lt;br /&gt;
! {{keypress|M}}&lt;br /&gt;
| &lt;br /&gt;
* &amp;quot;Menu&amp;quot; (sidebar menu on the default skin)&lt;br /&gt;
* Move &#039;&#039;([[File manager]])&#039;&#039;&lt;br /&gt;
| Player controls (OSD)&lt;br /&gt;
| Player controls (OSD)&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|N}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Current playlist window&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|O}}&lt;br /&gt;
| &lt;br /&gt;
| &#039;&#039;&#039;[[Player_process_info#Player_Process_Info|Player process info]]&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|alt|O}}&lt;br /&gt;
| &lt;br /&gt;
| &#039;&#039;&#039;[[Player_process_info#Video_Debug_Info|Video debug info]]&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Ctrl|Shift|O}}&lt;br /&gt;
| &lt;br /&gt;
| &#039;&#039;&#039;[[Player_process_info#Player_Debug_Info|Player debug info]]&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
! {{keypress|P}}&lt;br /&gt;
| Play&lt;br /&gt;
| Play&lt;br /&gt;
| Visualisation preset list&lt;br /&gt;
|-&lt;br /&gt;
!{{keypress|alt|left}} or {{keypress|right}}&lt;br /&gt;
|&lt;br /&gt;
| Decrease/Increase Playback Speed - (0.8x - 1.5x speed)&lt;br /&gt;
{{small|Only works when &#039;&#039;&#039;&#039;&#039;[[Settings/Player/Videos#Sync_playback_to_display|Sync Playback to Display]]&#039;&#039;&#039;&#039;&#039; is enabled which will Disable Audio Passthrough}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Q}}&lt;br /&gt;
| Queue&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|R}}&lt;br /&gt;
| &lt;br /&gt;
* Rewind&lt;br /&gt;
* Rename &#039;&#039;([[File manager]])&#039;&#039;&lt;br /&gt;
| Rewind&lt;br /&gt;
| Rewind&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|S}}&lt;br /&gt;
| Shutdown menu&lt;br /&gt;
| Shutdown menu&lt;br /&gt;
| Show preset&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Ctrl|S}}&lt;br /&gt;
| Screenshot&lt;br /&gt;
| Screenshot&lt;br /&gt;
| Screenshot&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|T}}&lt;br /&gt;
| &lt;br /&gt;
| Toggle subtitles on and off&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Ctrl|T}}&lt;br /&gt;
| &lt;br /&gt;
| Subtitle position control&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|U}}&lt;br /&gt;
| Move item up &#039;&#039;([[Playlists|Playlist editor]] &amp;amp; [[Favourites|Favorites window]])&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|V}}&lt;br /&gt;
| &lt;br /&gt;
| Teletext&lt;br /&gt;
| Visualisation settings&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|W}}&lt;br /&gt;
| Marked as watched / unwatched&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|X}}&lt;br /&gt;
| Stop&lt;br /&gt;
| Stop&lt;br /&gt;
| Stop&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Y}}&lt;br /&gt;
| Switch/choose player. For example, can be used to switch between internal player or a UPnP target player.&lt;br /&gt;
| Switch/choose player&lt;br /&gt;
| Switch/choose player&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Z}}&lt;br /&gt;
| &lt;br /&gt;
| [[Player_process_info|Display info]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Space}}&lt;br /&gt;
| &lt;br /&gt;
* Pause/Play&lt;br /&gt;
* Current playlist window &#039;&#039;(video &amp;amp; music listings)&#039;&#039;&lt;br /&gt;
* Highlight &#039;&#039;([[File manager]])&#039;&#039;&lt;br /&gt;
| Pause/Play&lt;br /&gt;
| Pause/Play&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;{{big| {{keypress|left}} }}&#039;&#039;&#039;&lt;br /&gt;
| Left&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; backward. &amp;lt;br /&amp;gt;{{small|1x 10s, 2x 30s, 3x 1m, 4x 3m...}}&lt;br /&gt;
* Prev channel group &#039;&#039;(live TV)&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; backward. &amp;lt;br /&amp;gt;{{small|1x 10s, 2x 30s, 3x 1m, 4x 3m...}}&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;{{big| {{keypress|right}} }}&#039;&#039;&#039;&lt;br /&gt;
| Right&lt;br /&gt;
| &lt;br /&gt;
* &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; forward. &amp;lt;br /&amp;gt;{{small|1x 10s, 2x 30s, 3x 1m, 4x 3m...}}&lt;br /&gt;
* Next channel group &#039;&#039;(live TV)&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; forward. &amp;lt;br /&amp;gt;{{small|1x 10s, 2x 30s, 3x 1m, 4x 3m...}}&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;{{big| {{keypress|up}} }}&#039;&#039;&#039;&lt;br /&gt;
| Up&lt;br /&gt;
| &lt;br /&gt;
* &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; forward 10min &#039;&#039;&#039;OR&#039;&#039;&#039; Next chapter &#039;&#039;(videos)&#039;&#039;&lt;br /&gt;
* Channel up &#039;&#039;(live TV)&#039;&#039;&lt;br /&gt;
| Next track&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;{{big| {{keypress|down}} }}&#039;&#039;&#039;&lt;br /&gt;
| Down&lt;br /&gt;
| &lt;br /&gt;
* Step back 10min &#039;&#039;&#039;OR&#039;&#039;&#039; Prev chapter &#039;&#039;(videos)&#039;&#039;&lt;br /&gt;
* Channel down &#039;&#039;(live TV)&#039;&#039;&lt;br /&gt;
| Previous track&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Ctrl|left}}&lt;br /&gt;
| &lt;br /&gt;
| Variable seek backwards&lt;br /&gt;
| Variable seek backwards&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Ctrl|right}}&lt;br /&gt;
| &lt;br /&gt;
| Variable seek forward&lt;br /&gt;
| Variable seek forward&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Ctrl|up}}&lt;br /&gt;
| &lt;br /&gt;
| Move subtitles up&amp;lt;br /&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Ctrl|down}}&lt;br /&gt;
| &lt;br /&gt;
| Move subtitles down&amp;lt;br /&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|PageUp}}&lt;br /&gt;
| Page up&lt;br /&gt;
| Skip to next queued video or next chapter if no videos are queued.&lt;br /&gt;
| Increase rating&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|PageDown}}&lt;br /&gt;
| Page down&lt;br /&gt;
| Skip to previous queued video or previous chapter if no videos are queued.&lt;br /&gt;
| Decrease rating&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Enter}} {{small|return}}&lt;br /&gt;
| Select&lt;br /&gt;
| Player controls (OSD)&lt;br /&gt;
| Player controls (OSD)&lt;br /&gt;
|-&lt;br /&gt;
! {{key press|Backspace}}&lt;br /&gt;
| Back&lt;br /&gt;
| Back&lt;br /&gt;
| Back&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Esc}}&lt;br /&gt;
| Previous menu &#039;&#039;&#039;OR&#039;&#039;&#039; Home screen&lt;br /&gt;
| Exit full screen&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|.}} {{small|period}}&lt;br /&gt;
| Skip forward&lt;br /&gt;
| &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; forward. &amp;lt;br /&amp;gt;{{small|1x 10s, 2x 30s, 3x 1m, 4x 3m...}}&lt;br /&gt;
| &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; forward. &amp;lt;br /&amp;gt;{{small|1x 10s, 2x 30s, 3x 1m, 4x 3m...}}&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|,}} {{small|comma}}&lt;br /&gt;
| Skip backward&lt;br /&gt;
| &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; backward. &amp;lt;br /&amp;gt;{{small|1x 10s, 2x 30s, 3x 1m, 4x 3m...}}&lt;br /&gt;
| &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; backward. &amp;lt;br /&amp;gt;{{small|1x 10s, 2x 30s, 3x 1m, 4x 3m...}}&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|&#039;}} {{small|quote}}&lt;br /&gt;
| &lt;br /&gt;
| Small &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; backwards 7 seconds&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Tab}}&lt;br /&gt;
| Fullscreen playback&lt;br /&gt;
| Fullscreen playback&lt;br /&gt;
| Fullscreen playback&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|PrintSrc}}&lt;br /&gt;
| Screenshot&lt;br /&gt;
| Screenshot&lt;br /&gt;
| Screenshot&lt;br /&gt;
|-&lt;br /&gt;
! F8&lt;br /&gt;
| Mute&lt;br /&gt;
| Mute&lt;br /&gt;
| Mute&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|-}} {{small|minus}}&lt;br /&gt;
| Volume down&lt;br /&gt;
| Volume down&lt;br /&gt;
| Volume down&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|+}} {{small|plus}}&lt;br /&gt;
| Volume up&lt;br /&gt;
| Volume up&lt;br /&gt;
| Volume up&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|{{=}}}} {{small|equals}}&lt;br /&gt;
| Volume up&lt;br /&gt;
| Volume up&lt;br /&gt;
| Volume up&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|\}} {{small|backslash}}&lt;br /&gt;
| Toggle between fullscreen/windowed mode&lt;br /&gt;
| Toggle between fullscreen/windowed mode&lt;br /&gt;
| Toggle between fullscreen/windowed mode&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|[}} {{small|left bracket}}&lt;br /&gt;
| &lt;br /&gt;
| &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; forward 10min&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|]}} {{small|right bracket}}&lt;br /&gt;
| &lt;br /&gt;
| &#039;&#039;&#039;[[Skip_steps]]&#039;&#039;&#039; backward 10min&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|CTRL|END}}&lt;br /&gt;
| Exit Kodi &#039;&#039;(Only on Home Screen)&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|DEL}}&lt;br /&gt;
| Delete file &#039;&#039;(if enabled in [[Settings/Media/General#Allow_file_renaming_and_deletion|settings]])&#039;&#039;&lt;br /&gt;
| Remove from playlist &#039;&#039;([[Playlists|Playlist editor]] only)&#039;&#039;&lt;br /&gt;
| Remove from playlist &#039;&#039;([[Playlists|Playlist editor]] only)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Home}}&lt;br /&gt;
| Jump to the top of the menu (..)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! [numbers] then {{keypress|Return}}&lt;br /&gt;
| &lt;br /&gt;
| Jump to that time in playback. &#039;&#039;(E.g,, {{keypress|1|2|3|4|return}} will jump to 12 minutes and 34 seconds.)&#039;&#039;&lt;br /&gt;
| Jump to that time in playback. &#039;&#039;(E.g,, {{keypress|1|2|3|4|return}} will jump to 12 minutes and 34 seconds.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [numbers] then {{keypress|left}}&lt;br /&gt;
| &lt;br /&gt;
| Jump backwards in that amount of time. &#039;&#039;(E.g,, {{keypress|1|0|left}} will jump back 10 seconds.)&#039;&#039;&lt;br /&gt;
| Jump backwards in that amount of time. &#039;&#039;(E.g,, {{keypress|1|0|left}} will jump back 10 seconds.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [numbers] then {{keypress|right}}&lt;br /&gt;
| &lt;br /&gt;
| Jump forward in that amount of time. &#039;&#039;(E.g,, {{keypress|1|0|right}} will jump forward 10 seconds.)&#039;&#039;&lt;br /&gt;
| Jump forward in that amount of time. &#039;&#039;(E.g,, {{keypress|1|0|right}} will jump forward 10 seconds.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|Shift|LETTER}}&lt;br /&gt;
| Jump to that letter in a list&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mouse controls ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Key&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
|  Left Click on item&lt;br /&gt;
|  Select&lt;br /&gt;
|- &lt;br /&gt;
|  Middle Click on item&lt;br /&gt;
|  Queue to playlist&lt;br /&gt;
|- &lt;br /&gt;
|  Right Click on item&lt;br /&gt;
|  Context menu&lt;br /&gt;
|- &lt;br /&gt;
|  Right Click on blank area&lt;br /&gt;
|  Back&lt;br /&gt;
|- &lt;br /&gt;
|  Mouse Wheel Up&lt;br /&gt;
|  Up&lt;br /&gt;
|- &lt;br /&gt;
|  Mouse Wheel Down&lt;br /&gt;
|  Down&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Picture slide show controls ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Key&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|0}}&lt;br /&gt;
| Zoom Normal (100%)&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|1}}&lt;br /&gt;
| Zoom Level 1&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|2}}&lt;br /&gt;
| Zoom Level 2&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|3}}&lt;br /&gt;
| Zoom Level 3&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|4}}&lt;br /&gt;
| Zoom Level 4&lt;br /&gt;
|-&lt;br /&gt;
! {{Keypress|5}}&lt;br /&gt;
| Zoom Level 5&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|6}}&lt;br /&gt;
| Zoom Level 6&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|7}}&lt;br /&gt;
| Zoom Level 7&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|8}}&lt;br /&gt;
| Zoom Level 8&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|9}}&lt;br /&gt;
| Zoom Level 9&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|R}}&lt;br /&gt;
| Rotate&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|T}}&lt;br /&gt;
| Info (EXif data)&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|.}} &amp;lt;small&amp;gt;period&amp;lt;/small&amp;gt;&lt;br /&gt;
| Next picture&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|,}} &amp;lt;small&amp;gt;comma&amp;lt;/small&amp;gt;&lt;br /&gt;
| Previous picture&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|+}} &amp;lt;small&amp;gt;plus&amp;lt;/small&amp;gt;&lt;br /&gt;
| Zoom in&lt;br /&gt;
|-&lt;br /&gt;
! {{keypress|-}} &amp;lt;small&amp;gt;minus&amp;lt;/small&amp;gt;&lt;br /&gt;
| Zoom out&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Platform specific controls ==&lt;br /&gt;
&lt;br /&gt;
=== Windows, Live, and Linux ===&lt;br /&gt;
&lt;br /&gt;
{{key press|menu}} (Menu key): Contextual menu&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
{{key press|Cmd|Q}} to quit&lt;br /&gt;
&lt;br /&gt;
{{key press|Cmd|H}} and {{key press|Cmd|M}} to hide/minimize to the dock&lt;br /&gt;
&lt;br /&gt;
{{key press|Cmd|F}} to toggle fullscreen&lt;br /&gt;
&lt;br /&gt;
{{key press|Cmd|S}} to take a screen shot&lt;br /&gt;
&lt;br /&gt;
== Customizing buttons through the GUI ==&lt;br /&gt;
{{main|Add-on:Keymap Editor}}&lt;br /&gt;
Users can customize [[keymap]] for remotes in GUI by using the community [[Add-on:Keymap Editor|Keymap Editor]] add-on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:General topics]]&lt;br /&gt;
[[Category:First time user]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_data_folder&amp;diff=241374</id>
		<title>Kodi data folder</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_data_folder&amp;diff=241374"/>
		<updated>2022-01-29T17:14:34Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav||[[Settings]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&amp;lt;section begin=&amp;quot;KodiDataFolder&amp;quot; /&amp;gt;Once {{Kodi}} is installed, all subsequent changes and usage data are saved in the [[Kodi data folder]] which is the parent folder of the &#039;&#039;&#039;[[Userdata]]&#039;&#039;&#039; folder. When you install a new skin or an add-on it is installed in this folder. Playlists and edits to Nodes are stored here, and the library databases are created here along with the artwork cache and any other changes you make during your travels with {{kodi}}&lt;br /&gt;
&lt;br /&gt;
Basically anything you add or modify, after installation, occurs in this folder and sub-folders.&amp;lt;section end=&amp;quot;KodiDataFolder&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{{see also|Backup}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
The location of this folder varies between operating systems and the table below lists their locations. &lt;br /&gt;
&amp;lt;section begin=&amp;quot;KodiDataFolderLocation&amp;quot; /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; &lt;br /&gt;
! scope=&amp;quot;row&amp;quot; ! style=&amp;quot;width:150px; background-color:#a1f5e4; | Operating system&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; ! style=&amp;quot;width:700px; background-color:#a1f5e4; | Kodi Data folder path&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Android&#039;&#039;&#039; || Android/data/org.xbmc.kodi/files/.kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;iOS&#039;&#039;&#039; || /private/var/mobile/Library/Preferences/Kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;LibreELEC&#039;&#039;&#039; || /storage/.kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Linux&#039;&#039;&#039; || ~/.kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Mac&#039;&#039;&#039; || /Users/&amp;lt;your_user_name&amp;gt;/Library/Application Support/Kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Nvidia Shield (SMB)&#039;&#039;&#039; || smb://&amp;lt;nvidiashieldurl&amp;gt;/internal/Android/data/org.xbmc.kodi/files/.kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;OSMC&#039;&#039;&#039; || /home/osmc/.kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;tvOS&#039;&#039;&#039; || /private/var/mobile/Library/Preferences/Kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Windows&#039;&#039;&#039; || C:\Users\&amp;lt;&#039;&#039;YourUsername&#039;&#039;&amp;gt;\AppData\Roaming\Kodi&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Windows Portable&#039;&#039;&#039; || &amp;lt;&#039;&#039;Install location chosen by you&#039;&#039;&amp;gt;\portable_data&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Windows Xbox&#039;&#039;&#039; || %LOCALAPPDATA%\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\ &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Note:&#039;&#039;&#039; In some Android setups the path may be slightly different to the one stated above.&lt;br /&gt;
&amp;lt;section end=&amp;quot;KodiDataFolderLocation&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Folders =&lt;br /&gt;
The following are the sub-folders in the Kodi Data folder. Forks of {{kodi}} may have additional folders not covered here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== addons ==&lt;br /&gt;
Any add-on installed in {{kodi}} is installed in this folder along with any subsequent updates.&lt;br /&gt;
&lt;br /&gt;
Many add-ons have an additional folder located in &#039;&#039;&#039;\userdata\addon_data&#039;&#039;&#039;. This folder contains data created due to user preference or usage. eg, changed settings, channel line-up, etc&lt;br /&gt;
&lt;br /&gt;
{{kodi}} comes pre-installed with a series of default add-ons that are required for basic functioning, such as language add-ons, scrapers, default skins etc. These pre-installed add-ons are located in the Programs folder along with the remainder of the Kodi program files. When these pre-installed add-ons receive a subsequent update, the update is saved in this folder and the original add-on remains but is ignored.&lt;br /&gt;
&lt;br /&gt;
{{see|Add-ons}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== cache ==&lt;br /&gt;
The cache folder and its subfolders are used as temporary storage for some {{kodi}} functions. They can be used by:&lt;br /&gt;
* Scrapers to cache results and reduce API calls to remote sites.&lt;br /&gt;
* Caching navigation nodes that are slow to load in larger libraries&lt;br /&gt;
* File view of non-library items that entails tag reading which can be slow&lt;br /&gt;
&lt;br /&gt;
This folder is self-cleaning with items generally kept for 3 hours for the python Pickle cache, and 24 hours or more for scraper caches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== media ==&lt;br /&gt;
The media folder may contain other sub-folders that may need to be created manually.&lt;br /&gt;
&lt;br /&gt;
=== Fonts ===&lt;br /&gt;
The &#039;&#039;Fonts&#039;&#039; sub-folder, can be used to add additionals subtitle fonts, which can be used as alternative to the default Kodi font.&lt;br /&gt;
We strongly suggest to avoid adding more than 100 fonts in this folder, otherwise you may experience of playback slowdowns and system instability.&lt;br /&gt;
&lt;br /&gt;
If your intent is to provide a big library of fonts as support to subtitles format type like ASS/SSA,&lt;br /&gt;
we suggest you to install these fonts in your operative system and avoid to use this folder to store them,&lt;br /&gt;
some Kodi distributions could provide a special folder, where you can place your own font library.&lt;br /&gt;
&lt;br /&gt;
{{note|On Kodi 20 - At each startup Kodi will check if files have been added and/or removed in this folder, and then rebuilds the font cache if necessary.&lt;br /&gt;
When the font cache has been builded will be saved a &amp;lt;code&amp;gt;fontcache.xml&amp;lt;/code&amp;gt; file in this folder. To optimise Kodi startup, please do not delete this file.}}&lt;br /&gt;
&lt;br /&gt;
== system ==&lt;br /&gt;
Not used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== userdata ==&lt;br /&gt;
{{see|Userdata}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Files =&lt;br /&gt;
For {{kodi}} installations on Windows, the log files are saved in this folder. (For location of log files in other platforms, see: &#039;&#039;[[Template:LogfilePath|Log file Paths]]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
; \kodi.log&lt;br /&gt;
; \kodi.old.log&lt;br /&gt;
&lt;br /&gt;
{{#lst:Log_file|WhichLog}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:See &#039;&#039;&#039;[[Log_file|Debug Log]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Subtitles&amp;diff=241373</id>
		<title>Subtitles</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Subtitles&amp;diff=241373"/>
		<updated>2022-01-29T16:54:49Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Video library]] {{l2| [[Settings]] }}|[[Video playback]] {{l2| [[Settings/Player|Player]] }} }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Kodi supports both stand-alone subtitle and embedded subtitles. Most major subtitle formats are supported. Kodi can also search and download subtitles directly from full screen playback. &amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Supported formats ==&lt;br /&gt;
&lt;br /&gt;
Text-based subtitle formats supported:&lt;br /&gt;
* SubRip/SRT&lt;br /&gt;
* VPlayer&lt;br /&gt;
* SAMI&lt;br /&gt;
* MPL2&lt;br /&gt;
* MicroDVD&lt;br /&gt;
* SubStation Alpha (or Sub Station Alpha) known as SSA/ASS&lt;br /&gt;
* Closed caption EIA-608/EIA-708&lt;br /&gt;
* Timed text/TX3G&lt;br /&gt;
* WebVTT {{note|New on Kodi 20}}&lt;br /&gt;
&lt;br /&gt;
Image-based subtitle formats supported:&lt;br /&gt;
* VobSub (idx/sub)&lt;br /&gt;
* PGS (Presentation Graphic Stream Subtitle)&lt;br /&gt;
* SUP (Subtitle bitmap image of DVD and Blu-ray)&lt;br /&gt;
&lt;br /&gt;
== Changing subtitle settings during playback ==&lt;br /&gt;
[[File:Estuary-OSD-video-subtitle-selection.png|500px|right|thumb|The audio options are found under the gear icon.]]&lt;br /&gt;
{{main|Video playback}}&lt;br /&gt;
Various subtitle settings can be changed or they turned On/Off (default is on) via the [[Video_playback#Video_Player_OSD|OSD (On Screen Display)]] while watching a movie by selecting the subtitle menu or audio options.&lt;br /&gt;
&lt;br /&gt;
{{note|To make Kodi &#039;&#039;&#039;turn off&#039;&#039;&#039; subtitles by default: While playing a video, bring up the on screen display and select the audio options -&amp;gt; Turn off &amp;quot;subtitles&amp;quot; -&amp;gt; scroll down and select &amp;quot;save as default for all videos&amp;quot;.}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Settings details ===&lt;br /&gt;
[[File:Video Playback OSD 04.jpg|right|500px]]&lt;br /&gt;
{{#lst:Video playback|OSD subs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Main settings ===&lt;br /&gt;
{{See also|Settings/Player/Language#Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adjusting subtitles position ===&lt;br /&gt;
The position of the subtitles can be adjusted vertically (but not horizontally) in the [[Settings/System/Display#Calibration|Video Calibration]] screen, you can also configure the way that they are displayed though the [[Settings/Player/Language#Subtitles|Subtitles Settings]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This does not apply to DVD subtitles as the DVD itself defines their location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle downloader ==&lt;br /&gt;
{{Main|HOW-TO:Set_up_subtitle_services}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ActivateWindow(subtitlesearch)&amp;lt;/code&amp;gt; can be bound to a remote button using [[keymaps]] in order to quickly bring up the subtitle search window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Manually downloaded external subtitle files ==&lt;br /&gt;
To use stand-alone subtitle files with video files, put them in the same folder as the video file or alternatively go to the [[Settings/Player/Language#Download_Services|Subtitles Settings]] and set a Custom Subtitle Directory. You can also choose to manually browse for the subtitle file via the [[Video_playback#Video_Player_OSD|OSD (On Screen Display)]]. You can configure the way that they are displayed through the [[Settings/Player/Language#Subtitles|Subtitles Settings]], and you can adjust where they are displayed onscreen through the [[Settings/System/Display#Calibration|Video Calibration Screen]].&lt;br /&gt;
&lt;br /&gt;
The subtitle and video files must have the same name, for example:&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle:&#039;&#039;&#039; The Matrix.srt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Compressed subtitles ===&lt;br /&gt;
Kodi also supports compressed VobSub subtitles. Please note that the subtitles inside the [http://en.wikipedia.org/wiki/Rar RAR] archive still need to have the same name as the video file and requires the rar add-on being installed: See: [[Add-on:RAR_archive_support|RAR archive support]].&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle:&#039;&#039;&#039; The Matrix.rar &lt;br /&gt;
Where The Matrix.rar containins the VobSub-file &#039;&#039;The Matrix.sub&#039;&#039; and the &#039;&#039;The Matrix.idx&#039;&#039; VobSub index-file that has been compressed with [http://en.wikipedia.org/wiki/Rar RAR].&lt;br /&gt;
If you want Kodi to automatically turn on packed subtitles, you have to turn on the &#039;&#039;&#039;Search for Subtitles in RARs&#039;&#039;&#039; option in [[Settings/Player/Language#Subtitles|Subtitles Settings]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using multi language subtitles ===&lt;br /&gt;
Kodi supports the use of more than one external subtitle. This of course is most useful when you have more than one subtitle file, (eg. for more than language).&lt;br /&gt;
&lt;br /&gt;
To use this functionality you need to rename the video file and subtitle files as follows:&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; The Matrix.English.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; The Matrix.French.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 3:&#039;&#039;&#039; The Matrix.German.srt&lt;br /&gt;
&lt;br /&gt;
The dot after the filename but before the extension specifies the language (you can use anything here, mix numbers and and letters or just use one or the other).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can even mix subtitle formats, eg:&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; Movie Name (2006).avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; Movie Name (2006).Chinese.idx&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; Movie Name (2006).Chinese.sub&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; Movie Name (2006).Japanese.idx&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; Movie Name (2006).Japanese.sub&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 3:&#039;&#039;&#039; Movie Name (2006).English.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 4:&#039;&#039;&#039; Movie Name (2006).French.smi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 5:&#039;&#039;&#039; Movie Name (2006).German.ssa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advanced options ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adding fonts ===&lt;br /&gt;
You can add additional fonts to add support for your language and to customise your style. Your additional fonts can be stored in the Kodi folder at &amp;lt;code&amp;gt;Kodi/media/Fonts/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The supported font format type is TTF {{note|On Kodi 20 - Add support for OTF font type}}.&lt;br /&gt;
&lt;br /&gt;
{{note|On Kodi 20 - Please note that each time you add or remove fonts you will have to restart Kodi, to allow the font cache to be rebuilt and show fonts in the settings.}}&lt;br /&gt;
&lt;br /&gt;
For additional info see &#039;&#039;&#039;media&#039;&#039;&#039; section on [[Kodi_data_folder]] page.&lt;br /&gt;
&lt;br /&gt;
=== Increasing the delay range for subtitle adjustment ===&lt;br /&gt;
{{main|advancedsettings.xml}}&lt;br /&gt;
If you don&#039;t already have an [[advancedsettings.xml]] file, it&#039;s very simple to make. Kodi uses this file for advanced settings and features that normal users shouldn&#039;t modify without first knowing what they do, as well as for experimental features, etc.&lt;br /&gt;
&lt;br /&gt;
# Create a &#039;&#039;&#039;plain text file&#039;&#039;&#039; (no rich text formatting, don&#039;t use .doc, etc) and save it as &#039;&#039;&#039;advancedsettings.xml&#039;&#039;&#039;. Make sure that the file extension is &amp;quot;.xml&amp;quot; and &#039;&#039;&#039;not&#039;&#039;&#039; &amp;quot;.txt&amp;quot; or &amp;quot;.xml.txt&amp;quot;.&lt;br /&gt;
# Cut and paste this into your new plain text file:&lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
  &amp;lt;video&amp;gt;&lt;br /&gt;
    &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;  &amp;lt;!-- Delay range for subtitles, in seconds. --&amp;gt;&lt;br /&gt;
    &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;  &amp;lt;!-- Delay range for audio/video sync, in seconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Change the two values between the tags to fit your situation.&lt;br /&gt;
# Save this file in your &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;&lt;br /&gt;
#: &#039;&#039;If you have an existing file, make sure the &amp;lt;video&amp;gt;&amp;lt;/video&amp;gt; tags, and settings we&#039;ll add between them, are between the main &amp;lt;advancedsettings&amp;gt;&amp;lt;/advancedsettings&amp;gt; tags.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Forced Subtitles ===&lt;br /&gt;
Many movies have subtitles encoded for secondary languages spoken during the film – when these are added to the movie, they are known as forced subtitles and are always visible (despite not being hard encoded). Kodi (since v13 Gotham) recognizes and respects the forced flag for showing subtitles (even if subtitles are turned off by default, the forced flag will trigger them being turned on). This requires that the user have set the default languages in Settings in order to function properly.  If there are multiple forced subtitles, Kodi will select the forced subtitles that match the default playback language. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Internal Forced Subtitles&lt;br /&gt;
If you are using an .mkv file, the forced subtitles may be included in the file when originally encoded. If so, Kodi will automatically recognize that they are present and will display them at the appropriate times. If they are not included, or if the header was not properly edited, you will need to use external subtitles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; External Forced Subtitles&lt;br /&gt;
If you are using anything other than an .mkv file, or if your mkv doesn’t have the forced subtitles properly included, the forced flag can be easily added to your external subtitles. Following the same naming conventions listed above, you can then append the forced flag to the end of the subtitle file name. The forced flag can be either upper, lower or mixed case in the filename and can use a “.” (dot), “ “ (space) or “-“ (dash) to separate them from the name of the movie and language of the subtitles. IE:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
Movie Name (2006).English.Forced.srt&lt;br /&gt;
Movie Name (2006).en.forced.srt&lt;br /&gt;
Movie Name (2006).German.Forced.srt&lt;br /&gt;
Movie Name (2006)-Swedish-Forced.srt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
{{github_link|[https://github.com/xbmc/xbmc/blob/master/xbmc/cores/VideoPlayer/VideoPlayer.cpp#L94 Requirements to load subtitles]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{updated|17}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Subtitles|*]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Subtitles&amp;diff=241372</id>
		<title>Subtitles</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Subtitles&amp;diff=241372"/>
		<updated>2022-01-29T16:01:57Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Video library]] {{l2| [[Settings]] }}|[[Video playback]] {{l2| [[Settings/Player|Player]] }} }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Kodi supports both stand-alone subtitle and embedded subtitles. Most major subtitle formats are supported. Kodi can also search and download subtitles directly from full screen playback. &amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Supported formats ==&lt;br /&gt;
&lt;br /&gt;
Text-based subtitle formats supported:&lt;br /&gt;
* SubRip/SRT&lt;br /&gt;
* VPlayer&lt;br /&gt;
* SAMI&lt;br /&gt;
* MPL2&lt;br /&gt;
* MicroDVD&lt;br /&gt;
* SubStation Alpha (or Sub Station Alpha) known as SSA/ASS&lt;br /&gt;
* Closed caption EIA-608/EIA-708&lt;br /&gt;
* Timed text/TX3G&lt;br /&gt;
* WebVTT {{note|New on Kodi 20}}&lt;br /&gt;
&lt;br /&gt;
Image-based subtitle formats supported:&lt;br /&gt;
* VobSub (idx/sub)&lt;br /&gt;
* PGS (Presentation Graphic Stream Subtitle)&lt;br /&gt;
* SUP (Subtitle bitmap image of DVD and Blu-ray)&lt;br /&gt;
&lt;br /&gt;
== Changing subtitle settings during playback ==&lt;br /&gt;
[[File:Estuary-OSD-video-subtitle-selection.png|500px|right|thumb|The audio options are found under the gear icon.]]&lt;br /&gt;
{{main|Video playback}}&lt;br /&gt;
Various subtitle settings can be changed or they turned On/Off (default is on) via the [[Video_playback#Video_Player_OSD|OSD (On Screen Display)]] while watching a movie by selecting the subtitle menu or audio options.&lt;br /&gt;
&lt;br /&gt;
{{note|To make Kodi &#039;&#039;&#039;turn off&#039;&#039;&#039; subtitles by default: While playing a video, bring up the on screen display and select the audio options -&amp;gt; Turn off &amp;quot;subtitles&amp;quot; -&amp;gt; scroll down and select &amp;quot;save as default for all videos&amp;quot;.}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Settings details ===&lt;br /&gt;
[[File:Video Playback OSD 04.jpg|right|500px]]&lt;br /&gt;
{{#lst:Video playback|OSD subs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Main settings ===&lt;br /&gt;
{{See also|Settings/Player/Language#Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adjusting subtitles position ===&lt;br /&gt;
The position of the subtitles can be adjusted vertically (but not horizontally) in the [[Settings/System/Display#Calibration|Video Calibration]] screen, you can also configure the way that they are displayed though the [[Settings/Player/Language#Subtitles|Subtitles Settings]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This does not apply to DVD subtitles as the DVD itself defines their location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle downloader ==&lt;br /&gt;
{{Main|HOW-TO:Set_up_subtitle_services}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ActivateWindow(subtitlesearch)&amp;lt;/code&amp;gt; can be bound to a remote button using [[keymaps]] in order to quickly bring up the subtitle search window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Manually downloaded external subtitle files ==&lt;br /&gt;
To use stand-alone subtitle files with video files, put them in the same folder as the video file or alternatively go to the [[Settings/Player/Language#Download_Services|Subtitles Settings]] and set a Custom Subtitle Directory. You can also choose to manually browse for the subtitle file via the [[Video_playback#Video_Player_OSD|OSD (On Screen Display)]]. You can configure the way that they are displayed through the [[Settings/Player/Language#Subtitles|Subtitles Settings]], and you can adjust where they are displayed onscreen through the [[Settings/System/Display#Calibration|Video Calibration Screen]].&lt;br /&gt;
&lt;br /&gt;
The subtitle and video files must have the same name, for example:&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle:&#039;&#039;&#039; The Matrix.srt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Compressed subtitles ===&lt;br /&gt;
Kodi also supports compressed VobSub subtitles. Please note that the subtitles inside the [http://en.wikipedia.org/wiki/Rar RAR] archive still need to have the same name as the video file and requires the rar add-on being installed: See: [[Add-on:RAR_archive_support|RAR archive support]].&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle:&#039;&#039;&#039; The Matrix.rar &lt;br /&gt;
Where The Matrix.rar containins the VobSub-file &#039;&#039;The Matrix.sub&#039;&#039; and the &#039;&#039;The Matrix.idx&#039;&#039; VobSub index-file that has been compressed with [http://en.wikipedia.org/wiki/Rar RAR].&lt;br /&gt;
If you want Kodi to automatically turn on packed subtitles, you have to turn on the &#039;&#039;&#039;Search for Subtitles in RARs&#039;&#039;&#039; option in [[Settings/Player/Language#Subtitles|Subtitles Settings]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using multi language subtitles ===&lt;br /&gt;
Kodi supports the use of more than one external subtitle. This of course is most useful when you have more than one subtitle file, (eg. for more than language).&lt;br /&gt;
&lt;br /&gt;
To use this functionality you need to rename the video file and subtitle files as follows:&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; The Matrix.English.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; The Matrix.French.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 3:&#039;&#039;&#039; The Matrix.German.srt&lt;br /&gt;
&lt;br /&gt;
The dot after the filename but before the extension specifies the language (you can use anything here, mix numbers and and letters or just use one or the other).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can even mix subtitle formats, eg:&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; Movie Name (2006).avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; Movie Name (2006).Chinese.idx&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; Movie Name (2006).Chinese.sub&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; Movie Name (2006).Japanese.idx&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; Movie Name (2006).Japanese.sub&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 3:&#039;&#039;&#039; Movie Name (2006).English.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 4:&#039;&#039;&#039; Movie Name (2006).French.smi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 5:&#039;&#039;&#039; Movie Name (2006).German.ssa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advanced options ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adding fonts ===&lt;br /&gt;
Additional fonts can be stored in the Kodi folder (one level below [[userdata]]) at &amp;lt;code&amp;gt;Kodi/media/Fonts/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Increasing the delay range for subtitle adjustment ===&lt;br /&gt;
{{main|advancedsettings.xml}}&lt;br /&gt;
If you don&#039;t already have an [[advancedsettings.xml]] file, it&#039;s very simple to make. Kodi uses this file for advanced settings and features that normal users shouldn&#039;t modify without first knowing what they do, as well as for experimental features, etc.&lt;br /&gt;
&lt;br /&gt;
# Create a &#039;&#039;&#039;plain text file&#039;&#039;&#039; (no rich text formatting, don&#039;t use .doc, etc) and save it as &#039;&#039;&#039;advancedsettings.xml&#039;&#039;&#039;. Make sure that the file extension is &amp;quot;.xml&amp;quot; and &#039;&#039;&#039;not&#039;&#039;&#039; &amp;quot;.txt&amp;quot; or &amp;quot;.xml.txt&amp;quot;.&lt;br /&gt;
# Cut and paste this into your new plain text file:&lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
  &amp;lt;video&amp;gt;&lt;br /&gt;
    &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;  &amp;lt;!-- Delay range for subtitles, in seconds. --&amp;gt;&lt;br /&gt;
    &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;  &amp;lt;!-- Delay range for audio/video sync, in seconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Change the two values between the tags to fit your situation.&lt;br /&gt;
# Save this file in your &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;&lt;br /&gt;
#: &#039;&#039;If you have an existing file, make sure the &amp;lt;video&amp;gt;&amp;lt;/video&amp;gt; tags, and settings we&#039;ll add between them, are between the main &amp;lt;advancedsettings&amp;gt;&amp;lt;/advancedsettings&amp;gt; tags.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Forced Subtitles ===&lt;br /&gt;
Many movies have subtitles encoded for secondary languages spoken during the film – when these are added to the movie, they are known as forced subtitles and are always visible (despite not being hard encoded). Kodi (since v13 Gotham) recognizes and respects the forced flag for showing subtitles (even if subtitles are turned off by default, the forced flag will trigger them being turned on). This requires that the user have set the default languages in Settings in order to function properly.  If there are multiple forced subtitles, Kodi will select the forced subtitles that match the default playback language. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Internal Forced Subtitles&lt;br /&gt;
If you are using an .mkv file, the forced subtitles may be included in the file when originally encoded. If so, Kodi will automatically recognize that they are present and will display them at the appropriate times. If they are not included, or if the header was not properly edited, you will need to use external subtitles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; External Forced Subtitles&lt;br /&gt;
If you are using anything other than an .mkv file, or if your mkv doesn’t have the forced subtitles properly included, the forced flag can be easily added to your external subtitles. Following the same naming conventions listed above, you can then append the forced flag to the end of the subtitle file name. The forced flag can be either upper, lower or mixed case in the filename and can use a “.” (dot), “ “ (space) or “-“ (dash) to separate them from the name of the movie and language of the subtitles. IE:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
Movie Name (2006).English.Forced.srt&lt;br /&gt;
Movie Name (2006).en.forced.srt&lt;br /&gt;
Movie Name (2006).German.Forced.srt&lt;br /&gt;
Movie Name (2006)-Swedish-Forced.srt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
{{github_link|[https://github.com/xbmc/xbmc/blob/master/xbmc/cores/VideoPlayer/VideoPlayer.cpp#L94 Requirements to load subtitles]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{updated|17}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Subtitles|*]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Subtitles&amp;diff=241371</id>
		<title>Subtitles</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Subtitles&amp;diff=241371"/>
		<updated>2022-01-29T16:01:02Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Video library]] {{l2| [[Settings]] }}|[[Video playback]] {{l2| [[Settings/Player|Player]] }} }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Kodi supports both stand-alone subtitle and embedded subtitles. Most major subtitle formats are supported. Kodi can also search and download subtitles directly from full screen playback. &amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Supported formats ==&lt;br /&gt;
&lt;br /&gt;
Text-based subtitle formats supported:&lt;br /&gt;
* SubRip/SRT&lt;br /&gt;
* VPlayer&lt;br /&gt;
* SAMI&lt;br /&gt;
* MPL2&lt;br /&gt;
* MicroDVD&lt;br /&gt;
* SubStation Alpha (or Sub Station Alpha) known as SSA/ASS&lt;br /&gt;
* Closed caption EIA-608/EIA-708&lt;br /&gt;
* Timed text/TX3G&lt;br /&gt;
* WebVTT {{note|New on Kodi 20}}&lt;br /&gt;
&lt;br /&gt;
Image-based subtitle formats supported:&lt;br /&gt;
* VobSub (idx/sub)&lt;br /&gt;
* PGS (Presentation Grapic Stream Subtitle)&lt;br /&gt;
* SUP (Subtitle bitmap image of DVD and Blu-ray)&lt;br /&gt;
&lt;br /&gt;
== Changing subtitle settings during playback ==&lt;br /&gt;
[[File:Estuary-OSD-video-subtitle-selection.png|500px|right|thumb|The audio options are found under the gear icon.]]&lt;br /&gt;
{{main|Video playback}}&lt;br /&gt;
Various subtitle settings can be changed or they turned On/Off (default is on) via the [[Video_playback#Video_Player_OSD|OSD (On Screen Display)]] while watching a movie by selecting the subtitle menu or audio options.&lt;br /&gt;
&lt;br /&gt;
{{note|To make Kodi &#039;&#039;&#039;turn off&#039;&#039;&#039; subtitles by default: While playing a video, bring up the on screen display and select the audio options -&amp;gt; Turn off &amp;quot;subtitles&amp;quot; -&amp;gt; scroll down and select &amp;quot;save as default for all videos&amp;quot;.}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Settings details ===&lt;br /&gt;
[[File:Video Playback OSD 04.jpg|right|500px]]&lt;br /&gt;
{{#lst:Video playback|OSD subs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Main settings ===&lt;br /&gt;
{{See also|Settings/Player/Language#Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adjusting subtitles position ===&lt;br /&gt;
The position of the subtitles can be adjusted vertically (but not horizontally) in the [[Settings/System/Display#Calibration|Video Calibration]] screen, you can also configure the way that they are displayed though the [[Settings/Player/Language#Subtitles|Subtitles Settings]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This does not apply to DVD subtitles as the DVD itself defines their location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle downloader ==&lt;br /&gt;
{{Main|HOW-TO:Set_up_subtitle_services}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ActivateWindow(subtitlesearch)&amp;lt;/code&amp;gt; can be bound to a remote button using [[keymaps]] in order to quickly bring up the subtitle search window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Manually downloaded external subtitle files ==&lt;br /&gt;
To use stand-alone subtitle files with video files, put them in the same folder as the video file or alternatively go to the [[Settings/Player/Language#Download_Services|Subtitles Settings]] and set a Custom Subtitle Directory. You can also choose to manually browse for the subtitle file via the [[Video_playback#Video_Player_OSD|OSD (On Screen Display)]]. You can configure the way that they are displayed through the [[Settings/Player/Language#Subtitles|Subtitles Settings]], and you can adjust where they are displayed onscreen through the [[Settings/System/Display#Calibration|Video Calibration Screen]].&lt;br /&gt;
&lt;br /&gt;
The subtitle and video files must have the same name, for example:&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle:&#039;&#039;&#039; The Matrix.srt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Compressed subtitles ===&lt;br /&gt;
Kodi also supports compressed VobSub subtitles. Please note that the subtitles inside the [http://en.wikipedia.org/wiki/Rar RAR] archive still need to have the same name as the video file and requires the rar add-on being installed: See: [[Add-on:RAR_archive_support|RAR archive support]].&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle:&#039;&#039;&#039; The Matrix.rar &lt;br /&gt;
Where The Matrix.rar containins the VobSub-file &#039;&#039;The Matrix.sub&#039;&#039; and the &#039;&#039;The Matrix.idx&#039;&#039; VobSub index-file that has been compressed with [http://en.wikipedia.org/wiki/Rar RAR].&lt;br /&gt;
If you want Kodi to automatically turn on packed subtitles, you have to turn on the &#039;&#039;&#039;Search for Subtitles in RARs&#039;&#039;&#039; option in [[Settings/Player/Language#Subtitles|Subtitles Settings]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using multi language subtitles ===&lt;br /&gt;
Kodi supports the use of more than one external subtitle. This of course is most useful when you have more than one subtitle file, (eg. for more than language).&lt;br /&gt;
&lt;br /&gt;
To use this functionality you need to rename the video file and subtitle files as follows:&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; The Matrix.avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; The Matrix.English.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; The Matrix.French.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 3:&#039;&#039;&#039; The Matrix.German.srt&lt;br /&gt;
&lt;br /&gt;
The dot after the filename but before the extension specifies the language (you can use anything here, mix numbers and and letters or just use one or the other).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can even mix subtitle formats, eg:&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Video File:&#039;&#039;&#039; Movie Name (2006).avi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; Movie Name (2006).Chinese.idx&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 1:&#039;&#039;&#039; Movie Name (2006).Chinese.sub&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; Movie Name (2006).Japanese.idx&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 2:&#039;&#039;&#039; Movie Name (2006).Japanese.sub&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 3:&#039;&#039;&#039; Movie Name (2006).English.srt&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 4:&#039;&#039;&#039; Movie Name (2006).French.smi&lt;br /&gt;
  &#039;&#039;&#039;Subtitle 5:&#039;&#039;&#039; Movie Name (2006).German.ssa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advanced options ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adding fonts ===&lt;br /&gt;
Additional fonts can be stored in the Kodi folder (one level below [[userdata]]) at &amp;lt;code&amp;gt;Kodi/media/Fonts/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Increasing the delay range for subtitle adjustment ===&lt;br /&gt;
{{main|advancedsettings.xml}}&lt;br /&gt;
If you don&#039;t already have an [[advancedsettings.xml]] file, it&#039;s very simple to make. Kodi uses this file for advanced settings and features that normal users shouldn&#039;t modify without first knowing what they do, as well as for experimental features, etc.&lt;br /&gt;
&lt;br /&gt;
# Create a &#039;&#039;&#039;plain text file&#039;&#039;&#039; (no rich text formatting, don&#039;t use .doc, etc) and save it as &#039;&#039;&#039;advancedsettings.xml&#039;&#039;&#039;. Make sure that the file extension is &amp;quot;.xml&amp;quot; and &#039;&#039;&#039;not&#039;&#039;&#039; &amp;quot;.txt&amp;quot; or &amp;quot;.xml.txt&amp;quot;.&lt;br /&gt;
# Cut and paste this into your new plain text file:&lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
  &amp;lt;video&amp;gt;&lt;br /&gt;
    &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;  &amp;lt;!-- Delay range for subtitles, in seconds. --&amp;gt;&lt;br /&gt;
    &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;  &amp;lt;!-- Delay range for audio/video sync, in seconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Change the two values between the tags to fit your situation.&lt;br /&gt;
# Save this file in your &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;&lt;br /&gt;
#: &#039;&#039;If you have an existing file, make sure the &amp;lt;video&amp;gt;&amp;lt;/video&amp;gt; tags, and settings we&#039;ll add between them, are between the main &amp;lt;advancedsettings&amp;gt;&amp;lt;/advancedsettings&amp;gt; tags.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Forced Subtitles ===&lt;br /&gt;
Many movies have subtitles encoded for secondary languages spoken during the film – when these are added to the movie, they are known as forced subtitles and are always visible (despite not being hard encoded). Kodi (since v13 Gotham) recognizes and respects the forced flag for showing subtitles (even if subtitles are turned off by default, the forced flag will trigger them being turned on). This requires that the user have set the default languages in Settings in order to function properly.  If there are multiple forced subtitles, Kodi will select the forced subtitles that match the default playback language. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Internal Forced Subtitles&lt;br /&gt;
If you are using an .mkv file, the forced subtitles may be included in the file when originally encoded. If so, Kodi will automatically recognize that they are present and will display them at the appropriate times. If they are not included, or if the header was not properly edited, you will need to use external subtitles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; External Forced Subtitles&lt;br /&gt;
If you are using anything other than an .mkv file, or if your mkv doesn’t have the forced subtitles properly included, the forced flag can be easily added to your external subtitles. Following the same naming conventions listed above, you can then append the forced flag to the end of the subtitle file name. The forced flag can be either upper, lower or mixed case in the filename and can use a “.” (dot), “ “ (space) or “-“ (dash) to separate them from the name of the movie and language of the subtitles. IE:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
Movie Name (2006).English.Forced.srt&lt;br /&gt;
Movie Name (2006).en.forced.srt&lt;br /&gt;
Movie Name (2006).German.Forced.srt&lt;br /&gt;
Movie Name (2006)-Swedish-Forced.srt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
{{github_link|[https://github.com/xbmc/xbmc/blob/master/xbmc/cores/VideoPlayer/VideoPlayer.cpp#L94 Requirements to load subtitles]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{updated|17}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Subtitles|*]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Settings/Player/Language&amp;diff=241370</id>
		<title>Settings/Player/Language</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Settings/Player/Language&amp;diff=241370"/>
		<updated>2022-01-29T15:28:04Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Settings]] | [[Settings/Player|Player]] }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Audio=&lt;br /&gt;
[[File:Player_language_audio.jpg|right|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preferred Audio Language ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Basic&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Defaults to the selected audio language if more than one language is available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prefer default audio streams ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If enabled, audio streams that are flagged as default (and match the preferred language) are preferred over audio streams with higher quality (number of channels, codec, ...)&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Subtitles=&lt;br /&gt;
[[File:Settings-Player-Language-02.jpg|right|500px]]&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preferred Subtitle Language ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Basic&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Defaults to the selected subtitle language if more than one language is available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable parsing for closed captions ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Enable to parse for CC in video streams. Puts slightly more load on the CPU.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle position on screen == &lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Location of subtitles on screen.&amp;lt;br&amp;gt;&lt;br /&gt;
Options are: &#039;&#039;Fixed, Bottom of video, Below video, Top of video, Above video&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stereoscopic 3D depth of subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Sets the visual depth of subtitles for stereoscopic 3D videos. The higher the value, the closer the subtitles will appear to the viewer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Font to use for text subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font type to be used for text based subtitles (such as embedded on video files, streamings or downloaded).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Character set ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font character set to be used for subtitles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font size to be used for subtitles. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Style ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font style to be used for subtitles. &amp;lt;br&amp;gt;&lt;br /&gt;
Options are: &#039;&#039;Normal, Bold, Italics, Bold italics&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the font colour to be used for subtitles. If subtitles are too bright on your display, select another colour here.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Used to make subtitles transparent. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/16106&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Can be used to overcome bright subtitles when viewing HDR content. On LCD TV&#039;s with local dimming, it can reduce unwanted picture brightness adjustments.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background colour ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set the colour to be used for the subtitle background. Used as required to make subtitles easier to read.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background opacity ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Adjust the transparency level for the subtitle background.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Override ASS/SSA subtitle fonts ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}}&lt;br /&gt;
| Expert&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If predefined fonts are given with the subtitle file enable this setting to override them.&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Download Services=&lt;br /&gt;
[[File:Player_language_download-services.jpg|right|500px]]&lt;br /&gt;
&lt;br /&gt;
{{See|Subtitles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Languages to download subtitles for ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Set which language subtitles to search and download.&amp;lt;br&amp;gt;&lt;br /&gt;
Check with your selected subtitle provider if subtitles are not found in the specified language.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtitle storage location ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Specify where downloaded subtitles should be saved, the same location as the video or a custom location. &lt;br /&gt;
Options: &#039;&#039;Next to the video&#039;&#039; or &#039;&#039;Custom location&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom subtitle folder ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| If you chose &#039;&#039;Custom location&#039;&#039; in the previous setting, set the location with this setting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pause when searching for subtitles ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Pause the current video while searching for subtitles and resume once the subtitle is available. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auto download first subtitle ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Advanced&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Automatically download first subtitle from the search result list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default TV service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for TV-show subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default movie service ==&lt;br /&gt;
{|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| width=120px | {{nowrap|&#039;&#039;&#039;Settings level:&#039;&#039;&#039;}} &lt;br /&gt;
| Standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Description:&#039;&#039;&#039;&lt;br /&gt;
| Select the service that will be used as default to search for movie subtitles.&amp;lt;br&amp;gt;&lt;br /&gt;
If none are listed, use the &#039;&#039;Get more...&#039;&#039; button&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=InfoLabels&amp;diff=241294</id>
		<title>InfoLabels</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=InfoLabels&amp;diff=241294"/>
		<updated>2022-01-21T08:07:43Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use infolabels with $INFO[infolabel] or the &amp;lt;info&amp;gt; tag. Scripts can read infolabels with &amp;lt;code&amp;gt;xbmc.getInfoLabel(&#039;infolabel&#039;)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
An up-to-date list can be found here [https://github.com/xbmc/xbmc/blob/master/xbmc/GUIInfoManager.cpp GUIInfoManager.cpp]&lt;br /&gt;
&lt;br /&gt;
=== Container ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Container.Content&lt;br /&gt;
|  Shows content of the current container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.FolderPath&lt;br /&gt;
|  Shows complete path of currently displayed folder&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.FolderName&lt;br /&gt;
|  Shows top most folder in currently displayed folder&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.Viewmode&lt;br /&gt;
|  Returns the current viewmode (list, icons etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.SortMethod&lt;br /&gt;
|  Returns the current sort method (returns the localized name of: title, year, rating, etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.SortOrder&lt;br /&gt;
|  Returns the current sort order (Ascending/Descending)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.PluginName&lt;br /&gt;
|  Returns the current plugins base folder name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.PluginCategory&lt;br /&gt;
|  Returns the current plugins category (set by the scripter)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.ShowPlot&lt;br /&gt;
|  Returns the TV Show plot of the current container and can be used at season and episode level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.ShowTitle&lt;br /&gt;
|  Returns the TV Show title of the current container and can be used at season and episode level&lt;br /&gt;
|  v17 addition&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).NumPages&lt;br /&gt;
|  Number of pages in the container with given id.  If no id is specified it grabs the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).NumItems&lt;br /&gt;
|  Number of items in the container or grouplist with given id.  If no id is specified it grabs the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).NumAllItems&lt;br /&gt;
|  Number of all items in the container or grouplist with given id including parent folder item.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).NumNonFolderItems&lt;br /&gt;
|  Number of items in the container or grouplist with given id excluding all folder items.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).CurrentPage&lt;br /&gt;
|  Current page in the container with given id.  If no id is specified it grabs the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).CurrentItem&lt;br /&gt;
|  Current absolute item in the container or grouplist with given id.  If no id is specified it grabs the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).Position&lt;br /&gt;
|  Returns the current focused position of the container / grouplist (id) as a numeric label.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).Column&lt;br /&gt;
|  Returns the column number of the focused position in a panel container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).Row&lt;br /&gt;
|  Returns the row number of the focused position in a panel container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.Totaltime&lt;br /&gt;
|  Returns the total time of all items in the current container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.TotalWatched&lt;br /&gt;
|  Returns the number of watched items in the current container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.TotalUnWatched&lt;br /&gt;
|  Returns the number of unwatched items in the current container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).ListItem(offset).Label&lt;br /&gt;
|  Shows ListItem.Label for a specific List or Panel Container with a offset &#039;&#039;( eg: Container(50).Listitem(2).Label )&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).ListItem(offset).Label2&lt;br /&gt;
|  Shows ListItem.Label2 for a specific List or Panel Container with a offset &#039;&#039;( eg: Container(50).Listitem(-2).Label2 )&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).ListItem(offset).Icon&lt;br /&gt;
|  Shows ListItem.Icon for a specific List or Panel Container with a offset &#039;&#039;( eg: Container(52).Listitem(1).Icon)&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).ListItem(offset).ActualIcon&lt;br /&gt;
|  Shows ListItem.ActualIcon for a specific List or Panel Container with a offset &#039;&#039;( eg: Container(50).Listitem(0).ActualIcon )&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).ListItem(offset).Thumb&lt;br /&gt;
|  Shows ListItem.Thumb for a specific List or Panel Container with a offset &#039;&#039;( eg: Container(50).Listitem(0).Thumb )&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).ListItemNoWrap(offset).Property&lt;br /&gt;
|  Basically returns the same as ListItem(offset) but it won&#039;t wrap. That means if the last item of a list is focused, ListItemNoWrap(1) will be empty while ListItem(1) will return the first item of the list. &#039;&#039;Property&#039;&#039; has to be replaced with Label, Label2, Icon etc. &#039;&#039;( eg: Container(50).ListitemNoWrap(1).Plot )&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).ListItemPosition(id).[infolabel]&lt;br /&gt;
|  Shows the infolabel for an item at position &#039;id&#039; in a Container. the id is an offset to the first *visible* item of the container. &#039;&#039;( eg: Container(50).ListItemPosition(4).Genre )&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).ListItemAbsolute(id).[infolabel]&lt;br /&gt;
|  Shows the infolabel for an item in a Container. the item id is the absolute position in the container. &#039;&#039;( eg: Container(50).ListItemAbsolute(4).Genre )&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.Property(addoncategory)&lt;br /&gt;
|  Returns the current add-on category&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.Property(reponame)&lt;br /&gt;
|  Returns the current add-on repository name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.ViewCount&lt;br /&gt;
| The number of available skin view modes for the current container listing.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Control ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Control.GetLabel(id)[.index()]&lt;br /&gt;
|  Returns the label value or texture name of the control with the given id. Optionally you can specify index(1) to retrieve label2 from an Edit control.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Fanart ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Fanart.Color1&lt;br /&gt;
|  Returns the first of three colors included in the currently selected &#039;&#039;&#039;[[Fanart]]&#039;&#039;&#039; theme for the parent TV Show.  Colors are arranged Lightest to Darkest.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Fanart.Color2&lt;br /&gt;
|  Returns the second of three colors included in the currently selected &#039;&#039;&#039;[[Fanart]]&#039;&#039;&#039; theme for the parent TV Show.  Colors are arranged Lightest to Darkest.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Fanart.Color3&lt;br /&gt;
|  Returns the third of three colors included in the currently selected &#039;&#039;&#039;[[Fanart]]&#039;&#039;&#039; theme for the parent TV Show.  Colors are arranged Lightest to Darkest.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Game ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Game.Title&lt;br /&gt;
|  Name of the game&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
|  Game.Platform&lt;br /&gt;
|  Platform the game runs on (eg. Atari 2600)&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
|  Game.Genres&lt;br /&gt;
|  Gerne of the game (eg. Action)&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
|  Game.Publisher&lt;br /&gt;
|  Publishing company of the game (eg. Nintendo)&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
|  Game.Developer&lt;br /&gt;
|  Developer of the game&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
|  Game.Overview&lt;br /&gt;
|  Game description&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
|  Game.Year&lt;br /&gt;
|  Year the game was released&lt;br /&gt;
| v18&lt;br /&gt;
|-&lt;br /&gt;
|  Game.GameClient&lt;br /&gt;
|  Name of the used emulator&lt;br /&gt;
| v18&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ListItem ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Label&lt;br /&gt;
|  Shows the left label of the currently selected item in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Label2&lt;br /&gt;
|  Shows the right label of the currently selected item in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Title&lt;br /&gt;
|  Shows the title of the currently selected song or movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.OriginalTitle&lt;br /&gt;
|  Shows the original title of the currently selected movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.SortLetter&lt;br /&gt;
|  Shows the first letter of the current file in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.TrackNumber&lt;br /&gt;
|  Shows the track number of the currently selected song in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Artist&lt;br /&gt;
|  Shows the artist of the currently selected song in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AlbumArtist&lt;br /&gt;
|  Shows the artist of the currently selected album in a list&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Born)&lt;br /&gt;
|  Date of Birth of the currently selected Artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Died)&lt;br /&gt;
|  Date of Death of the currently selected Artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Formed)&lt;br /&gt;
|  Formation date of the currently selected Band&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Disbanded)&lt;br /&gt;
|  Disbanding date of the currently selected Band&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_YearsActive)&lt;br /&gt;
|  Years the currently selected artist has been active&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Instrument)&lt;br /&gt;
|  Instruments played by the currently selected artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Description)&lt;br /&gt;
|  Shows a biography of the currently selected artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Mood)&lt;br /&gt;
|  Shows the moods of the currently selected artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Style)&lt;br /&gt;
|  Shows the styles of the currently selected artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Artist_Genre)&lt;br /&gt;
|  Shows the genre of the currently selected artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Listitem.Property(Artist_Sortname)&lt;br /&gt;
|  Sortname of the currently selected Artist&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Listitem.Property(Artist_Type)&lt;br /&gt;
|  Type of the currently selected Artist - person, group, orchestra, choir etc.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Listitem.Property(Artist_Gender)&lt;br /&gt;
|  Gender of the currently selected Artist - male, female, other&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Listitem.Property(Artist_Disambiguation)&lt;br /&gt;
|  Brief description of the currently selected Artist that differentiates them from others with the same name&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Album&lt;br /&gt;
|  Shows the album of the currently selected song in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_Mood)&lt;br /&gt;
|  Shows the moods of the currently selected Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_Style)&lt;br /&gt;
|  Shows the styles of the currently selected Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_Theme)&lt;br /&gt;
|  Shows the themes of the currently selected Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_Type)&lt;br /&gt;
|  Shows the Album Type (e.g. compilation, enhanced, explicit lyrics) of the currently selected Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_Label)&lt;br /&gt;
|  Shows the record label of the currently selected Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_Description)&lt;br /&gt;
|  Shows a review of the currently selected Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_Rating)&lt;br /&gt;
|  Shows the scraped rating of the currently selected Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_UserRating)&lt;br /&gt;
|  Shows the user rating of the currently selected Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.DiscNumber&lt;br /&gt;
|  Shows the disc number of the currently selected song in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Year&lt;br /&gt;
|  Shows the year of the currently selected song, album or movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Premiered&lt;br /&gt;
|  Shows the release/aired date of the currently selected episode, show, movie or EPG item in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Genre&lt;br /&gt;
|  Shows the genre of the currently selected song, album or movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Director&lt;br /&gt;
|  Shows the director of the currently selected movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Country&lt;br /&gt;
|  Shows the production country of the currently selected movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Episode&lt;br /&gt;
|  Shows the episode number value for the currently selected episode. It also shows the number of total, watched or unwatched episodes for the currently selected tvshow or season, based on the the current watched filter.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Season&lt;br /&gt;
|  Shows the season value for the currently selected tvshow&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.TVShowTitle&lt;br /&gt;
|  Shows the name value for the currently selected tvshow in the season and episode depth of the video library&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(TotalSeasons)&lt;br /&gt;
|  Shows the total number of seasons for the currently selected tvshow&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(TotalEpisodes)&lt;br /&gt;
|  Shows the total number of episodes for the currently selected tvshow or season&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(WatchedEpisodes)&lt;br /&gt;
|  Shows the number of watched episodes for the currently selected tvshow or season&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(UnWatchedEpisodes)&lt;br /&gt;
|  Shows the number of unwatched episodes for the currently selected tvshow or season&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(NumEpisodes)&lt;br /&gt;
|  Shows the number of total, watched or unwatched episodes for the currently selected tvshow or season, based on the the current watched filter.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureAperture&lt;br /&gt;
|  Shows the F-stop used to take the selected picture. This is the value of the EXIF FNumber tag (hex code 0x829D).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureAuthor&lt;br /&gt;
|  Shows the name of the person involved in writing about the selected picture. This is the value of the IPTC Writer tag (hex code 0x7A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureByline&lt;br /&gt;
|  Shows the name of the person who created the selected picture.  This is the value of the IPTC Byline tag (hex code 0x50).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureBylineTitle&lt;br /&gt;
|  Shows the title of the person who created the selected picture. This is the value of the IPTC BylineTitle tag (hex code 0x55).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCamMake&lt;br /&gt;
|  Shows the manufacturer of the camera used to take the selected picture. This is the value of the EXIF Make tag (hex code 0x010F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCamModel&lt;br /&gt;
|  Shows the manufacturer&#039;s model name or number of the camera used to take the selected picture. This is the value of the EXIF Model tag (hex code 0x0110).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCaption&lt;br /&gt;
|  Shows a description of the selected picture. This is the value of the IPTC Caption tag (hex code 0x78).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCategory&lt;br /&gt;
|  Shows the subject of the selected picture as a category code. This is the value of the IPTC Category tag (hex code 0x0F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCCDWidth&lt;br /&gt;
|  Shows the width of the CCD in the camera used to take the selected picture. This is calculated from three EXIF tags (0xA002 * 0xA210 / 0xA20e).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCity&lt;br /&gt;
|  Shows the city where the selected picture was taken. This is the value of the IPTC City tag (hex code 0x5A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureColour&lt;br /&gt;
|  Shows whether the selected picture is &amp;quot;Colour&amp;quot; or &amp;quot;Black and White&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureComment&lt;br /&gt;
|  Shows a description of the selected picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is the same value as Slideshow.SlideComment.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCopyrightNotice&lt;br /&gt;
|  Shows the copyright notice of the selected picture. This is the value of the IPTC Copyright tag (hex code 0x74).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCountry&lt;br /&gt;
|  Shows the full name of the country where the selected picture was taken. This is the value of the IPTC CountryName tag (hex code 0x65).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCountryCode&lt;br /&gt;
|  Shows the country code of the country where the selected picture was taken. This is the value of the IPTC CountryCode tag (hex code 0x64).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureCredit&lt;br /&gt;
|  Shows who provided the selected picture. This is the value of the IPTC Credit tag (hex code 0x6E).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureDate&lt;br /&gt;
|  Shows the localized date of the selected picture. The short form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureDatetime&lt;br /&gt;
|  Shows the date/timestamp of the selected picture. The localized short form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureDesc&lt;br /&gt;
|  Shows a short description of the selected picture. The SlideComment, EXIFComment, or Caption values might contain a longer description. This is the value of the EXIF ImageDescription tag (hex code 0x010E).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureDigitalZoom&lt;br /&gt;
|  Shows the digital zoom ratio when the selected picture was taken. This is the value of the EXIF DigitalZoomRatio tag (hex code 0xA404).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureExpMode&lt;br /&gt;
|  Shows the exposure mode of the selected picture. The possible values are &amp;quot;Automatic&amp;quot;, &amp;quot;Manual&amp;quot;, and &amp;quot;Auto bracketing&amp;quot;. This is the value of the EXIF ExposureMode tag (hex code 0xA402).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureExposure&lt;br /&gt;
|  Shows the class of the program used by the camera to set exposure when the selected picture was taken. Values include &amp;quot;Manual&amp;quot;, &amp;quot;Program (Auto)&amp;quot;, &amp;quot;Aperture priority (Semi-Auto)&amp;quot;, &amp;quot;Shutter priority (semi-auto)&amp;quot;, etc. This is the value of the EXIF ExposureProgram tag (hex code 0x8822).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureExposureBias&lt;br /&gt;
|  Shows the exposure bias of the selected picture. Typically this is a number between -99.99 and 99.99. This is the value of the EXIF ExposureBiasValue tag (hex code 0x9204).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureExpTime&lt;br /&gt;
|  Shows the exposure time of the selected picture, in seconds. This is the value of the EXIF ExposureTime tag (hex code 0x829A). If the ExposureTime tag is not found, the ShutterSpeedValue tag (hex code 0x9201) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureFlashUsed&lt;br /&gt;
|  Shows the status of flash when the selected picture was taken. The value will be either &amp;quot;Yes&amp;quot; or &amp;quot;No&amp;quot;, and might include additional information. This is the value of the EXIF Flash tag (hex code 0x9209).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureFocalLen&lt;br /&gt;
|  Shows the lens focal length of the selected picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureFocusDist&lt;br /&gt;
|  Shows the focal length of the lens, in mm. This is the value of the EXIF FocalLength tag (hex code 0x920A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureGPSLat&lt;br /&gt;
|  Shows the latitude where the selected picture was taken (degrees, minutes, seconds North or South). This is the value of the EXIF GPSInfo.GPSLatitude and GPSInfo.GPSLatitudeRef tags.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureGPSLon&lt;br /&gt;
|  Shows the longitude where the selected picture was taken (degrees, minutes, seconds East or West). This is the value of the EXIF GPSInfo.GPSLongitude and GPSInfo.GPSLongitudeRef tags.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureGPSAlt&lt;br /&gt;
|  Shows the altitude in meters where the selected picture was taken. This is the value of the EXIF GPSInfo.GPSAltitude tag.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureHeadline&lt;br /&gt;
|  Shows a synopsis of the contents of the selected picture. This is the value of the IPTC Headline tag (hex code 0x69).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureImageType&lt;br /&gt;
|  Shows the color components of the selected picture. This is the value of the IPTC ImageType tag (hex code 0x82).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureIPTCDate&lt;br /&gt;
|  Shows the date when the intellectual content of the selected picture was created, rather than when the picture was created. This is the value of the IPTC DateCreated tag (hex code 0x37).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureIPTCTime&lt;br /&gt;
|  Shows the time when the intellectual content of the selected picture was created, rather than when the picture was created. This is the value of the IPTC TimeCreated tag (hex code 0x3C).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureISO&lt;br /&gt;
|  Shows the ISO speed of the camera when the selected picture was taken. This is the value of the EXIF ISOSpeedRatings tag (hex code 0x8827).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureKeywords&lt;br /&gt;
|  Shows keywords assigned to the selected picture. This is the value of the IPTC Keywords tag (hex code 0x19).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureLightSource&lt;br /&gt;
|  Shows the kind of light source when the picture was taken. Possible values include &amp;quot;Daylight&amp;quot;, &amp;quot;Fluorescent&amp;quot;, &amp;quot;Incandescent&amp;quot;, etc. This is the value of the EXIF LightSource tag (hex code 0x9208).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureLongDate&lt;br /&gt;
|  Shows only the localized date of the selected picture. The long form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureLongDatetime&lt;br /&gt;
|  Shows the date/timestamp of the selected picture. The localized long form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. if the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureMeteringMode&lt;br /&gt;
|  Shows the metering mode used when the selected picture was taken. The possible values are &amp;quot;Center weight&amp;quot;, &amp;quot;Spot&amp;quot;, or &amp;quot;Matrix&amp;quot;. This is the value of the EXIF MeteringMode tag (hex code 0x9207).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureObjectName&lt;br /&gt;
|  Shows a shorthand reference for the selected picture. This is the value of the IPTC ObjectName tag (hex code 0x05).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureOrientation&lt;br /&gt;
|  Shows the orientation of the selected picture. Possible values are &amp;quot;Top Left&amp;quot;, &amp;quot;Top Right&amp;quot;, &amp;quot;Left Top&amp;quot;, &amp;quot;Right Bottom&amp;quot;, etc. This is the value of the EXIF Orientation tag (hex code 0x0112).&lt;br /&gt;
|&lt;br /&gt;
|-     &lt;br /&gt;
|  ListItem.PicturePath&lt;br /&gt;
|  Shows the filename and path of the selected picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureProcess&lt;br /&gt;
|  Shows the process used to compress the selected picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureReferenceService&lt;br /&gt;
|  Shows the Service Identifier of a prior envelope to which the selected picture refers. This is the value of the IPTC ReferenceService tag (hex code 0x2D).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureResolution&lt;br /&gt;
|  Shows the dimensions of the selected picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureSource&lt;br /&gt;
|  Shows the original owner of the selected picture. This is the value of the IPTC Source tag (hex code 0x73).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureSpecialInstructions&lt;br /&gt;
|  Shows other editorial instructions concerning the use of the selected picture. This is the value of the IPTC SpecialInstructions tag (hex code 0x28).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureState&lt;br /&gt;
|  Shows the State/Province where the selected picture was taken. This is the value of the IPTC ProvinceState tag (hex code 0x5F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureSublocation&lt;br /&gt;
|  Shows the location within a city where the selected picture was taken - might indicate the nearest landmark. This is the value of the IPTC SubLocation tag (hex code 0x5C).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureSupplementalCategories&lt;br /&gt;
|  Shows supplemental category codes to further refine the subject of the selected picture. This is the value of the IPTC SuppCategory tag (hex code 0x14).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureTransmissionReference&lt;br /&gt;
|  Shows a code representing the location of original transmission of the selected picture. This is the value of the IPTC TransmissionReference tag (hex code 0x67).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureUrgency&lt;br /&gt;
|  Shows the urgency of the selected picture. Values are 1-9. The &amp;quot;1&amp;quot; is most urgent. Some image management programs use urgency to indicate picture rating, where urgency &amp;quot;1&amp;quot; is 5 stars and urgency &amp;quot;5&amp;quot; is 1 star. Urgencies 6-9 are not used for rating. This is the value of the IPTC Urgency tag (hex code 0x0A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PictureWhiteBalance&lt;br /&gt;
|  Shows the white balance mode set when the selected picture was taken. The possible values are &amp;quot;Manual&amp;quot; and &amp;quot;Auto&amp;quot;. This is the value of the EXIF WhiteBalance tag (hex code 0xA403).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.FileName&lt;br /&gt;
|  Shows the filename of the currently selected song or movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.FileNameNoExtension&lt;br /&gt;
|  Returns the filename without its extension.&lt;br /&gt;
|  v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Path&lt;br /&gt;
|  Shows the complete path of the currently selected song or movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.FolderName&lt;br /&gt;
|  Shows top most folder of the path of the currently selected song or movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.FolderPath&lt;br /&gt;
|  Shows the complete path of the currently selected song or movie in a container (without user details).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.FileNameAndPath&lt;br /&gt;
|  Shows the full path with filename of the currently selected song or movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.FileExtension&lt;br /&gt;
|  Shows the file extension (without leading dot) of the currently selected item in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Date&lt;br /&gt;
|  Shows the file date of the currently selected song or movie in a container / Aired date of an episode / Day, start time and end time of current selected TV programme (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.DateAdded&lt;br /&gt;
|  Shows the date the currently selected item was added to the library / Date and time of an event in the EventLog window.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Size&lt;br /&gt;
|  Shows the file size of the currently selected song or movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Rating[(name)]&lt;br /&gt;
|  Shows the scraped rating of the currently selected item in a container. Optionally you can specify the name of the scraper to retrieve a specific rating, for use in dialogvideoinfo.xml.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Set&lt;br /&gt;
|  Shows the name of the set the movie is part of&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.SetId&lt;br /&gt;
|  Shows the id of the set the movie is part of&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.UserRating&lt;br /&gt;
|  Shows the user rating of the currently selected item in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Votes[(name)]&lt;br /&gt;
|  Shows the IMDB votes of the currently selected movie in a container. Optionally you can specify the name of the scraper to retrieve specific votes, for use in dialogvideoinfo.xml.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.RatingAndVotes[(name)]&lt;br /&gt;
|  Shows the IMDB rating and votes of the currently selected movie in a container. Optionally you can specify the name of the scraper to retrieve a specific rating and votes, for use in dialogvideoinfo.xml.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Mpaa&lt;br /&gt;
|  Show the MPAA rating of the currently selected movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ProgramCount&lt;br /&gt;
|  Shows the number of times an xbe has been run from &amp;quot;my programs&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Duration[(format)]&lt;br /&gt;
|  Shows the song or movie duration of the currently selected movie in a container. Optionally specify a time format, hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss). &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.DBTYPE&lt;br /&gt;
|  Shows the database type of the ListItem.DBID for videos (video, movie, set, tvshow, season, episode, musicvideo) or for audio (music, song, album, artist). Beware with season, the &amp;quot;*all seasons&amp;quot; entry does give a DBTYPE &amp;quot;season&amp;quot; and a DBID, but you can&#039;t get the details of that entry since it&#039;s a virtual entry in the Video Library.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.DBID&lt;br /&gt;
|  Shows the database id of the currently selected listitem in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Cast&lt;br /&gt;
|  Shows a concatenated string of cast members of the currently selected movie, for use in dialogvideoinfo.xml&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.CastAndRole&lt;br /&gt;
|  Shows a concatenated string of cast members and roles of the currently selected movie, for use in dialogvideoinfo.xml&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Studio&lt;br /&gt;
|  Studio of current selected Music Video in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Top250&lt;br /&gt;
|  Shows the IMDb top250 position of the currently selected listitem in a container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Trailer&lt;br /&gt;
|  Shows the full trailer path with filename of the currently selected movie in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Writer&lt;br /&gt;
|  Name of Writer of current Video in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Tagline&lt;br /&gt;
|  Small Summary of current Video in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PlotOutline&lt;br /&gt;
|  Small Summary of current Video in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Plot&lt;br /&gt;
|  Complete Text Summary of Video in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.IMDBNumber&lt;br /&gt;
|  The IMDB iD of the selected Video in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.EpisodeName&lt;br /&gt;
|  (PVR only) The name of the episode if the selected EPG item is a TV Show&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PercentPlayed&lt;br /&gt;
|  Returns percentage value [0-100] of how far the selected video has been played&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.LastPlayed&lt;br /&gt;
|  Last play date of Video in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PlayCount&lt;br /&gt;
|  Playcount of Video in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.StartTime&lt;br /&gt;
|  Start time of current selected TV programme in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.EndTime&lt;br /&gt;
|  End time of current selected TV programme in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.StartDate&lt;br /&gt;
|  Start date of current selected TV programme in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ChannelName&lt;br /&gt;
|  Name of current selected TV channel in a container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.VideoCodec&lt;br /&gt;
|  Shows the video codec of the currently selected video (common values: 3iv2, avc1, div2, div3, divx, divx 4, dx50, flv, h264, microsoft, mp42, mp43, mp4v, mpeg1video, mpeg2video, mpg4, rv40, svq1, svq3, theora, vp6f, wmv2, wmv3, wvc1, xvid)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.VideoResolution&lt;br /&gt;
|  Shows the resolution of the currently selected video (possible values: 480, 576, 540, 720, 1080, 4K, 8K [Note: v18 addition]). Note that 540 usually means a widescreen format (around 960x540) while 576 means PAL resolutions (normally 720x576), therefore 540 is actually better resolution than 576.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.VideoAspect&lt;br /&gt;
|  Shows the aspect ratio of the currently selected video (possible values: 1.33, 1.37, 1.66, 1.78, 1.85, 2.20, 2.35, 2.40, 2.55, 2.76, {{note|Kodi v20: 1.00, 1.19, 2.00 }})&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AudioCodec&lt;br /&gt;
|  Shows the audio codec of the currently selected video (common values: aac, ac3, cook, dca, dtshd_hra, dtshd_ma, eac3, mp1, mp2, mp3, pcm_s16be, pcm_s16le, pcm_u8, truehd, vorbis, wmapro, wmav2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AudioChannels&lt;br /&gt;
|  Shows the number of audio channels of the currently selected video (possible values: 1, 2, 4, 5, 6, 7, 8, 10)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AudioLanguage&lt;br /&gt;
|  Shows the audio language of the currently selected video (returns an ISO 639-2 three character code, e.g. eng, epo, deu)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.SubtitleLanguage&lt;br /&gt;
|  Shows the subtitle language of the currently selected video (returns an ISO 639-2 three character code, e.g. eng, epo, deu)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(AudioCodec.[n])&lt;br /&gt;
|  Shows the audio codec of the currently selected video, &#039;n&#039; defines the number of the audiostream (values: see ListItem.AudioCodec)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(AudioChannels.[n])&lt;br /&gt;
|  Shows the number of audio channels of the currently selected video, &#039;n&#039; defines the number of the audiostream (values: see ListItem.AudioChannels)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(AudioLanguage.[n])&lt;br /&gt;
|  Shows the audio language of the currently selected video, &#039;n&#039; defines the number of the audiostream (values: see ListItem.AudioLanguage)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(SubtitleLanguage.[n])&lt;br /&gt;
|  Shows the subtitle language of the currently selected video, &#039;n&#039; defines the number of the subtitle (values: see ListItem.SubtitleLanguage)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonName&lt;br /&gt;
|  Shows the name of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonVersion&lt;br /&gt;
|  Shows the version of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonSummary&lt;br /&gt;
|  Shows a short description of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonDescription&lt;br /&gt;
|  Shows the full description of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonType&lt;br /&gt;
|  Shows the type (screensaver, script, skin, etc...) of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonCreator&lt;br /&gt;
|  Shows the name of the author the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonDisclaimer&lt;br /&gt;
|  Shows the disclaimer of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonBroken&lt;br /&gt;
|  Deprecated! use ListItem.AddonLifecycleDesc instead&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Addon.Changelog)&lt;br /&gt;
|  Shows the changelog of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Addon.ID)&lt;br /&gt;
|  Shows the identifier of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Addon.Status)&lt;br /&gt;
|  Shows the status of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Addon.Path)&lt;br /&gt;
|  Shows the path of the currently selected addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.StartTime&lt;br /&gt;
|  Start time of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.EndTime&lt;br /&gt;
|  End time of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.StartDate&lt;br /&gt;
|  Start date of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.EndDate&lt;br /&gt;
|  End date of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.NextTitle&lt;br /&gt;
|  Title of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.NextGenre&lt;br /&gt;
|  Genre of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.NextPlot&lt;br /&gt;
|  Plot of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.NextPlotOutline&lt;br /&gt;
|  Plot outline of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.NextStartTime&lt;br /&gt;
|  Start time of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.NextEndTime&lt;br /&gt;
|  End of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.NextStartDate&lt;br /&gt;
|  Start date of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.NextEndDate&lt;br /&gt;
|  End date of the next item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Listitem.NextDuration&lt;br /&gt;
|  Duration of the next item (PVR).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ChannelName&lt;br /&gt;
|  Channelname of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ChannelNumber&lt;br /&gt;
|  Channel number of the selected item (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ChannelNumberLabel&lt;br /&gt;
|  Channel and subchannel number of the currently selected channel that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Progress&lt;br /&gt;
|  Part of the programme that&#039;s been played (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.StereoscopicMode&lt;br /&gt;
|  Returns the stereomode of the selected video (i.e. mono, split_vertical, split_horizontal, row_interleaved, anaglyph_cyan_red, anaglyph_green_magenta)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Comment&lt;br /&gt;
|  Comment assigned to the item (PVR/MUSIC).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonInstallDate&lt;br /&gt;
| Date the addon was installed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonLastUpdated&lt;br /&gt;
| Date the addon was last updated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonLastUsed&lt;br /&gt;
| Date the addon was used last&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonNews&lt;br /&gt;
| Returns a brief changelog, taken from the addons&#039; addon.xml file&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AddonSize&lt;br /&gt;
| Filesize of the addon&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Contributors&lt;br /&gt;
| List of all people who&#039;ve contributed to the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ContributorAndRole&lt;br /&gt;
| List of all people and their role who&#039;ve contributed to the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.EndTimeResume&lt;br /&gt;
| Returns the time a video will end if you resume it, instead of playing it from the beginning.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Mood&lt;br /&gt;
| Mood of the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Status&lt;br /&gt;
| For use with tv shows. It can return one of the following: &#039;returning series&#039;,&#039;in production&#039;,&#039;planned&#039;,&#039;cancelled&#039; or &#039;ended&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Tag&lt;br /&gt;
| Will return the name of the &#039;tag&#039; this movie is part of.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Arranger)&lt;br /&gt;
| Returns the name of the person who arranged the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Composer)&lt;br /&gt;
| Returns the name of the person who composed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Conductor)&lt;br /&gt;
| Returns the name of the person who conducted the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.DJMixer)&lt;br /&gt;
| Returns the name of the dj who remixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Engineer)&lt;br /&gt;
| Returns the name of the person who was the engineer of the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Lyricist)&lt;br /&gt;
| Returns the name of the person who wrote the lyrics of the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Mixer)&lt;br /&gt;
| Returns the name of the person who mixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Orchestra)&lt;br /&gt;
| Returns the name of the orchestra performing the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Producer)&lt;br /&gt;
| Returns the name of the person who produced the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Role.Remixer)&lt;br /&gt;
| Returns the name of the person who remixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Album_Duration)&lt;br /&gt;
| Returns the duration of an album in HH:MM:SS&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Appearances&lt;br /&gt;
| Returns the number of movies featuring the selected actor / directed by the selected director&lt;br /&gt;
| v17 addition&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.PrivacyPolicy&lt;br /&gt;
| Returns the official Kodi privacy-policy&lt;br /&gt;
| v17 addition&lt;br /&gt;
|-&lt;br /&gt;
|  Listitem.Property(game.videofilter)&lt;br /&gt;
|  Name of the video filter (eg. Bilinear)&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Listitem.Property(game.stretchmode)&lt;br /&gt;
|  Name of the stretch mode (eg. Stretch 4:3)&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Listitem.Property(game.videorotation)&lt;br /&gt;
|  Angle of the rotation&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
| ListItem.CurrentItem&lt;br /&gt;
| will return the current index of the item in a container starting at 1.&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.DiscTitle&lt;br /&gt;
| The disc title of the currently selected album or song&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.TotalDiscs&lt;br /&gt;
| The total amount of discs belonging to an album&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.IsBoxset&lt;br /&gt;
| Returns true if the item is part of a boxset&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ReleaseDate&lt;br /&gt;
| Returns the release date of the current item&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.OriginalDate&lt;br /&gt;
| Returns the original release date of the item&lt;br /&gt;
|v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.BPM&lt;br /&gt;
| Returns the Beats Per Minute for a song&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.BitRate&lt;br /&gt;
| Returns the bitrate of the current song (Actual rate for CBR, average rate for VBR)&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.SampleRate&lt;br /&gt;
| Returns the sample rate of a song / 1000.0 eg 44.1, 48, 96 etc&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.MusicChannels&lt;br /&gt;
| Returns the number of audio channels for a song&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.AlbumStatus&lt;br /&gt;
| Returns the Musicbrainz release status of the album (offical, bootleg, promotion etc)&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| ListItem.UniqueID()&lt;br /&gt;
| Returns the UniqueID of the selected item in a container&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| ListItem.TvShowDBID&lt;br /&gt;
| Returns the tv show DBID of the selected season or episode a container&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| ListItem.AddonLifecycleType&lt;br /&gt;
| The Lifecycle type of the addon (returns a localized string: normal / broken / deprecated)&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| ListItem.AddonLifecycleDesc&lt;br /&gt;
| Description of the Lifecycle type (example: broken due to website changes)&lt;br /&gt;
| v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Musicpartymode labels ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPartyMode.SongsPlayed&lt;br /&gt;
|  Number of songs played during Party Mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPartyMode.MatchingSongs&lt;br /&gt;
|  Number of songs available to Party Mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPartyMode.MatchingSongsPicked&lt;br /&gt;
|  Number of songs picked already for Party Mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPartyMode.MatchingSongsLeft&lt;br /&gt;
|  Number of songs left to be picked from for Party Mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPartyMode.RelaxedSongsPicked&lt;br /&gt;
|  Not currently used&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPartyMode.RandomSongsPicked&lt;br /&gt;
|  Number of unique random songs picked during Party Mode&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Network labels ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Network.IsDHCP&lt;br /&gt;
|  Network type is DHCP or FIXED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Network.IPAddress&lt;br /&gt;
|  The system&#039;s IP Address (&amp;lt;ipaddress&amp;gt; is returned as a string)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Network.LinkState&lt;br /&gt;
|  Network linkstate e.g. 10mbit/100mbit etc.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Network.MacAddress&lt;br /&gt;
|  The system&#039;s  mac address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Network.SubnetMask&lt;br /&gt;
|  Network subnet mask&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Network.GatewayAddress&lt;br /&gt;
|  Network gateway address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Network.DNS1Address&lt;br /&gt;
|  Network dns server 1 address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Network.DNS2Address&lt;br /&gt;
|  Network dns server 2 address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Network.DHCPAddress&lt;br /&gt;
|  DHCP server ip address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Player labels ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Player.FinishTime&lt;br /&gt;
|  Time playing media will end&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.FinishTime(format)&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Chapter&lt;br /&gt;
|  Current chapter of current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.ChapterCount&lt;br /&gt;
|  Total number of chapters of current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Time&lt;br /&gt;
|  Elapsed time of current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Time(format)&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.TimeRemaining&lt;br /&gt;
|  Remaining time of current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.TimeRemaining(format)&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Duration&lt;br /&gt;
|  Total duration of the current playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Duration(format)&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.SeekTime&lt;br /&gt;
|  Time to which the user is seeking&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.SeekBar&lt;br /&gt;
|  Time to which the user is seeking as a percentage (for use in slider controls)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.SeekOffset&lt;br /&gt;
|  Indicates the seek offset after a seek press (eg user presses BigStepForward, player.seekoffset returns +10:00)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.SeekOffset(format)&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.SeekStepSize&lt;br /&gt;
|  Displays the seek step size. (v15 addition)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Progress&lt;br /&gt;
|  Shows how much (percentage) of the file has been played&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.ProgressCache&lt;br /&gt;
|  Shows how much of the file is cached above current play percentage&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Folderpath&lt;br /&gt;
|  Shows the full path of the currently playing song or movie. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Filenameandpath&lt;br /&gt;
|  Shows the full path with filename of the currently playing song or movie. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.StartTime&lt;br /&gt;
|  Returns the starttime (from the epg) of a tv program, for all other videos it will return the time you started watching this video.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.StartTime(format)&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Title&lt;br /&gt;
|  Returns the musicplayer title for audio and the videoplayer title for videos. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Filename&lt;br /&gt;
|  Returns the filename of the currently playing media. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Volume&lt;br /&gt;
| Returns the volume level in dB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.PlaySpeed&lt;br /&gt;
|  Current playspeed. (range:0.8 to 1.5)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(AudioBitsPerSample)&lt;br /&gt;
| Bits per sample of the currently playing item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(AudioChannels)&lt;br /&gt;
| Number of audiochannels of the currently playing item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(AudioDecoder)&lt;br /&gt;
| Audiodecoder name of the currently playing item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(AudioSamplerate)&lt;br /&gt;
| Samplerate  f the currently playing item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(DeintMethod)&lt;br /&gt;
| Deinterlace method of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(PixFormat)&lt;br /&gt;
| Pixel format of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(VideoDAR)&lt;br /&gt;
| Display aspect ratio of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(VideoFPS)&lt;br /&gt;
| Video framerate of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(VideoHeight)&lt;br /&gt;
| Height of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(VideoDecoder)&lt;br /&gt;
| Videodecoder name of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Process(VideoWidth)&lt;br /&gt;
| Width of the currently playing video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Player.Process(VideoScanType)&lt;br /&gt;
| The scan type identifier of the currently playing video &#039;&#039;&#039;p&#039;&#039;&#039; (for progressive) or &#039;&#039;&#039;i&#039;&#039;&#039; (for interlaced)&lt;br /&gt;
| v20&lt;br /&gt;
|-&lt;br /&gt;
| Player.CutList&lt;br /&gt;
| this infolabel can be used with the [[Ranges Control]], as EDL and chapter markers &lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| Player.Chapters&lt;br /&gt;
| this infolabel can be used with the [[Ranges Control]], as EDL and chapter markers &lt;br /&gt;
| v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Music player ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Title&lt;br /&gt;
|  Title of the currently playing song,  also available are &amp;quot;MusicPlayer.offset(number).Title&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Title&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Album&lt;br /&gt;
|  Album from which the current song is from,   also available are &amp;quot;MusicPlayer.offset(number).Album&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Album&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Album_Mood)&lt;br /&gt;
|  Shows the moods of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Album_Style)&lt;br /&gt;
|  Shows the styles of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Album_Theme)&lt;br /&gt;
|  Shows the themes of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Album_Type)&lt;br /&gt;
|  Shows the Album Type (e.g. compilation, enhanced, explicit lyrics) of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Album_Label)&lt;br /&gt;
|  Shows the record label of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Album_Description)&lt;br /&gt;
|  Shows a review of the currently playing Album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Artist&lt;br /&gt;
|  Artist(s) of current song,  also available are &amp;quot;MusicPlayer.offset(number).Artist&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Artist&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Born)&lt;br /&gt;
|  Date of Birth of the currently playing Artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Died)&lt;br /&gt;
|  Date of Death of the currently playing Artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Formed)&lt;br /&gt;
|  Formation date of the currently playing Artist/Band&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Disbanded)&lt;br /&gt;
|  Disbanding date of the currently playing Artist/Band&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_YearsActive)&lt;br /&gt;
|  Years the currently Playing artist has been active&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Instrument)&lt;br /&gt;
|  Instruments played by the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Description)&lt;br /&gt;
|  Shows a biography of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Mood)&lt;br /&gt;
|  Shows the moods of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Style)&lt;br /&gt;
|  Shows the styles of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Genre)&lt;br /&gt;
|  Shows the genre of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Sortname)&lt;br /&gt;
|  Sortname of the currently playing Artist&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Type)&lt;br /&gt;
|  Type of the currently playing Artist - person, group, orchestra, choir etc.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Gender)&lt;br /&gt;
|  Gender of the currently playing Artist - male, female, other&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Artist_Disambiguation)&lt;br /&gt;
|  Brief description of the currently playing Artist that differentiates them from others with the same name&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Genre&lt;br /&gt;
|  Genre(s) of current song,  also available are &amp;quot;MusicPlayer.offset(number).Genre&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Genre&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Lyrics&lt;br /&gt;
|  Lyrics of current song stored in ID tag info&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Year&lt;br /&gt;
|  Year of release of current song,  also available are &amp;quot;MusicPlayer.offset(number).Year&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Year&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Rating&lt;br /&gt;
|  Numeric Rating of current song,  also available are &amp;quot;MusicPlayer.offset(number).Rating&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Rating&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.DiscNumber&lt;br /&gt;
|  Disc Number of current song stored in ID tag info,  also available are &amp;quot;MusicPlayer.offset(number).DiscNumber&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).DiscNumber&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Comment&lt;br /&gt;
|  Comment of current song stored in ID tag info,  also available are &amp;quot;MusicPlayer.offset(number).Comment&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Comment&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Time&lt;br /&gt;
|  Current time in song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.TimeRemaining&lt;br /&gt;
|  Current remaining time in song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.TimeSpeed&lt;br /&gt;
|  Both the time and the playspeed formatted up. eg 1:23 (2x)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.TrackNumber&lt;br /&gt;
|  Track number of current song,   also available are &amp;quot;MusicPlayer.offset(number).TrackNumber&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).TrackNumber&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Duration&lt;br /&gt;
|  Duration of current song,   also available are &amp;quot;MusicPlayer.offset(number).Duration&amp;quot; offset is relative to the current playing item and &amp;quot;MusicPlayer.Position(number).Duration&amp;quot; position is relative to the start of the playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.BitRate&lt;br /&gt;
|  Bitrate of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Channels&lt;br /&gt;
|  Number of channels of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.BitsPerSample&lt;br /&gt;
|  Number of bits per sample of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.SampleRate&lt;br /&gt;
|  Samplerate of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Codec&lt;br /&gt;
|  Codec of current song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.PlaylistPosition&lt;br /&gt;
|  Position of the current song in the current music playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.PlaylistLength&lt;br /&gt;
|  Total size of the current music playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.ChannelName&lt;br /&gt;
|  Channel name of the radio programme that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.ChannelNumberLabel&lt;br /&gt;
|  Channel and subchannel number of the radio channel that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.ChannelGroup&lt;br /&gt;
|  Channel group of  of the radio programme that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Contributors&lt;br /&gt;
| List of all people who&#039;ve contributed to the currently playing song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.ContributorAndRole&lt;br /&gt;
| List of all people and their role who&#039;ve contributed to the currently playing song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Mood&lt;br /&gt;
| Mood of the currently playing song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Arranger)&lt;br /&gt;
| Returns the name of the person who arranged the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Composer)&lt;br /&gt;
| Returns the name of the person who composed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Conductor)&lt;br /&gt;
| Returns the name of the person who conducted the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.DJMixer)&lt;br /&gt;
| Returns the name of the dj who remixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Engineer)&lt;br /&gt;
| Returns the name of the person who was the engineer of the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Lyricist)&lt;br /&gt;
| Returns the name of the person who wrote the lyrics of the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Mixer)&lt;br /&gt;
| Returns the name of the person who mixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Orchestra)&lt;br /&gt;
| Returns the name of the orchestra performing the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Producer)&lt;br /&gt;
| Returns the name of the person who produced the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Role.Remixer)&lt;br /&gt;
| Returns the name of the person who remixed the selected song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.UserRating&lt;br /&gt;
| The rating the user gave to the currently playing song&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.DBID&lt;br /&gt;
| The database id of the currently playing song&lt;br /&gt;
| v17 Addition&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.DiscTitle&lt;br /&gt;
| The title of the disc currently playing&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.ReleaseDate&lt;br /&gt;
| Returns the release date of the song currently playing&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.OriginalDate&lt;br /&gt;
| Returns the original release date of the song currently playing&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.BPM&lt;br /&gt;
| Returns the Beats Per Minute of the currently playing song&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.TotalDiscs&lt;br /&gt;
| Returns the number of discs associated with the album of the currently playing song&lt;br /&gt;
| v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Video player ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Time&lt;br /&gt;
|  Current time in movie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.TimeRemaining&lt;br /&gt;
|  Current remaining time in movie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.TimeSpeed&lt;br /&gt;
|  Current time + playspeed. eg 1:23:14 (-4x)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Duration&lt;br /&gt;
|  Length of current movie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Title&lt;br /&gt;
|  Title of currently playing video. If it&#039;s in the database it will return the database title, else the filename. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.OriginalTitle&lt;br /&gt;
|  The original title of currently playing video. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.TVShowTitle&lt;br /&gt;
|  Title of currently playing episode&#039;s tvshow name. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Season&lt;br /&gt;
|  Season number of the currently playing episode, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Episode&lt;br /&gt;
|  Episode number of the currently playing episode. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Genre&lt;br /&gt;
|  Genre(s) of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Director&lt;br /&gt;
|  Director of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Country&lt;br /&gt;
|  Production country of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Year&lt;br /&gt;
|  Year of release of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Premiered&lt;br /&gt;
|  The release/aired date of the currently selected episode, show, movie or EPG item. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Rating&lt;br /&gt;
|  IMDb user rating of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.UserRating&lt;br /&gt;
|  Shows the user rating of the currently playing item. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Votes&lt;br /&gt;
|  IMDb votes of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.RatingAndVotes&lt;br /&gt;
|  IMDb user rating and votes of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.mpaa&lt;br /&gt;
|  MPAA rating of current movie, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.IMDBNumber&lt;br /&gt;
|  The IMDB iD of the current video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.EpisodeName&lt;br /&gt;
|  (PVR only) The name of the episode if the playing video is a TV Show, if it&#039;s in the database&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.PlaylistPosition&lt;br /&gt;
|  Position of the current song in the current video playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.PlaylistLength&lt;br /&gt;
|  Total size of the current video playlist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Cast&lt;br /&gt;
|  A concatenated string of cast members of the current movie, if it&#039;s in the database&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.CastAndRole&lt;br /&gt;
|  A concatenated string of cast members and roles of the current movie, if it&#039;s in the database&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Trailer&lt;br /&gt;
|  The trailer of the current movie. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Album&lt;br /&gt;
|  Album from which the current Music Video is from, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Artist&lt;br /&gt;
|  Artist(s) of current Music Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Studio&lt;br /&gt;
|  Studio of current Music Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Writer&lt;br /&gt;
|  Name of Writer of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Tagline&lt;br /&gt;
|  Small Summary of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.PlotOutline&lt;br /&gt;
|  Small Summary of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Plot&lt;br /&gt;
|  Complete Text Summary of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Top250&lt;br /&gt;
|  Shows the IMDb top250 position of the current playing Video. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.LastPlayed&lt;br /&gt;
|  Last play date of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
|  VideoPlayer.PlayCount&lt;br /&gt;
|  Playcount of current playing Video, if it&#039;s in the database. (supports .offset() and .position())&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
|  VideoPlayer.VideoCodec&lt;br /&gt;
|  Shows the video codec of the currently playing video (common values: see ListItem.VideoCodec)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.VideoResolution&lt;br /&gt;
|  Shows the video resolution of the currently playing video (possible values: see ListItem.VideoResolution)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.VideoAspect&lt;br /&gt;
|  Shows the aspect ratio of the currently playing video (possible values: see ListItem.VideoAspect)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.AudioCodec&lt;br /&gt;
|  Shows the audio codec of the currently playing video, optionally &#039;n&#039; defines the number of the audiostream (common values: see ListItem.AudioCodec)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.AudioChannels&lt;br /&gt;
|  Shows the number of audio channels of the currently playing video (possible values: see ListItem.AudioChannels)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.AudioLanguage&lt;br /&gt;
|  Shows the language of the audio of the currently playing video(possible values: see ListItem.AudioLanguage)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.SubtitlesLanguage&lt;br /&gt;
|  Shows the language of the subtitle of the currently playing video (possible values: see ListItem.SubtitlesLanguage)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.StereoscopicMode&lt;br /&gt;
|  Shows the stereoscopic mode of the currently playing video (possible values: see ListItem.StereoscopicMode)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.EndTime&lt;br /&gt;
|  End date of the currently playing programme (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.NextTitle&lt;br /&gt;
|  Title of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.NextGenre&lt;br /&gt;
|  Genre of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.NextPlot&lt;br /&gt;
|  Plot of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.NextPlotOutline&lt;br /&gt;
|  Plot outline of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.NextStartTime&lt;br /&gt;
|  Start time of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.NextEndTime&lt;br /&gt;
|  End time of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.NextDuration&lt;br /&gt;
|  Duration of the programme that will be played next (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.ChannelName&lt;br /&gt;
|  Name of the curently tuned channel (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.ChannelNumberLabel&lt;br /&gt;
|  Channel and subchannel number of the tv channel that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.ChannelGroup&lt;br /&gt;
|  Group of the curently tuned channel (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.ParentalRating&lt;br /&gt;
|  Parental rating of the currently playing programme (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.DBID&lt;br /&gt;
| The database id of the currently playing video. (supports .offset() and .position())&lt;br /&gt;
| v17 Addition&lt;br /&gt;
|-&lt;br /&gt;
| VideoPlayer.UniqueID()&lt;br /&gt;
| Returns the UniqueID of the currently playing video&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| VideoPlayer.TvShowDBID&lt;br /&gt;
| Returns the tv show DBID of the currently playing episode&lt;br /&gt;
| v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Playlist ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Playlist.Length(media)&lt;br /&gt;
|  Total size of the current playlist. optional parameter media is either video or music.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Playlist.Position(media)&lt;br /&gt;
|  Position of the current item in the current playlist. optional parameter media is either video or music.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Playlist.Random&lt;br /&gt;
|  Returns &#039;On&#039; or &#039;Off&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Playlist.Repeat&lt;br /&gt;
|  Returns string ID&#039;s 592 (Repeat One), 593 (Repeat All), or 594 (Repeat Off)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PVR ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.NowRecordingTitle&lt;br /&gt;
|  Title of the programme being recorded&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.NowRecordingDateTime&lt;br /&gt;
|  Start date and time of the current recording&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.NowRecordingChannel&lt;br /&gt;
|  Channel number that&#039;s being recorded&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.NextRecordingTitle&lt;br /&gt;
|  Title of the next programme that will be recorded&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.NextRecordingDateTime&lt;br /&gt;
|  Start date and time of the next recording&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.NextRecordingChannel&lt;br /&gt;
|  Channel name of the next recording&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.BackendName&lt;br /&gt;
|  Name of the backend being used&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.BackendVersion&lt;br /&gt;
|  Version of the backend that&#039;s being used&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.BackendHost&lt;br /&gt;
|  Backend hostname&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.BackendDiskSpace&lt;br /&gt;
|  Available diskspace on the backend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.BackendChannels&lt;br /&gt;
|  Number of available channels the backend provides&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.BackendTimers&lt;br /&gt;
|  Number of timers set for the backend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.BackendRecordings&lt;br /&gt;
|  Number of recording available on the backend&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
|  PVR.BackendDiskspace&lt;br /&gt;
|  Free diskspace available for recordings on the backend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.BackendNumber&lt;br /&gt;
|  Backend number&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TotalDiscSpace&lt;br /&gt;
|  Total diskspace available for recordings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.NextTimer&lt;br /&gt;
|  Next timer date&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.EpgEventDuration[(format)]&lt;br /&gt;
|  Returns the duration of the currently played title on TV. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.EpgEventElapsedTime[(format)]&lt;br /&gt;
|  Returns the time position of the currently played title on TV. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.EpgEventRemainingTime[(format)]&lt;br /&gt;
|  Returns the remaining time for currently playing epg event. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.EpgEventFinishTime[(format)]&lt;br /&gt;
|  Returns the time the currently playing epg event will end. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.EpgEventSeekTime[(format)]&lt;br /&gt;
|  Returns the seek time of the currently playing epg event. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.EpgEventProgress&lt;br /&gt;
|  Returns the position of currently played title on TV as integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeShiftStart[(format)]&lt;br /&gt;
|  Start position of the timeshift. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeShiftEnd[(format)]&lt;br /&gt;
|  End position of the timeshift. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeShiftCur[(format)]&lt;br /&gt;
|  Current position of the timeshift. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeShiftOffset[(format)]&lt;br /&gt;
|  Current offset of the timeshift. See ListItem.Duration for optinional formatting options&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeShiftProgress&lt;br /&gt;
|  Returns the position of currently timeshifted title on TV as interger&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamClient&lt;br /&gt;
| Stream client name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamDevice&lt;br /&gt;
| Stream device name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamStatus&lt;br /&gt;
| Status of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamSignal&lt;br /&gt;
| Signal quality of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamSnr&lt;br /&gt;
| Signal to noise ratio of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamBer&lt;br /&gt;
| Bit error rate of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamUnc&lt;br /&gt;
| UNC value of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamVideoBitRate&lt;br /&gt;
| Video bitrate of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamAudioBitRate&lt;br /&gt;
| Audio bitrate of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamDolbyBitRate&lt;br /&gt;
| Dolby bitrate of the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamProgrSignal&lt;br /&gt;
| Signal quality of the programme&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamProgrSnr&lt;br /&gt;
| Signal to noise ratio of the programme&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.ActStreamEncryptionName&lt;br /&gt;
| Encryption used on the stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TVNowRecordingTitle&lt;br /&gt;
| Title of the tv programme being recorded&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TVNowRecordingDateTime&lt;br /&gt;
| Start date and time of the current tv recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TVNowRecordingChannel&lt;br /&gt;
| Channel name of the current tv recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TVNowRecordingChannelIcon&lt;br /&gt;
| Icon of the current recording TV channel&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TVNextRecordingTitle&lt;br /&gt;
| Title of the next tv programme that will be recorded&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TVNextRecordingDateTime&lt;br /&gt;
| Start date and time of the next tv recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TVNextRecordingChannel&lt;br /&gt;
| Channel name of the next tv recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TVNextRecordingChannelIcon&lt;br /&gt;
| Icon of the next recording tv channel&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.RadioNowRecordingTitle&lt;br /&gt;
| Title of the radio programme being recorded&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.RadioNowRecordingDateTime&lt;br /&gt;
| Start date and time of the current radio recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.RadioNowRecordingChannel&lt;br /&gt;
| Channel name of the current radio recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.RadioNowRecordingChannelIcon&lt;br /&gt;
| Icon of the current recording radio channel&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.RadioNextRecordingTitle&lt;br /&gt;
| Title of the next radio programme that will be recorded&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.RadioNextRecordingDateTime&lt;br /&gt;
| Start date and time of the next radio recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| PVR.RadioNextRecordingChannel&lt;br /&gt;
| Channel name of the next radio recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.ChannelNumberInput&lt;br /&gt;
|  Label displaying the number the user entered on remote or keyboard&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressDuration&lt;br /&gt;
|  Returns the duration of the PVR timeshift progress in the format hh:mm:ss. hh: will be omitted if hours value is zero&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressDuration(format)&lt;br /&gt;
|  Returns the duration of the PVR timeshift progress in different formats, hours (hh), minutes (mm) or seconds (ss)&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressStartTime&lt;br /&gt;
|  Returns the start time of the PVR timeshift progress in the format hh:mm:ss. hh: will be omitted if hours value is zero&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressStartTime(format)&lt;br /&gt;
|  Returns the start time of the PVR timeshift progress in different formats, hours (hh), minutes (mm) or seconds (ss)&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressEndTime&lt;br /&gt;
|  Returns the end time of the PVR timeshift progress in the format hh:mm:ss. hh: will be omitted if hours value is zero&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressEndTime(format)&lt;br /&gt;
|  Returns the end time of the PVR timeshift progress in different formats, hours (hh), minutes (mm) or seconds (ss)&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressPlayPos&lt;br /&gt;
|  Returns the percentage of the current play position within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressEpgStart&lt;br /&gt;
|  Returns the percentage of the start of the currently playing epg event within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressEpgEnd&lt;br /&gt;
|  Returns the percentage of the end of the currently playing epg event within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressBufferStart&lt;br /&gt;
|  Returns the percentage of the start of the timeshift buffer within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeshiftProgressBufferEnd&lt;br /&gt;
|  Returns the percentage of the end of the timeshift buffer within the PVR timeshift progress&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
| PVR.TimeShiftSeekbar&lt;br /&gt;
| This is the equivalent of Player.Seekbar, but for LiveTV (can be used in a slider control and indicates the position being seeked to)&lt;br /&gt;
| v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RDS ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  RDS.AudioLanguage&lt;br /&gt;
|  The from RDS reported audio language of channel&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.ChannelCountry&lt;br /&gt;
|  Country where the radio channel is sended&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.GetLine(number)&lt;br /&gt;
|  Returns the last sended RDS text messages on givern number, 0 is thelast and 4 rows are supported (0-3)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.Title&lt;br /&gt;
|  Title of item; e.g. track title of an album (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.Artist&lt;br /&gt;
|  A person or band/collective generally considered responsible for the work (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.Band&lt;br /&gt;
|  Band/orchestra/accompaniment/musician (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.Composer&lt;br /&gt;
|  Name of the original composer/author (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.Conductor&lt;br /&gt;
|  The artist(s) who performed the work. In classical music this would bethe conductor (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.Album&lt;br /&gt;
|  The collection name to which this track belongs (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.TrackNumber&lt;br /&gt;
|  The track number of the item on the album on which it was originallyreleased. (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.RadioStyle&lt;br /&gt;
|  The from radio channel used style of currently played part, e.g &amp;quot;popmusic&amp;quot;, &amp;quot;news&amp;quot; or &amp;quot;weather&amp;quot;&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.Comment&lt;br /&gt;
|  Radio station comment string if available (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoNews&lt;br /&gt;
|  Message / headline (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoNewsLocal&lt;br /&gt;
|  Local information news sended from radio channel (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoStock&lt;br /&gt;
|  Quote information; either as one part or as several distinct parts:&amp;quot;name 99latest value 99change 99high 99low 99volume&amp;quot; (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoStockSize&lt;br /&gt;
|  Number of rows present in stock information (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoSport&lt;br /&gt;
|  Result of a game; either as one part or as several distinct parts:&amp;quot;match 99result&amp;quot;, e.g. &amp;quot;Bayern München : Borussia 995:5&amp;quot;  (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoSportSize&lt;br /&gt;
|  Number of rows present in sport information (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoLottery&lt;br /&gt;
|  Raffle / lottery: &amp;quot;key word 99values&amp;quot; (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoLotterySize&lt;br /&gt;
|  Number of rows present in lottery information (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoWeather&lt;br /&gt;
|  Weather informations sended from radio channel (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoWeatherSize&lt;br /&gt;
|  Number of rows present in weather information (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoCinema&lt;br /&gt;
|  Information about movies in cinema (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoCinemaSize&lt;br /&gt;
|  Number of rows present in cinema information (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoHoroscope&lt;br /&gt;
|  Horoscope; either as one part or as two distinct parts:&amp;quot;key word 99text&amp;quot;, e.g. &amp;quot;sign of the zodiac 99blablabla&amp;quot; (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoHoroscopeSize&lt;br /&gt;
|  Number of rows present in horoscope information (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoOther&lt;br /&gt;
|  Other information, not especially specified: &amp;quot;key word 99info&amp;quot; (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.InfoOtherSize&lt;br /&gt;
|  Number of rows present with other informations (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.ProgStation&lt;br /&gt;
|  Name of the radio channel@note becomes also be set from epg if from RDS not available&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.ProgNow&lt;br /&gt;
|  Now played program name@note becomes also be set from epg if from RDS not available&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.ProgNext&lt;br /&gt;
|  Next played program name (if available)@note becomes also be set from epg if from RDS not available&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.ProgHost&lt;br /&gt;
|  Name of the host of the radio show&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.ProgEditStaff&lt;br /&gt;
|  Name of the editorial staff; e.g. name of editorial journalist (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.ProgHomepage&lt;br /&gt;
|  Link to radio station homepage (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.ProgStyle&lt;br /&gt;
|  Human readable string about radiostyle defined from RDS or RBDS&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.PhoneHotline&lt;br /&gt;
|  The telephone number of the radio station&#039;s hotline (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.PhoneStudio&lt;br /&gt;
|  The telephone number of the radio station&#039;s studio (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.SmsStudio&lt;br /&gt;
|  The sms number of the radio stations studio (to send directly a sms to the studio) (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.EmailHotline&lt;br /&gt;
|  The email adress of the radio stations hotline (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  RDS.EmailStudio&lt;br /&gt;
|  The email adress of the radio stations studio (if available) (Only be available on RadiotextPlus)&lt;br /&gt;
|  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Skin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Skin.CurrentTheme&lt;br /&gt;
|  Returns the current selected skin theme.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Skin.CurrentColourTheme&lt;br /&gt;
|  Returns the current selected colour theme of the skin.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Skin.Font&lt;br /&gt;
|  Returns the current fontset from Font.xml.&lt;br /&gt;
|  v18 addition&lt;br /&gt;
|-&lt;br /&gt;
|  Skin.String(name)&lt;br /&gt;
| Returns the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;user-set&amp;lt;/span&amp;gt; skin string, set via the Skin.SetString(name) &#039;&#039;&#039;[[List of Built In Functions]]&#039;&#039;&#039;. Allows skinners to have &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;user-customisable&amp;lt;/span&amp;gt; labels.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Skin.AspectRatio&lt;br /&gt;
|  Returns the closest aspect ratio match using the resolution info from the skin&#039;s addon.xml file.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Slideshow ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-  &lt;br /&gt;
|  Slideshow.Altitude&lt;br /&gt;
|  Shows the altitude in meters where the current picture was taken. This is the value of the EXIF GPSInfo.GPSAltitude tag.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Aperture&lt;br /&gt;
|  Shows the F-stop used to take the current picture. This is the value of the EXIF FNumber tag (hex code 0x829D).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Author&lt;br /&gt;
|  Shows the name of the person involved in writing about the current picture. This is the value of the IPTC Writer tag (hex code 0x7A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Byline&lt;br /&gt;
|  Shows the name of the person who created the current picture.  This is the value of the IPTC Byline tag (hex code 0x50).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.BylineTitle&lt;br /&gt;
|  Shows the title of the person who created the current picture. This is the value of the IPTC BylineTitle tag (hex code 0x55).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.CameraMake&lt;br /&gt;
|  Shows the manufacturer of the camera used to take the current picture. This is the value of the EXIF Make tag (hex code 0x010F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.CameraModel&lt;br /&gt;
|  Shows the manufacturer&#039;s model name or number of the camera used to take the current picture. This is the value of the EXIF Model tag (hex code 0x0110).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Caption&lt;br /&gt;
|  Shows a description of the current picture. This is the value of the IPTC Caption tag (hex code 0x78).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Category&lt;br /&gt;
|  Shows the subject of the current picture as a category code. This is the value of the IPTC Category tag (hex code 0x0F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.CCDWidth&lt;br /&gt;
|  Shows the width of the CCD in the camera used to take the current picture. This is calculated from three EXIF tags (0xA002 * 0xA210 / 0xA20e).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.City&lt;br /&gt;
|  Shows the city where the current picture was taken. This is the value of the IPTC City tag (hex code 0x5A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Colour&lt;br /&gt;
|  Shows whether the current picture is &amp;quot;Colour&amp;quot; or &amp;quot;Black and White&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.CopyrightNotice&lt;br /&gt;
|  Shows the copyright notice of the current picture. This is the value of the IPTC Copyright tag (hex code 0x74).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Country&lt;br /&gt;
|  Shows the full name of the country where the current picture was taken. This is the value of the IPTC CountryName tag (hex code 0x65).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.CountryCode&lt;br /&gt;
|  Shows the country code of the country where the current picture was taken. This is the value of the IPTC CountryCode tag (hex code 0x64).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Credit&lt;br /&gt;
|  Shows who provided the current picture. This is the value of the IPTC Credit tag (hex code 0x6E).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.DigitalZoom&lt;br /&gt;
|  Shows the digital zoom ratio when the current picture was taken. This is the value of the EXIF .DigitalZoomRatio tag (hex code 0xA404).  &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.EXIFComment&lt;br /&gt;
|  Shows a description of the current picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is the same value as Slideshow.SlideComment.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.EXIFDate&lt;br /&gt;
|  Shows the localized date of the current picture. The short form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.EXIFDescription&lt;br /&gt;
|  Shows a short description of the current picture. The SlideComment, EXIFComment, or Caption values might contain a longer description. This is the value of the EXIF ImageDescription tag (hex code 0x010E).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.EXIFSoftware&lt;br /&gt;
|  Shows the name and version of the firmware used by the camera that took the current picture. This is the value of the EXIF Software tag (hex code 0x0131).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.EXIFTime&lt;br /&gt;
|  Shows the date/timestamp of the current picture. The localized short form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Exposure&lt;br /&gt;
|  Shows the class of the program used by the camera to set exposure when the current picture was taken. Values include &amp;quot;Manual&amp;quot;, &amp;quot;Program (Auto)&amp;quot;, &amp;quot;Aperture priority (Semi-Auto)&amp;quot;, &amp;quot;Shutter priority (semi-auto)&amp;quot;, etc. This is the value of the EXIF ExposureProgram tag (hex code 0x8822).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.ExposureBias&lt;br /&gt;
|  Shows the exposure bias of the current picture. Typically this is a number between -99.99 and 99.99. This is the value of the EXIF ExposureBiasValue tag (hex code 0x9204).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.ExposureMode&lt;br /&gt;
|  Shows the exposure mode of the current picture. The possible values are &amp;quot;Automatic&amp;quot;, &amp;quot;Manual&amp;quot;, and &amp;quot;Auto bracketing&amp;quot;. This is the value of the EXIF ExposureMode tag (hex code 0xA402).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.ExposureTime&lt;br /&gt;
|  Shows the exposure time of the current picture, in seconds. This is the value of the EXIF ExposureTime tag (hex code 0x829A). If the ExposureTime tag is not found, the ShutterSpeedValue tag (hex code 0x9201) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Filedate&lt;br /&gt;
|  Shows the file date of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Filename&lt;br /&gt;
|  Shows the file name of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Filesize&lt;br /&gt;
|  Shows the file size of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.FlashUsed&lt;br /&gt;
|  Shows the status of flash when the current picture was taken. The value will be either &amp;quot;Yes&amp;quot; or &amp;quot;No&amp;quot;, and might include additional information. This is the value of the EXIF Flash tag (hex code 0x9209).  &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.FocalLength&lt;br /&gt;
|  Shows the focal length of the lens, in mm. This is the value of the EXIF FocalLength tag (hex code 0x920A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.FocusDistance&lt;br /&gt;
|  Shows the distance to the subject, in meters. This is the value of the EXIF SubjectDistance tag (hex code 0x9206).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Headline&lt;br /&gt;
|  Shows a synopsis of the contents of the current picture. This is the value of the IPTC Headline tag (hex code 0x69).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.ImageType&lt;br /&gt;
|  Shows the color components of the current picture. This is the value of the IPTC ImageType tag (hex code 0x82).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.IPTCDate&lt;br /&gt;
|  Shows the date when the intellectual content of the current picture was created, rather than when the picture was created. This is the value of the IPTC DateCreated tag (hex code 0x37).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.ISOEquivalence&lt;br /&gt;
|  Shows the ISO speed of the camera when the current picture was taken. This is the value of the EXIF ISOSpeedRatings tag (hex code 0x8827).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Keywords&lt;br /&gt;
|  Shows keywords assigned to the current picture. This is the value of the IPTC Keywords tag (hex code 0x19).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Latitude&lt;br /&gt;
|  Shows the latitude where the current picture was taken (degrees, minutes, seconds North or South). This is the value of the EXIF GPSInfo.GPSLatitude and GPSInfo.GPSLatitudeRef tags.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.LightSource&lt;br /&gt;
|  Shows the kind of light source when the picture was taken. Possible values include &amp;quot;Daylight&amp;quot;, &amp;quot;Fluorescent&amp;quot;, &amp;quot;Incandescent&amp;quot;, etc. This is the value of the EXIF LightSource tag (hex code 0x9208).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.LongEXIFDate&lt;br /&gt;
|  Shows only the localized date of the current picture. The long form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.LongEXIFTime&lt;br /&gt;
|  Shows the date/timestamp of the current picture. The localized long form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. if the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Longitude&lt;br /&gt;
|  Shows the longitude where the current picture was taken (degrees, minutes, seconds East or West). This is the value of the EXIF GPSInfo.GPSLongitude and GPSInfo.GPSLongitudeRef tags.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.MeteringMode&lt;br /&gt;
|  Shows the metering mode used when the current picture was taken. The possible values are &amp;quot;Center weight&amp;quot;, &amp;quot;Spot&amp;quot;, or &amp;quot;Matrix&amp;quot;. This is the value of the EXIF MeteringMode tag (hex code 0x9207).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.ObjectName&lt;br /&gt;
|  Shows a shorthand reference for the current picture. This is the value of the IPTC ObjectName tag (hex code 0x05).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Orientation&lt;br /&gt;
|  Shows the orientation of the current picture. Possible values are &amp;quot;Top Left&amp;quot;, &amp;quot;Top Right&amp;quot;, &amp;quot;Left Top&amp;quot;, &amp;quot;Right Bottom&amp;quot;, etc. This is the value of the EXIF Orientation tag (hex code 0x0112).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Path&lt;br /&gt;
|  Shows the file path of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Process&lt;br /&gt;
|  Shows the process used to compress the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.ReferenceService&lt;br /&gt;
|  Shows the Service Identifier of a prior envelope to which the current picture refers. This is the value of the IPTC ReferenceService tag (hex code 0x2D).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Resolution&lt;br /&gt;
|  Shows the dimensions of the current picture (Width x Height)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.SlideComment&lt;br /&gt;
|  Shows a description of the current picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is the same value as Slideshow.EXIFComment.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.SlideIndex&lt;br /&gt;
|  Shows the slide index of the current picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Source&lt;br /&gt;
|  Shows the original owner of the current picture. This is the value of the IPTC Source tag (hex code 0x73).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.SpecialInstructions&lt;br /&gt;
|  Shows other editorial instructions concerning the use of the current picture. This is the value of the IPTC SpecialInstructions tag (hex code 0x28).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.State&lt;br /&gt;
|  Shows the State/Province where the current picture was taken. This is the value of the IPTC ProvinceState tag (hex code 0x5F).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Sublocation&lt;br /&gt;
|  Shows the location within a city where the current picture was taken - might indicate the nearest landmark. This is the value of the IPTC SubLocation tag (hex code 0x5C).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.SupplementalCategories&lt;br /&gt;
|  Shows supplemental category codes to further refine the subject of the current picture. This is the value of the IPTC SuppCategory tag (hex code 0x14).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.TimeCreated&lt;br /&gt;
|  Shows the time when the intellectual content of the current picture was created, rather than when the picture was created. This is the value of the IPTC TimeCreated tag (hex code 0x3C).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.TransmissionReference&lt;br /&gt;
|  Shows a code representing the location of original transmission of the current picture. This is the value of the IPTC TransmissionReference tag (hex code 0x67).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.Urgency&lt;br /&gt;
|  Shows the urgency of the current picture. Values are 1-9. The 1 is most urgent. Some image management programs use urgency to indicate picture rating, where urgency 1 is 5 stars and urgency 5 is 1 star. Urgencies 6-9 are not used for rating. This is the value of the IPTC Urgency tag (hex code 0x0A).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Slideshow.WhiteBalance&lt;br /&gt;
|  Shows the white balance mode set when the current picture was taken. The possible values are &amp;quot;Manual&amp;quot; and &amp;quot;Auto&amp;quot;. This is the value of the EXIF WhiteBalance tag (hex code 0xA403).&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  System.Time&lt;br /&gt;
|  Current time&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.Time(format)&lt;br /&gt;
|  Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss). (xx) option added after dharma&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.Date&lt;br /&gt;
|  Current date&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.Date(format)&lt;br /&gt;
|  Show current date using format, available markings: d (day of month 1-31), dd (day of month 01-31), ddd (short day of the week Mon-Sun), DDD (long day of the week Monday-Sunday), m (month 1-12), mm (month 01-12), mmm (short month name Jan-Dec), MMM (long month name January-December), yy (2-digit year), yyyy (4-digit year). Added after dharma.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.AlarmPos&lt;br /&gt;
|  Shutdown Timer position&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.BatteryLevel&lt;br /&gt;
|  Returns the remaining battery level in range 0-100&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.FreeSpace&lt;br /&gt;
|  Total Freespace on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.UsedSpace&lt;br /&gt;
|  Total Usedspace on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.TotalSpace&lt;br /&gt;
|  Totalspace on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.UsedSpacePercent&lt;br /&gt;
|  Total Usedspace Percent on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.FreeSpacePercent&lt;br /&gt;
|  Total Freespace Percent on the drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.CPUTemperature&lt;br /&gt;
|  Current CPU temperature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.CpuUsage&lt;br /&gt;
|  Displays the cpu usage for each individual cpu core.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.CoreUsage(id)&lt;br /&gt;
|  Displays the usage of the cpu core with the given &#039;id&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.GPUTemperature&lt;br /&gt;
|  Current GPU temperature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.FanSpeed&lt;br /&gt;
|  Current fan speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.BuildVersion&lt;br /&gt;
|  Version of build&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.BuildDate&lt;br /&gt;
|  Date of build&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.FriendlyName&lt;br /&gt;
|  Returns the Kodi instance name. It will auto append (%hostname%) in case the device name was not changed. eg. &amp;quot;Kodi (htpc)&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.FPS&lt;br /&gt;
|  Current rendering speed (frames per second)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.FreeMemory&lt;br /&gt;
|  Amount of free memory in Mb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.Memory(format)&lt;br /&gt;
|  Available formats: used, used.percent, free, free.percent, total&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.ScreenMode&lt;br /&gt;
|  Screenmode (eg windowed / fullscreen)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.ScreenWidth&lt;br /&gt;
|  Width of screen in pixels&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.ScreenHeight&lt;br /&gt;
|  Height of screen in pixels&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.StartupWindow&lt;br /&gt;
|  The Window Kodi will load on startup&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.CurrentWindow&lt;br /&gt;
|  Current Window we are in&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.CurrentControl&lt;br /&gt;
|  Current focused control&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.CurrentControlID&lt;br /&gt;
|  ID of the currently focused control.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.DVDLabel&lt;br /&gt;
|  Label of the disk in the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;DVD-ROM&amp;lt;/span&amp;gt; drive&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.HddTemperature&lt;br /&gt;
|  Hdd temperature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.OSVersionInfo&lt;br /&gt;
|  System name + kernel version&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.KernelVersion (deprecated)&lt;br /&gt;
|  System name + kernel version&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.Uptime&lt;br /&gt;
|  System current uptime&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.TotalUptime&lt;br /&gt;
|  System total uptime&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.CpuFrequency&lt;br /&gt;
|  System cpu frequency&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.ScreenResolution&lt;br /&gt;
|  Screen resolution&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.VideoEncoderInfo&lt;br /&gt;
|  Video encoder info&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.InternetState&lt;br /&gt;
|  Will return the internet state, &#039;connected&#039; or &#039;not connected&#039; (localized)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.Language&lt;br /&gt;
|  Shows the current language&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.ProfileName&lt;br /&gt;
|  Shows the User name of the currently logged in Kodi user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.ProfileCount&lt;br /&gt;
|  Shows the number of defined profiles&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.ProfileAutoLogin&lt;br /&gt;
|  The profile Kodi will auto login to&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.Progressbar&lt;br /&gt;
|  The percentage of the currently active progress.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.StereoscopicMode&lt;br /&gt;
|  The prefered stereoscopic mode (settings &amp;gt; video &amp;gt; playback)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.TemperatureUnits&lt;br /&gt;
|  Shows Celsius or Fahrenheit symbol&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.AddonTitle(id)&lt;br /&gt;
|  Returns the title of the addon with the given id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.AddonVersion(id)&lt;br /&gt;
|  Returns the version of the addon with the given id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| System.BuildVersionCode&lt;br /&gt;
| The internal version of the kodi build&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| System.BuildVersionGit&lt;br /&gt;
| The git version (sha) of the kodi build&lt;br /&gt;
| v19&lt;br /&gt;
|-&lt;br /&gt;
| System.AddonUpdateCount&lt;br /&gt;
| The number of available addon updates&lt;br /&gt;
| v19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Visualisation ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Visualisation.Preset&lt;br /&gt;
|  Shows the current preset of the visualisation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Visualisation.Name&lt;br /&gt;
|  Shows the name of the visualisation.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weather labels ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Weather.Conditions&lt;br /&gt;
|  Current weather conditions – this is looked up in a background process.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Weather.Temperature&lt;br /&gt;
|  Current weather temperature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Weather.Location&lt;br /&gt;
|  City/town which the above two items are for&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Weather.fanartcode&lt;br /&gt;
|  Current weather fanartcode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Weather.plugin&lt;br /&gt;
|  Current weather plugin.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Window ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  Window([window]).Property(key)&lt;br /&gt;
|  Window property. (key can be any value, optional window can be id or name)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Window.Property(xmlfile)&lt;br /&gt;
|  Displays the name of the xml file currently shown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Window.Property(IsRadio)&lt;br /&gt;
|  Returns &amp;quot;true&amp;quot; if the window is a radio window, empty string otherwise (for use in the PVR windows)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Window(AddonBrowser).Property(Updated)&lt;br /&gt;
|  Shows the date and time the addon repo was last checked for updates&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Window.Property(Addon.ID)&lt;br /&gt;
|  Returns the id of the selected addon, in DialogAddonSettings.xml&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Window(Home).Property(key)&lt;br /&gt;
|  The home window has the following info labels.&lt;br /&gt;
Movies.Count, Movies.Watched, Movies.UnWatched, TVShows.Count, TVShows.Watched, TVShows.UnWatched, Episodes.Count, Episodes.Watched, Episodes.UnWatched, MusicVideos.Count, MusicVideos.Watched, MusicVideos.UnWatched, Music.SongsCount, Music.AlbumsCount, Music.ArtistsCount&lt;br /&gt;
&lt;br /&gt;
LatestMovie.[1-10].Title, LatestMovie.[1-10].Year, LatestMovie.[1-10].RunningTime, LatestMovie.[1-10].Rating, LatestMovie.[1-10].Plot, LatestMovie.[1-10].Trailer, LatestMovie.[1-10].Thumb, LatestMovie.[1-10].Fanart, LatestMovie.[1-10].Path&lt;br /&gt;
&lt;br /&gt;
LatestEpisode.[1-10].ShowTitle, LatestEpisode.[1-10].EpisodeTitle, LatestEpisode.[1-10].EpisodeNo, LatestEpisode.[1-10].EpisodeSeason, LatestEpisode.[1-10].EpisodeNumber, LatestEpisode.[1-10].Rating, LatestEpisode.[1-10].Plot, LatestEpisode.[1-10].Thumb, LatestEpisode.[1-10].ShowThumb, LatestEpisode.[1-10].SeasonThumb, LatestEpisode.[1-10].Fanart, LatestEpisode.[1-10].Path&lt;br /&gt;
&lt;br /&gt;
LatestMusicVideo.[1-10].Title, LatestMusicVideo.[1-10].Thumb, LatestMusicVideo.[1-10].Year, LatestMusicVideo.[1-10].Plot, LatestMusicVideo.[1-10].RunningTime, LatestMusicVideo.[1-10].Path, LatestMusicVideo.[1-10].Artist, LatestMusicVideo.[1-10].Fanart&lt;br /&gt;
&lt;br /&gt;
LatestSong.[1-10].Title, LatestSong.[1-10].Artist, LatestSong.[1-10].Album, LatestSong.[1-10].Year, LatestSong.[1-10].Rating, LatestSong.[1-10].Thumb, LatestSong.[1-10].Fanart, LatestSong.[1-10].Path&lt;br /&gt;
&lt;br /&gt;
LatestAlbum.[1-10].Title, LatestAlbum.[1-10].Artist, LatestAlbum.[1-10].Year, LatestAlbum.[1-10].Rating, LatestAlbum.[1-10].Thumb, LatestAlbum.[1-10].Fanart, LatestAlbum.[1-10].Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Window(Weather).Property(key)&lt;br /&gt;
|  The weather window has the following info labels.&lt;br /&gt;
Location, Updated, Current.Condition, Current.Temperature, Current.FeelsLike, Current.UVIndex, Current.Wind (From &amp;lt;wind dir.&amp;gt; at &amp;lt;speed&amp;gt; &amp;lt;unit&amp;gt;), Current.WindSpeed, Current.WindDirection, Current.DewPoint, Current.Humidity, Day[0-6].Title, Day[0-6].HighTemp, Day[0-6].LowTemp, Day[0-6].Outlook, WeatherProvider&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data set in Current.Temperature, Current.FeelsLike, Day[0-6].HighTemp, Day[0-6].LowTemp should be provided in Celsius, and will be autoconverted according to System.TemperatureUnits&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Images Available in Kodi ===&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[Artwork/Accessing with skins and JSON-RPC]]&#039;&#039;&#039; for the general pattern of accessing artwork for media items. Below is a list of other possible images available as InfoLabels.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! InfoLabels&lt;br /&gt;
! style=&amp;quot;80%&amp;quot; | Definition&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(type)&lt;br /&gt;
|  Artwork for the current listitem.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Fanart.Image&lt;br /&gt;
|  Fanart image for the parent TV Show. Note: Deprecated, use ListItem.Art(tvshow.fanart) instead.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Thumb&lt;br /&gt;
|  Shows the thumbnail (if it exists) of the currently selected item in a list or thumb control. Note: Deprecated but still available, returns the same as ListItem.Art(thumb).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Icon&lt;br /&gt;
|  Shows the thumbnail (if it exists) of the currently selected item in a list or thumb control. If no thumbnail image exists, it will show the default icon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ActualIcon&lt;br /&gt;
|  Shows the default icon of the currently selected item in a list or thumb control.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Overlay&lt;br /&gt;
|  Shows the Overlay Icon status (compressed file [OverlayRAR.png], watched [OverlayWatched.png], unwatched [OverlayUnwatched.png], locked [OverlayLocked.png]) of the currently selected item in a list or thumb control.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.EPGEventIcon&lt;br /&gt;
|  Returns the icon of the EPG programme (if available).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Fanart_Image)&lt;br /&gt;
|  Fanart Image currently selected item or of the parent TV show. Note: Deprecated, use ListItem.Art(fanart) or ListItem.Art(tvshow.fanart) instead.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Cover&lt;br /&gt;
|  Cover of currently playing album&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.Property(Fanart_Image)&lt;br /&gt;
|  Fanart image of the currently playing artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(type)&lt;br /&gt;
|  Artwork for the currently playing item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Icon&lt;br /&gt;
|  Shows the thumbnail (if it exists) of the currently playing item. If no thumbnail image exists, it will show the icon.&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Player.StarRating&lt;br /&gt;
|  Returns a value of 0 to 5 as a graphical display from images named rating0.png to rating5.png of the skin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Pvr.NowRecordingChannelIcon&lt;br /&gt;
|  Channel icon of the programme currently being recorded.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Pvr.NextRecordingChannelIcon&lt;br /&gt;
|  Channel icon of the programme that will be recorded next.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Pvr.EPGEventIcon&lt;br /&gt;
|  Returns the icon of the currently playing EPG programme (if available).&lt;br /&gt;
|  v18&lt;br /&gt;
|-&lt;br /&gt;
|  Skin.String(name)&lt;br /&gt;
| Returns the image or image folder set by the user via a Skin.SetPath(name) or Skin.SetImage(name) &#039;&#039;&#039;[[List of Built In Functions]]&#039;&#039;&#039;. Allows skinners to have &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;user-customisable&amp;lt;/span&amp;gt; images and multiimages.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.AddonIcon(id)&lt;br /&gt;
|  Returns the Icon of the specified addon. Instead of specifying the id directly, one can also use an infolabel (eg. $INFO[Skin.String(Foo)])&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  System.ProfileThumb&lt;br /&gt;
|  Shows the Thumbnail image of the currently logged in Kodi user&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Cover&lt;br /&gt;
|  Cover of currently playing movie.  Note: Deprecated, use Player.Art(type) instead.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Weather.ConditionsIcon&lt;br /&gt;
|  Image of current weather conditions (NOTE: Can be used to load/refresh weather conditions)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Window([window]).Property(key)&lt;br /&gt;
|  Window property. (key can be any value, optional window can be id or name)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Window(Weather).Property(key)&lt;br /&gt;
|  The weather window has the following info images.&lt;br /&gt;
Current.ConditionIcon, Day[0-6].OutlookIcon, Current.FanartCode, Day[0-6].FanartCode, WeatherProviderLogo&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Player_process_info&amp;diff=241151</id>
		<title>Player process info</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Player_process_info&amp;diff=241151"/>
		<updated>2022-01-05T13:14:39Z</updated>

		<summary type="html">&lt;p&gt;CastagnaIT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Video library]]|[[Video playback|Playback]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;{{Kodi}} can display information about the system and the media that is currently being played. This information is available through a number of on-screen overlays.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first two overlays below are new for {{kodi}} v17 and above. In v16 and earlier, the &#039;&#039;[[Archive:Codecinfo|Codec Info]]&#039;&#039; screen was used.&amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=275260&amp;amp;pid=2526006#pid2526006&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Player Process Info =&lt;br /&gt;
The Player Process Information OSD details the static information (metadata) of the Audio and Video streams in use.&lt;br /&gt;
&lt;br /&gt;
The OSD can be activated using one of the following methods...&lt;br /&gt;
*Pressing {{keypress|o}} on a keyboard&lt;br /&gt;
*Pressing the equivalent key on your remote control. This is not a standard button press and will need to be mapped to your remote control. &#039;&#039;&#039;&#039;&#039;See: [[Add-on:Keymap_Editor|Keymap Editor]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using one of the remote control Apps, special functions are available to activate and deactivate this OSD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;700px&amp;quot; heights=&amp;quot;394px&amp;quot;&amp;gt;&lt;br /&gt;
Video Playback OSD 08.jpg|Image 1 - The Player Process Information overlay&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is a brief description of the information being displayed:&lt;br /&gt;
&lt;br /&gt;
; Video decoder&lt;br /&gt;
: Describes the video decoder currently in use. The decoder will vary depending on operating system. See... [https://trac.ffmpeg.org/wiki/HWAccelIntro Intro to FFmpeg Decoders]&lt;br /&gt;
: The item in brackets indicates whether decoding is currently being performed by Hardware (HW) or Software (SW). See... [[Settings/Player/Videos#Platform_Specific_Hardware_Acceleration_settings|Platform Specific Hardware Acceleration settings]]&lt;br /&gt;
&lt;br /&gt;
; Pixel format&lt;br /&gt;
: The pixel format in use.&amp;lt;ref&amp;gt;https://www.amd.com/en/support/kb/faq/dh2-007&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://ffmpeg.org/doxygen/3.2/pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Deinterlace method&lt;br /&gt;
: The method used to [[w:Deinterlacing|deinterlace]] the currently playing video stream, if required.&lt;br /&gt;
&lt;br /&gt;
; Video stream&lt;br /&gt;
: A number of items detailing the properties of the video stream. The values shown in the image are an example and will vary with the media being played.&lt;br /&gt;
:: &#039;&#039;720x576p&#039;&#039; - Resolution of the image in pixels based on the Storage Aspect Ratio (SAR), and scan type identifier {{note|on Kodi v20}} &#039;&#039;&#039;p&#039;&#039;&#039; for progressive scan or &#039;&#039;&#039;i&#039;&#039;&#039; for interlaced scan&lt;br /&gt;
:: &#039;&#039;1.78 AR&#039;&#039; - The aspect ratio of the image. Based on the Display Aspect Ratio (DAR)&lt;br /&gt;
:: &#039;&#039;25.000 FPS&#039;&#039; - The frame rate of the video stream&lt;br /&gt;
&lt;br /&gt;
; Audio stream&lt;br /&gt;
: A number of items detailing the properties of the audio stream. The values shown in the image are an example and will vary with the media being played.&lt;br /&gt;
:: &#039;&#039;FL,FR,FC,LFE,SL,SR&#039;&#039; - The audio channels in the audio stream&lt;br /&gt;
:: &#039;&#039;ac3&#039;&#039; - The audio coding format&lt;br /&gt;
:: &#039;&#039;32 bits&#039;&#039; - The bit depth of the audio stream&lt;br /&gt;
:: &#039;&#039;48,000 Hz&#039;&#039; - The sample rate&lt;br /&gt;
&lt;br /&gt;
; System memory usage&lt;br /&gt;
: The memory currently being used on the system. This is a total usage by all processes, not just {{kodi}}&lt;br /&gt;
&lt;br /&gt;
; System CPU usage&lt;br /&gt;
: The CPU currently being used on the system. This is a total usage by all processes, not just {{kodi}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Player Debug Info =&lt;br /&gt;
The Player Debug Info screen displays real-time dynamic data of the current audio/video streams.&lt;br /&gt;
&lt;br /&gt;
The OSD can be activated using one of the following methods...&lt;br /&gt;
*Pressing {{keypress|ctrl|shift|o}} on a keyboard&lt;br /&gt;
*Pressing the equivalent key on your remote control. This is not a standard button press and will need to be mapped to your remote control. &#039;&#039;&#039;&#039;&#039;See: [[Add-on:Keymap_Editor|Keymap Editor]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using one of the remote control Apps, special functions are available to activate and deactivate this OSD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;700px&amp;quot; heights=&amp;quot;394px&amp;quot;&amp;gt;&lt;br /&gt;
Video Playback OSD 09.jpg|Image 2 - The Player Debug Information overlay&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is a brief description of the information being displayed:&lt;br /&gt;
&lt;br /&gt;
; Line 1&lt;br /&gt;
: &#039;&#039;aq:87%&#039;&#039; - The audio queue saturation&lt;br /&gt;
: &#039;&#039;Kb/s:4355.67&#039;&#039; - Current audio bitrate reported by the player&lt;br /&gt;
&lt;br /&gt;
; Line 2&lt;br /&gt;
: &#039;&#039;vq:99%&#039;&#039; - Video queue saturation&lt;br /&gt;
: &#039;&#039;Mb/s:25.83&#039;&#039; - Current video bitrate reported by the player&lt;br /&gt;
: &#039;&#039;fr:23.976&#039;&#039; - Source frame rate&lt;br /&gt;
: &#039;&#039;drop:0&#039;&#039; - Number of dropped frames&lt;br /&gt;
: &#039;&#039;skip:0&#039;&#039; - Number of skipped frames &lt;br /&gt;
: &#039;&#039;pc:1&#039;&#039; - Pullup correction pattern length&lt;br /&gt;
&lt;br /&gt;
; Player&lt;br /&gt;
: &#039;&#039;a/v:0.023&#039;&#039; - Audio/video sync difference in real time &lt;br /&gt;
: &#039;&#039;forward:0.000000&#039;&#039; - Cache amount in MB &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=275260&amp;amp;pid=2563813#pid2563813&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;100%&#039;&#039; - Percentage of cache in use&lt;br /&gt;
&lt;br /&gt;
; VSyncOff&lt;br /&gt;
: Indicates the offset between the vertical sync signal of the display and the timestamps of the video frames. &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=332156&amp;amp;pid=2737399#pid2737399&amp;lt;/ref&amp;gt;&lt;br /&gt;
: This offset is used for audio visual synchronisation. &lt;br /&gt;
:: If &#039;&#039;VSyncOff&#039;&#039; is greater than zero and constant, then synchronisation is all good. &lt;br /&gt;
:: If the value shows 0.0, the framerate (fps) of the video does not match the refresh rate (Hz) of the display which may cause micro-stuttering of the video, especially during panning shots.&lt;br /&gt;
&lt;br /&gt;
; Latency&lt;br /&gt;
: &#039;&#039;0.066&#039;&#039; - Adjustment in seconds required to sync audio and video&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Video Debug Info =&lt;br /&gt;
{{red|&#039;&#039;&#039;This display is available on MS Windows systems only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The Video Debug Info screen displays additional video stream and HDR metadata, shader and swapchain information (flip, discard / sequential), Windows HDR state, all of which are not available elsewhere in {{kodi}}&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19126&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The OSD can be activated using one of the following methods...&lt;br /&gt;
*Pressing {{keypress|alt|o}} on a keyboard&lt;br /&gt;
*Pressing the equivalent key on your remote control. This is not a standard button press and will need to be mapped to your remote control. &#039;&#039;&#039;&#039;&#039;See: [[Add-on:Keymap_Editor|Keymap Editor]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using one of the remote control Apps, special functions may be available to activate and deactivate this OSD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;700px&amp;quot; heights=&amp;quot;394px&amp;quot;&amp;gt;&lt;br /&gt;
Video Playback OSD 11.jpg|Image 3 - The Video Debug Information overlay&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Display Info =&lt;br /&gt;
The Display Information screen displays the View Mode, Aspect Ratio and other display related data.&lt;br /&gt;
&lt;br /&gt;
The OSD can be activated using one of the following methods...&lt;br /&gt;
*Pressing {{keypress|z}} on a keyboard&lt;br /&gt;
*Pressing the equivalent key on your remote control. This is not a standard button press and will need to be mapped to your remote control. &#039;&#039;&#039;&#039;&#039;See: [[Add-on:Keymap_Editor|Keymap Editor]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using one of the remote control Apps, special functions are available to activate and deactivate this OSD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;700px&amp;quot; heights=&amp;quot;394px&amp;quot;&amp;gt;&lt;br /&gt;
Video Playback OSD 10.jpg|Image 4 - The Display Information overlay&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data is displayed&lt;br /&gt;
&lt;br /&gt;
;View Mode&lt;br /&gt;
:The zoom/crop/stretch mode currently in use. For available options see: &#039;&#039;&#039;&#039;&#039;[[Video_playback#Video_Settings|Video Settings]]&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
;Sizing&lt;br /&gt;
:Information about the output display of the video stream&lt;br /&gt;
::(&#039;&#039;&#039;720,576&#039;&#039;&#039;)-&amp;gt;(&#039;&#039;&#039;1920,1080&#039;&#039;&#039;) &#039;&#039;&#039;=&#039;&#039;&#039; (Resolution of video)-&amp;gt;(Output resolution) Reveals any upscaling or downscaling. The example shows upscaling by {{kodi}} and your TV may further upscale. eg in this example a 4K TV will upscale from 1920x1080 to 3840x2160.&lt;br /&gt;
::(&#039;&#039;&#039;Zoom x1.00&#039;&#039;&#039;) Reveals if any zoom has been applied&lt;br /&gt;
::&#039;&#039;&#039;AR:1.78:1&#039;&#039;&#039; Aspect Ratio of video&lt;br /&gt;
::(&#039;&#039;&#039;Pixels: 1.00:1&#039;&#039;&#039;) Pixel ratio in use&lt;br /&gt;
::(&#039;&#039;&#039;VShift: 0.00&#039;&#039;&#039;) Amount of Vertical Shift applied&lt;br /&gt;
:&#039;&#039;See:&#039;&#039;&#039; [[Video_playback#Video_Settings|Video Settings]]&#039;&#039;&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
;Screen resolution:&lt;br /&gt;
:Reported resolution to {{kodi}}. Usually the resolution set on the graphics card, and the TV may then further upscale. Also displays the type of Full Screen in use.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Debug Mode =&lt;br /&gt;
Although normally used to enable debug logging in the {{kodi}} log files, the overlay provides additional useful information.&lt;br /&gt;
&lt;br /&gt;
{{#lst:Log_file/Easy|EnableDebugMode}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;700px&amp;quot; heights=&amp;quot;394px&amp;quot;&amp;gt;&lt;br /&gt;
DebugMode01.jpg|Image 5 - The Debug Mode Information overlay&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; LOG&lt;br /&gt;
: Reveals the location of the debug log&lt;br /&gt;
&lt;br /&gt;
; MEM&lt;br /&gt;
: System memory available / Total system memory in Kilobytes&lt;br /&gt;
&lt;br /&gt;
; FPS&lt;br /&gt;
: The refresh rate of the display&lt;br /&gt;
&lt;br /&gt;
; CPU&lt;br /&gt;
: #The CPU thread : The work load on the thread as a percentage of maximum rated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;References /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- https://matroska.org/technical/elements.html#CodecID&lt;br /&gt;
https://forum.kodi.tv/showthread.php?tid=306387 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
&lt;br /&gt;
{{updated|19}}&lt;br /&gt;
[[Category:Karellen]]&lt;br /&gt;
[[Category:Video library]]&lt;/div&gt;</summary>
		<author><name>CastagnaIT</name></author>
	</entry>
</feed>