<?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=Xhaggi</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=Xhaggi"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Xhaggi"/>
	<updated>2026-06-15T23:30:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=EventServer&amp;diff=139976</id>
		<title>EventServer</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=EventServer&amp;diff=139976"/>
		<updated>2018-08-29T07:12:58Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Kodi for Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
EventServer is the part of Kodi that accepts remote device input on all platforms. EventServer API is used to program event clients and simplifies interfacing input devices with Kodi. EventServer accepts commands from event clients such as LIRC, joysticks, PDAs, and iPhones.&lt;br /&gt;
&lt;br /&gt;
== The Purpose of EventServer API in Kodi ==&lt;br /&gt;
The EventServer in Kodi was created to satisfy a need to support many input devices across multiple hardware platforms. Adding direct support for a multitude of devices generally decreases performance and stability, and becomes difficult to maintain. The EventServer was created to provide a simple, reliable way to communicate with and control Kodi.&lt;br /&gt;
&lt;br /&gt;
== Event Clients and the EventServer ==&lt;br /&gt;
Kodi&#039;s EventServer listens for commands from event clients. Anything that can communicate using UDP can be an event client. Many event client software packages are currently available for PCs, Macs, smartphones, PDAs, and more. Some event client software accepts commands from infra-red remotes, gamepad controllers, and others to translate and send to the EventServer. These event client software packages are often run on the same computer as Kodi, essentially as remote control addons.&lt;br /&gt;
&lt;br /&gt;
To change the default Event Server port on Kodi, you must modify guisettings.xml under &amp;lt;services&amp;gt;, find this line &amp;quot;&amp;lt;esport&amp;gt;9777&amp;lt;esport/&amp;gt;&amp;quot;, change the port number and save. The file is here: ~/.kodi/userdata/guisettings.xml (this has worked with Openelec for the Raspberry Pi).&lt;br /&gt;
&lt;br /&gt;
== v11 Eden options ==&lt;br /&gt;
:In v11 (Eden), the event server is enabled through the &amp;quot;Allow programs on other systems to control Kodi&amp;quot; option. It runs by default on 9777, and can be confirmed by looking in the log at startup for &amp;quot;Starting UDP Event server on 0.0.0.0:9777&amp;quot;&lt;br /&gt;
:To change the default port, you must modify advancedsettings.xml , but the exact setting is not known at this time.&lt;br /&gt;
&lt;br /&gt;
== Event Clients ==&lt;br /&gt;
The event clients and EventServer are under heavy development, so for up-to-date information please refer to the [https://github.com/xbmc/xbmc/blob/master/tools/EventClients/README.txt readme file]&lt;br /&gt;
&lt;br /&gt;
Most event clients can be configured using [http://en.wikipedia.org/wiki/Command-line_interface CLI]. Common CLI arguments are address and port number. The defaults are localhost and port 9777.&lt;br /&gt;
&lt;br /&gt;
Event clients can currently be recognized as one of the following:&lt;br /&gt;
&lt;br /&gt;
* Mouse&lt;br /&gt;
* Keyboard&lt;br /&gt;
* LIRC (Only on Linux)&lt;br /&gt;
* Joystick&lt;br /&gt;
&lt;br /&gt;
=== Joysticks ===&lt;br /&gt;
Joysticks are mappable in keymap.xml using the following convention:&lt;br /&gt;
  &amp;lt;joystick name=&amp;quot;foo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;button id=&amp;quot;1&amp;quot;&amp;gt;ACTION1&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;button id=&amp;quot;2&amp;quot;&amp;gt;ACTIOn2&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;axis id=&amp;quot;1&amp;quot; limit=&amp;quot;-1&amp;quot;&amp;gt;ACTION3&amp;lt;/axis&amp;gt;&lt;br /&gt;
  &amp;lt;axis id=&amp;quot;2&amp;quot; limit=&amp;quot;+1&amp;quot;&amp;gt;ACTION4&amp;lt;/axis&amp;gt;&lt;br /&gt;
  &amp;lt;/joystick&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[keyboard.xml]] for more information on how to customize the keymap.&lt;br /&gt;
&lt;br /&gt;
There is initial support for the PS3 controller (sixaxis) and &lt;br /&gt;
&lt;br /&gt;
==== PS3 Blu-Ray Remote ====&lt;br /&gt;
There is initial support for the PS3 Blu-Ray remote.&lt;br /&gt;
The remote needs to be paired using one of two python scripts. &#039;ps3_remote.py&#039; can be run as a user, but the controller must be paired every time the script is run. &#039;ps3d.py&#039; will remember remotes between run-instances if it is executed as root, and it supports the PS3 Sixaxis controller as well.&lt;br /&gt;
&lt;br /&gt;
==== PS3 Sixaxis Controller (TODO) ====&lt;br /&gt;
Pairing with the PS3 controller is not yet handled automatically, but it can be done using the program &#039;sixaxis.c&#039; available from [http://www.pabr.org/sixlinux/sixlinux.en.html]. Or if you want to do it the gui way [http://ubuntuforums.org/showthread.php?t=1190061]&lt;br /&gt;
&lt;br /&gt;
Once paired, disable any existing HID servers that might currently be running and run &#039;ps3d.py&#039; as root. The program requires root privileges because it listens on Bluetooth L2CAP PSMs 17 and 19. (This is not nessecary using the gui tool)&lt;br /&gt;
&lt;br /&gt;
===== Using the PS3 Sixaxis Controller =====&lt;br /&gt;
There is xml configuration file for the ps3 controller under your keymaps folder.&lt;br /&gt;
You need to change the name of the joystick in you xml configfile to containg the mac adress of your controller. &lt;br /&gt;
&amp;quot;grep PLAYSTATION /proc/bus/input/devices&amp;quot; from a terminal will give you what you need.&lt;br /&gt;
&lt;br /&gt;
==== WiiRemote ====&lt;br /&gt;
To use the WiiRemote:&lt;br /&gt;
1. Open a terminal window and type/paste xbmc-wiiremote (do not press enter yet)&lt;br /&gt;
2. Press 1 and 2 on the WiiRemote&lt;br /&gt;
3. press enter&lt;br /&gt;
4. leave this terminal open and open Kodi&lt;br /&gt;
&lt;br /&gt;
You should see Kodi recognize the WiiRemote. You can press the power button on the WiiRemote to save battery. To reconnect press the 1 and 2 again. As long as you leave the terminal window with xbmc-wiiremote open you will be able to do this, even if you exit/open Kodi.&lt;br /&gt;
&lt;br /&gt;
The executable depends on libcwiid and libbluetooth and is compiled using&lt;br /&gt;
# g++ WiiRemote.cpp -lcwiid -o WiiRemote&lt;br /&gt;
&lt;br /&gt;
The WiiRemote will emulate the mouse by default, this can be disabled by passing --disable-mouseemulation on the command line.&lt;br /&gt;
&lt;br /&gt;
The sensitivity of the mouse emulation can be set using the --deadzone_x or --deadzone_y, followed by the percentage of the space to consider &amp;quot;dead.&amp;quot; A higher numberm eans higher sensitivity.&lt;br /&gt;
&lt;br /&gt;
Other commands can be listed with --help&lt;br /&gt;
&lt;br /&gt;
The WiiRemote can be mapped in [[keymap.xml]] with the following button IDs:&lt;br /&gt;
;WiiRemote&lt;br /&gt;
:1 = Up&lt;br /&gt;
:2 = Down&lt;br /&gt;
:3 = Left&lt;br /&gt;
:4 = Right&lt;br /&gt;
:5 = A&lt;br /&gt;
:6 = B&lt;br /&gt;
:7 = Minus&lt;br /&gt;
:8 = Home&lt;br /&gt;
:9 = Plus&lt;br /&gt;
:10 = 1&lt;br /&gt;
:11 = 2&lt;br /&gt;
&lt;br /&gt;
;Nunchuck&lt;br /&gt;
:21 = Up (axis)&lt;br /&gt;
:22 = Dow (axis)&lt;br /&gt;
:23 = Left (axis)&lt;br /&gt;
:24 = Right (axis)&lt;br /&gt;
:25 = C&lt;br /&gt;
:26 = Z&lt;br /&gt;
&lt;br /&gt;
The name is by default WiiRemote, but this can be changed with the --joystick-name argument.&lt;br /&gt;
&lt;br /&gt;
=== J2ME (Java Phone Application) (no longer supported) ===&lt;br /&gt;
{{future note|17|Support for J2ME client was removed in Kodi v17 via pull request https://github.com/xbmc/xbmc/pull/10049. If you absolutely must have it, revert the changes and follow the instructions to compile it.}}&lt;br /&gt;
&lt;br /&gt;
The J2ME client requires the following:&lt;br /&gt;
* CLDC 1.0 and MIDP 1.0&lt;br /&gt;
* bluetooth connectivity&lt;br /&gt;
* client must be able to initialize the connection&lt;br /&gt;
&lt;br /&gt;
For compiling the Java application, see Clients/J2ME and Client/README (precompiled versions exists in our forum).&lt;br /&gt;
&lt;br /&gt;
The Client can be mapped in the same manner as the PS3 controller in keymap.xml, but with the name J2ME:&lt;br /&gt;
    &amp;lt;joystick name=&amp;quot;J2ME&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The KeyIDs are generated in terminal using j2me_remote.py.&lt;br /&gt;
&lt;br /&gt;
== Known Working EventClients ==&lt;br /&gt;
All clients are able to talk to any server on any OS, but the client software is often OS specific.&lt;br /&gt;
&lt;br /&gt;
=== Kodi for Linux ===&lt;br /&gt;
* Sony PlayStation 3 (PS3) Blu-ray Remote&lt;br /&gt;
* PS3 Sixaxis GamePad&lt;br /&gt;
* Wii Remote&lt;br /&gt;
* J2ME (CellPhone)&lt;br /&gt;
* [https://github.com/xhaggi/kodi-eventclient-hama-mce Hama MCE Remote Control]&lt;br /&gt;
&lt;br /&gt;
=== Kodi for Mac OS X ===&lt;br /&gt;
* Apple Remote&lt;br /&gt;
* Sony PlayStation 3 (PS3) Blu-ray Remote&lt;br /&gt;
* J2ME (CellPhone)&lt;br /&gt;
&lt;br /&gt;
=== Kodi for Windows ===&lt;br /&gt;
* Sony PlayStation 3 (PS3) Blu-ray Remote&lt;br /&gt;
* Xbox 360 Controller&lt;br /&gt;
* J2ME (CellPhone)&lt;br /&gt;
* [http://forum.kodi.tv/showthread.php?t=38160 EventGhost]&lt;br /&gt;
&lt;br /&gt;
== Known Caveats ==&lt;br /&gt;
* Most of the clients are using python, so PyBluez and Lightblue must be.&lt;br /&gt;
* PyBluez only works with broadcom chipsets on 32-bit Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development of EventClients and the EventServer API ==&lt;br /&gt;
&lt;br /&gt;
=== Example demos of EventClients (open source code) ===&lt;br /&gt;
You can find several open source EventClient examples written in C++, Python, and Java in the Kodi Github. Look under [https://github.com/xbmc/xbmc/tree/master/tools/EventClients EventClients]. This directory contains seven event client sample programs that demonstrate Kodi&#039;s EventServer API. The different programs are in C++, Python, and Java. Kodi must be running to receive events. Please see README.txt for more information.&lt;br /&gt;
&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=InfoLabels&amp;diff=132668</id>
		<title>InfoLabels</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=InfoLabels&amp;diff=132668"/>
		<updated>2018-01-29T16:35:15Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* PVR */&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;
=== ADSP ===&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;
|  ADSP.ActiveStreamType&lt;br /&gt;
|  User selected stream type, e.g. music or video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ADSP.DetectedStreamType&lt;br /&gt;
|  Detected stream type by Kodi&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ADSP.MasterName&lt;br /&gt;
|  Name of the curently selected and used master dsp mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ADSP.MasterInfo&lt;br /&gt;
|  Continuously updated information label of master mode (if available)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ADSP.MasterOwnIcon&lt;br /&gt;
|  Icon to use for selected master mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ADSP.MasterOverrideIcon&lt;br /&gt;
|  Icon to overrite Kodi&#039;s codec icon with one of add-on, e.g. Dolby Digital EX on Dolby Digital&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Container ===&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;
|  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 (name, 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).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 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 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(id).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(id).TotalWatched&lt;br /&gt;
|  Returns the number of watched items in the current container&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container(id).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 in a Container. the item id is the position in the container relative to the cursor position. &#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;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;
|  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;
=== ListItem ===&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;
|  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.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.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.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.&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.&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.&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&lt;br /&gt;
|  Shows the song or movie duration of the currently selected movie in a container&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.ChannelNumber&lt;br /&gt;
|  Number of current selected TV channel 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). 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;
|&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)&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;
|  Shows a message when the addon is marked as broken in the repo&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.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.SubChannelNumber&lt;br /&gt;
|  Subchannel number of the currently selected channel that&#039;s currently playing (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.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;
&lt;br /&gt;
=== Musicpartymode labels ===&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;
|  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;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;
|  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;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;
|  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.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.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&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&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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Filename&lt;br /&gt;
|  Returns the filename of the currently playing media.&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;
&lt;br /&gt;
==== Music player ====&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;
|  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.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.ChannelNumber&lt;br /&gt;
|  Channel number of the radio programme that&#039;s currently playing (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  MusicPlayer.SubChannelNumber&lt;br /&gt;
|  Subchannel number of the radio channel 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;
&lt;br /&gt;
==== Video player ====&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;
|  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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.TVShowTitle&lt;br /&gt;
|  Title of currently playing episode&#039;s tvshow name&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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.Episode&lt;br /&gt;
|  Episode number of the currently playing episode&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&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&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&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&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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.UserRating&lt;br /&gt;
|  Shows the user rating of the currently playing item&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&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&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&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&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.Album&lt;br /&gt;
|  Album from which the current Music Video is from, if it&#039;s in the database&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&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&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&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&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&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&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&lt;br /&gt;
|&lt;br /&gt;
|- class=&amp;quot;userrow&lt;br /&gt;
|  VideoPlayer.PlayCount&lt;br /&gt;
|  Playcount of current playing Video, if it&#039;s in the database&lt;br /&gt;
|&lt;br /&gt;
|- class=&amp;quot;userrow&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.ChannelNumber&lt;br /&gt;
|  Number of the curently tuned channel (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  VideoPlayer.SubChannelNumber&lt;br /&gt;
|  Subchannel number of the tv channel that&#039;s currently playing (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&lt;br /&gt;
| v17 Addition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Playlist ===&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;
|  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 string ID&#039;s 590 (Randomize Play Enabled) or 591 (Disabled)&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;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;
|  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.Duration&lt;br /&gt;
|  Returns the duration of the currently played title on TV&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.Time&lt;br /&gt;
|  Returns the time position of the currently played title on TV&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.Progress&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&lt;br /&gt;
|  Start position of the timeshift&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeShiftEnd&lt;br /&gt;
|  End position of the timeshift&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  PVR.TimeShiftCur&lt;br /&gt;
|  Current position of the timeshift&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;
&lt;br /&gt;
=== RDS ===&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;
|  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;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;
|  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;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;
|  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;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;
|  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, connected or not connected&lt;br /&gt;
and for Conditional use: Connected-&amp;gt;TRUE, not Connected-&amp;gt;FALSE, do not use to check status in a pythonscript since it is threaded.&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.GetBool(boolean)&lt;br /&gt;
|  Returns the value of any standard system boolean setting.  Will not work with settings in advancedsettings.xml&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.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;
=== Visualisation ===&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;
|  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;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;
|  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;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;
|  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(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;
{| 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;
|  Container.Art(tvshow.fanart)&lt;br /&gt;
|  Fanart Image of the parent TV show&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.Art(season.poster)&lt;br /&gt;
|  Thumbnail Image of the parent season&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.Art(artist.fanart)&lt;br /&gt;
|  Fanart Image of the parent album artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Container.Art(artist.thumb)&lt;br /&gt;
|  Thumbnail Image of the parent album artist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Fanart.Image&lt;br /&gt;
|  Fanart image for the parent TV Show&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 icon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.ActualIcon&lt;br /&gt;
|  Shows the icon of the currently selected item in a list or thumb control.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(clearart)&lt;br /&gt;
|  Returns the clearart (if it exists) of the currently selected movie or tv show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(clearlogo)&lt;br /&gt;
|  Returns the clearlogo (if it exists) of the currently selected movie or tv show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(landscape)&lt;br /&gt;
|  Returns the 16:9 landscape (if it exists) of the currently selected movie or tv show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(thumb)&lt;br /&gt;
|  Returns the thumbnail of the currently selected item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(poster)&lt;br /&gt;
|  Returns the poster of the currently selected movie or tv show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(banner)&lt;br /&gt;
|  Returns the banner of the currently selected tv show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(fanart)&lt;br /&gt;
|  Returns the fanart image of the currently selected item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(set.fanart)&lt;br /&gt;
|  Returns the fanart image of the currently selected movieset.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(landscape)&lt;br /&gt;
|  Returns the landscape art of the currently selected item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(tvshow.poster)&lt;br /&gt;
|  Returns the tv show poster of the parent container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(tvshow.banner)&lt;br /&gt;
|  Returns the tv show banner of the parent container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(tvshow.clearlogo)&lt;br /&gt;
|  Returns the tv show clearlogo (if it exists) of the parent container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(tvshow.landscape)&lt;br /&gt;
|  Returns the tv show landscape (if it exists) of the parent container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(tvshow.clearart)&lt;br /&gt;
|  Returns the tv show clearart (if it exists) of the parent container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(season.poster)&lt;br /&gt;
|  Returns the season poster of the currently selected season. (Only available in DialogVideoInfo.xml)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(season.banner)&lt;br /&gt;
|  Returns the season banner of the currently selected season. (Only available in DialogVideoInfo.xml)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Art(season.fanart)&lt;br /&gt;
|  Returns the fanart image of the currently selected season. (Only available in DialogVideoInfo.xml)&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.Property(ArtistThumb)&lt;br /&gt;
|  Thumbnail Image of the parent artist, for use in dialogalbuminfo.xml and dialogsonginfo.xml&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.Property(Fanart_Image)&lt;br /&gt;
|  Fanart Image currently selected item or of the parent TV show&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(fanart)&lt;br /&gt;
|  Fanart Image of the currently playing episode&#039;s parent TV show &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(thumb)&lt;br /&gt;
|  Returns the thumbnail image of the currently playing item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(poster)&lt;br /&gt;
|  Returns the poster of the currently playing movie.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(clearlogo)&lt;br /&gt;
|  Returns the clearlogo of the currently playing movie.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(clearart)&lt;br /&gt;
|  Returns the clearart of the currently playing movie.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(landscape)&lt;br /&gt;
|  Returns the landscape of the currently playing movie.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(tvshow.poster)&lt;br /&gt;
|  Returns the tv show poster of the currently playing episode&#039;s parent TV show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(tvshow.banner)&lt;br /&gt;
|  Returns the tv show banner of the currently playing episode&#039;s parent TV show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(tvshow.landscape)&lt;br /&gt;
|  Returns the tv show landscape of the currently playing episode&#039;s parent TV show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(tvshow.clearart)&lt;br /&gt;
|  Returns the clearart of the currently playing episode&#039;s parent TV show.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Player.Art(tvshow.clearlogo)&lt;br /&gt;
|  Returns the tv show clearlogo of the currently playing episode&#039;s parent TV show.&lt;br /&gt;
|&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;
|  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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  Weather.Conditions&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;
== 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;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132321</id>
		<title>Skinning Manual</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132321"/>
		<updated>2018-01-13T12:32:00Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Nested */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Development]]|[[Skin development]]}}&lt;br /&gt;
&lt;br /&gt;
Kodi includes a GUI library that allows you to skin/change everything you see in Kodi, from the images, the sizes and positions of all controls, colours, fonts, and text, through to altering navigation and even adding new functionality.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The skin system is quite complex, and this portion of the manual is dedicated to providing in depth information on how it all works, along with tips to make the experience a little more pleasant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are just getting started with skinning Kodi, then it is suggested that the best way to learn is by modifying one of the many existing skins that are available. The default skin, Confluence, includes almost all the various tricks and features that make the Kodi skinning engine so powerful, so is an ideal place to start. You may wish to start by having a look through the [[XBMC Skinning Tutorials|tutorial section on skinning Kodi]] as well as the &amp;quot;[[Skinning XBMC|Skinning Kodi]]&amp;quot; article, and try modifying a window or two by adding a button, or altering the textures or layout.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Anatomy of a Skin =&lt;br /&gt;
Kodi skins, once installed, are located in [[userdata]] addons folder. This is the folder where all skins are placed and listed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Any additional skins you create, or download from, or be installed via zip, Kodi will load and ask you if you would like to load the skin and also allow you to load them up from within the Appearance Settings. It is suggested that if you want to make your own skin, then starting by copying an existing skins files over into a new folder (let&#039;s say skin/myskin) is a good place to start. You can then edit each of the files as you become more familiar with the skinning system.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder contains several subdirectorys, and one file:&lt;br /&gt;
; myskin/720p&lt;br /&gt;
: This is a resolution-specific directory. Kodi can run in multiple resolutions, and thus can use different files for some resolutions (as there is a big difference between NTSC at 720x480 pixels and 1080i at 1920x1080 pixels!) &lt;br /&gt;
; myskin/backgrounds&lt;br /&gt;
: optional folder containing the background images used in the skin&lt;br /&gt;
; myskin/colors&lt;br /&gt;
: contains a defaults.xml file which is used to define the colours used in the skin&lt;br /&gt;
; myskin/font&lt;br /&gt;
: This subdirectory contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; myskin/language&lt;br /&gt;
: contains several subfolders for each language (English/strings.po). you can define strings used in your skin in this file.&lt;br /&gt;
; myskin/media&lt;br /&gt;
: This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. &lt;br /&gt;
; myskin/resources&lt;br /&gt;
: place your icon.png (a 256x256 or 512x512 png image for your skin), fanart.jpg (a 1280x720 or 1920x1080 jpeg fanart image for your skin) and 10 jpeg screenshots (1280x720) of your skin in here. Name them screenshot01.jpg, screenshot02.jpg ect.&lt;br /&gt;
; [[addon.xml|myskin/addon.xml]]&lt;br /&gt;
: This contains the information that Kodi uses to find the other files that Kodi requires to describe it&#039;s skin. It also contains credits information, and versioning information.&lt;br /&gt;
; myskin/LICENSE.txt&lt;br /&gt;
: we recommend to include a Creative Commons license file in your skin:  http://creativecommons.org/licenses/&lt;br /&gt;
[[Addon.xml#Skin specific elements|See here for the order in which it looks for skin files.]]&lt;br /&gt;
&lt;br /&gt;
= Skin Themes =&lt;br /&gt;
All the basic media files for a skin should be compressed into the Textures.xbt file, and placed in the media/ folder. You can use the tool [[Texturepacker]] for this. All the images that make up the default skin theme should be in the Textures.xbt file.&lt;br /&gt;
&lt;br /&gt;
In addition to this, Kodi allows other .xbt files in the media/ folder, each one representing a different theme for your skin. &lt;br /&gt;
For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt.&lt;br /&gt;
This gives users more choice in the look of a particular skin, and only the textures change when you change themes – the layout stays the same. &lt;br /&gt;
If the user has selected a theme, then when a control requires a texture, Kodi will first look in the &amp;lt;themename&amp;gt;.xbt file for the texture. &lt;br /&gt;
It will fall back to the Textures.xbt file if &amp;lt;themename&amp;gt;.xbt doesn&#039;t contain the image. This means that the theme .xbt files need only contain the changed textures – all other textures will fallback to using Textures.xbt as usual.&lt;br /&gt;
&lt;br /&gt;
A suggested method of creating a theme is as follows:&lt;br /&gt;
&lt;br /&gt;
# Run Texturepacker.exe on the folder containing the default texture files, to generate Textures.xbt as you would normally do.&lt;br /&gt;
# Identify the textures you wish to have themed and copy them to a separate folder.&lt;br /&gt;
# Create a separate folder for each theme outside of your normal skin work area, and place the altered copies of each of the textures in them.&lt;br /&gt;
# Run Texturepacker.exe on each of the theme folders created in step 3 to create the themed .xbt files (note you can use the -output switch with Texturepacker.exe to name the theme appropriately).&lt;br /&gt;
# Place Textures.xbt and each of the theme .xbt files in the media/ folder of your skin. Kodi will automatically pick them up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= addon.xml =&lt;br /&gt;
&lt;br /&gt;
{{main|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Window Structure ==&lt;br /&gt;
{{#lst:Window Structure|main content}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Includes =&lt;br /&gt;
The other special (and arguably the most important skinning file of all) is includes.xml. This is, as its title suggests, a place from which you can define the default look, size, and positioning of controls, to save you replicating many of the control&#039;s attributes throughout the window .xml files. For instance, you can setup the size, and textures used for a button control, thus allowing you to leave those details out in the rest of the skin files, unless of course you want to override the default look or size etc. in a particular window.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This is extremely valuable as it allows you to greatly simplify a lot of the work in building a skin. For one thing, it means that once you have include files setup, many of the default parameters for a different resolution can be done by just altering the parameters within the include file(s) for the different resolution.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can infact have more than one include file - you can specify the file attribute when including from a different file, allowing you to have an include file dedicated to a particular set of attributes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The layout of an includes file is as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;includes&amp;gt;&lt;br /&gt;
    &amp;lt;include name=&amp;quot;whitetext&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;textcolor&amp;gt;ffffffff&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;include file=&amp;quot;listdefaults.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include condition=&amp;quot;Skin.HasSetting(extras) file=&amp;quot;includes_extras.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;constant name=&amp;quot;leftedge&amp;quot;&amp;gt;50&amp;lt;/constant&amp;gt;&lt;br /&gt;
  &amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll notice in the above example that we have 4 different types of includes. The first &amp;lt;include&amp;gt; tag basically allows a substitution of the tags underneath it whenever it occurs. For instance, if in a window .xml file you have this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;togglebutton&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    ... other tags go here&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then it would substitute the &amp;lt;textcolor&amp;gt; tag for where the include tag is. You can have as many includes as you like, and as many tags can be inside an include - even complete controls, or complete control groups.&lt;br /&gt;
&lt;br /&gt;
The second &amp;lt;include&amp;gt; tag in the example demonstrates how to include from a different file. As there is no include name specified, it will include the contents of the entire file at that point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;default&amp;gt; tag is similar to an include, except that it is used in every control of that type - even if you don&#039;t specify that the control is to use includes. Thus every buttoncontrol will have the whitetext include in it. Note that you can override this by specifying the &amp;lt;textcolor&amp;gt; tag in the buttoncontrol.&lt;br /&gt;
&lt;br /&gt;
And finally, the &amp;lt;constant&amp;gt; tag allows you to define a numeric (floating point) constant by name for use in place of numeric values (&amp;lt;left&amp;gt;, height=&amp;quot;&amp;quot; etc.) would otherwise be used. This allows alignment of items using the same position values which can then easily be altered in one place.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use params in includes ==&lt;br /&gt;
As of Kodi 15.0 Isengard you get is the ability to pass arbitrary parameters to your includes and then use these values anywhere within the include body. Just so you don&#039;t have to copy/paste huge chunks of XML anymore in order to change just a value or two. Includes are now roughly equivalent to &amp;quot;procedures&amp;quot; in programming languages. Here&#039;s the final syntax that has been included in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Include definitions&#039;&#039;&#039; are still written within &#039;&#039;&amp;lt;includes&amp;gt;&#039;&#039; tag, usually in &#039;&#039;includes.xml&#039;&#039;. But they can now accept parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot; default=&amp;quot;120&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;top&amp;quot;&amp;gt;225&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, the first part is called &#039;&#039;parameter list&#039;&#039; and is specified using &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags. When it is present, include body that follows it should be enclosed within &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; tag. At the moment, parameter list is optional and is mainly used for specifying default values for parameters (such as &#039;&#039;120&#039;&#039; and &#039;&#039;225&#039;&#039; above), but is otherwise not mandatory.&lt;br /&gt;
&lt;br /&gt;
The above include can be called like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;52&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot;&amp;gt;300&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has the exact same effect as if you&#039;ve written this instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;52&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;300&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;225&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and called it (old-style) like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;MyControl&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
only without added benefits.&lt;br /&gt;
&lt;br /&gt;
Any appropriate value can be passed as parameter in the new &#039;&#039;&#039;include call&#039;&#039;&#039;, including &#039;&#039;$INFO&#039;&#039; labels, &#039;&#039;$LOCALIZE&#039;&#039;, &#039;&#039;$VAR&#039;&#039;s, constants, etc. Empty string (&#039;&#039;value=&amp;quot;&amp;quot;&#039;&#039;) can also be passed, for example to override a non-empty default value set in the include definition.&lt;br /&gt;
&lt;br /&gt;
Default values are used as replacement when their parameters are not passed in the include call.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$PARAM&#039;&#039; references can be specified within both &#039;&#039;&#039;tag values and attributes&#039;&#039;&#039; inside include body, and are expanded to either actual value passed (if it was passed), default value (if set) or empty string, in that order.&lt;br /&gt;
&lt;br /&gt;
Parameters without default values (such as &#039;&#039;id&#039;&#039; above) are specified for better readability and documentation purposes only, but are otherwise not necessary and can be omitted. This is really a matter of style, and some skinners might prefer writing explicit parameter lists to specify all parameters referenced in the include body. It&#039;s a good practice though, as explicit parameter lists might be better utilized in the future versions of Kodi.&lt;br /&gt;
&lt;br /&gt;
If there are no &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags at all, &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; can be omitted too. This leads to even shorter syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Includes can call other (nested) includes and even pass them &#039;&#039;exact&#039;&#039; parameter values that they&#039;ve got themselves. This is called &#039;&#039;&#039;parameter forwarding&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;include name=&amp;quot;MyOtherControl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label&amp;quot;&amp;gt;$INFO[Player.Title]&amp;lt;/param&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label2&amp;quot; value=&amp;quot;x:$PARAM[left]; y:$PARAM[top]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;color&amp;quot; value=&amp;quot;$PARAM[color]&amp;quot;/&amp;gt;     &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;$PARAM[scrollbarid]&amp;quot;/&amp;gt;  &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, &#039;&#039;$PARAM[color]&#039;&#039; and &#039;&#039;$PARAM[scrollbarid]&#039;&#039; will be forwarded to &#039;&#039;MyOtherControl&#039;&#039; &#039;&#039;&#039;only&#039;&#039;&#039; if parameters &#039;&#039;color&#039;&#039; and &#039;&#039;scrollbarid&#039;&#039; have actually been passed to &#039;&#039;MyControl&#039;&#039;, otherwise the default values for &#039;&#039;color&#039;&#039; and &#039;&#039;id&#039;&#039; (if set in &#039;&#039;MyOtherControl&#039;&#039;) will be used instead in the body of &#039;&#039;MyOtherControl&#039;&#039;. Composite values containing other characters (such as &#039;&#039;label2&#039;&#039;) are not considered as &amp;quot;true&amp;quot; forwarding and always override any default value set in the nested include, even when they expand to empty strings.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nested ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;nested&amp;lt;/code&amp;gt; element can be used as a placeholder for elements (controls) defined between the start-tag and end-tag of an include element. The nested part can contain anything what is valid in our skin language. Using parameters for the nested XML fragment is also supported.&lt;br /&gt;
&lt;br /&gt;
This is really handy if you want to re-use elements (controls) before and after some variable elements (controls) e.g. a box with a header and footer but variable content.&lt;br /&gt;
&lt;br /&gt;
=== Definition of an include using nested ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyBox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
    &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;nested /&amp;gt; &amp;lt;!-- used to indicate where to place nested elements of the include --&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use the include with nested elements ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyBox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;top&amp;quot; value=&amp;quot;100&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;left&amp;quot; value=&amp;quot;200&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- nested elements --&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;/control&amp;gt; &lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Variables make it easier to use conditional infolabels. You can define them in Includes.xml, or to keep them separate, you can place them in another file which is included in Includes.xml.&lt;br /&gt;
You can include a file in Includes.xml by adding a line like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Variables.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Variables can be used in any tag that supports infolabels, like the texture, label and visible tags. Instead of having to include two whole controls with a condition, they allow you to just apply the condition to the actual texture or label. Meaning less controls to maintain ect. The values in the variable are read from top to bottom and the first condition that is met gets used. The last value usually has no condition and it&#039;s content acts as a fallback. The following example shows the album label if the player has audio, the year if there is no audio and no fallback is used (because there either is or is not any audio).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;variable name=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Album]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;!Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Year]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value&amp;gt;-&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/variable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can use a variable in a label control like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$VAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or when the viariable value is likely to contain commas (,) and/or quotes (&amp;quot;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$ESCVAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(see $ESCINFO[] for more info on the need to escape strings: http://kodi.wiki/view/Label_Parsing)&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
In case you want to re-use a certain value multiple times in your skin, you can define a constant for it:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;FanartCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;IconCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can now reference this value by it&#039;s name elsewhere in your skin:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;256&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;256&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;texture background=&amp;quot;true&amp;quot;&amp;gt;$INFO[ListItem.Icon]&amp;lt;/texture&amp;gt;&lt;br /&gt;
	&amp;lt;fadetime&amp;gt;IconCrossfadeTime&amp;lt;/fadetime&amp;gt;&lt;br /&gt;
&amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Defaults ==&lt;br /&gt;
for every control type, you can define a default template. for instance here&#039;s a template for a button control:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;700&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;label&amp;gt;-&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;texturefocus border=&amp;quot;20&amp;quot;&amp;gt;list-focus.png&amp;lt;/texturefocus&amp;gt;&lt;br /&gt;
	&amp;lt;texturenofocus border=&amp;quot;20&amp;quot;&amp;gt;list-nofocus.png&amp;lt;/texturenofocus&amp;gt;&lt;br /&gt;
	&amp;lt;font&amp;gt;font20&amp;lt;/font&amp;gt;&lt;br /&gt;
	&amp;lt;textcolor&amp;gt;white&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
	&amp;lt;focusedcolor&amp;gt;blue&amp;lt;/focusedcolor&amp;gt;&lt;br /&gt;
	&amp;lt;disabledcolor&amp;gt;darkgrey&amp;lt;/disabledcolor&amp;gt;&lt;br /&gt;
	&amp;lt;invalidcolor&amp;gt;red&amp;lt;/invalidcolor&amp;gt;&lt;br /&gt;
	&amp;lt;textoffsetx&amp;gt;10&amp;lt;/textoffsetx&amp;gt;&lt;br /&gt;
	&amp;lt;aligny&amp;gt;center&amp;lt;/aligny&amp;gt;&lt;br /&gt;
	&amp;lt;pulseonselect&amp;gt;true&amp;lt;/pulseonselect&amp;gt;&lt;br /&gt;
&amp;lt;/default&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the benefit of defining defaults is that kodi will use the template everywhere in you skin where a button is used,&lt;br /&gt;
so you don&#039;t have to code all of the tags for each and every button. you only have to code the tags that you want to differ from the default template.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Expressions ==&lt;br /&gt;
expressions are useful if you need to use a certain boolean expression several times throughout your skin.&lt;br /&gt;
they can be defined in your includes file like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;HasInfoDialog&amp;quot;&amp;gt;Window.IsActive(musicinformation) | Window.IsActive(movieinformation) | Window.IsActive(addoninformation)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;PluginAdvancedLauncher&amp;quot;&amp;gt;substring(Container.FolderPath,plugin://plugin.program.advanced.launcher/,left)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to use an expression in your skin, you can reference them using $EXP[]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation condition=&amp;quot;$EXP[HasInfoDialog]&amp;quot; effect=&amp;quot;fade&amp;quot; start=&amp;quot;100&amp;quot; end=&amp;quot;0&amp;quot; time=&amp;quot;200&amp;quot; tween=&amp;quot;sine&amp;quot;&amp;gt;Conditional&amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;visible&amp;gt;$EXP[PluginAdvancedLauncher] + !Window.IsActive(Home)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
expressions can be used in the following tags/attributes:&lt;br /&gt;
* visible&lt;br /&gt;
* enable&lt;br /&gt;
* usealttexture&lt;br /&gt;
* selected&lt;br /&gt;
* condition&lt;br /&gt;
&lt;br /&gt;
= Controls =&lt;br /&gt;
Controls are the substance of your skin. They define everything from buttons, to text labels, to visualization placement. This portion of the manual will explain each and every control in detail.&lt;br /&gt;
== Label Control ==&lt;br /&gt;
{{#lst:Label Control|main content}}&lt;br /&gt;
== Fade Label Control ==&lt;br /&gt;
{{#lst:Fade Label Control|main content}}&lt;br /&gt;
== Button Control ==&lt;br /&gt;
{{#lst:Button control|main content}}&lt;br /&gt;
== Image Control ==&lt;br /&gt;
{{#lst:Image Control|main content}}&lt;br /&gt;
== MultiImage Control ==&lt;br /&gt;
{{#lst:MultiImage Control|main content}}&lt;br /&gt;
== Radio button Control ==&lt;br /&gt;
{{#lst:Radio button control|main content}}&lt;br /&gt;
== Toggle button control ==&lt;br /&gt;
{{#lst:Toggle button control|main content}}&lt;br /&gt;
== Spin Control ==&lt;br /&gt;
{{#lst:Spin_Control|main content}}&lt;br /&gt;
== Settings Spin Control ==&lt;br /&gt;
{{#lst:Settings_Spin_Control|main content}}&lt;br /&gt;
== Slider Control ==&lt;br /&gt;
{{#lst:Slider Control|main content}}&lt;br /&gt;
== Progress Control ==&lt;br /&gt;
{{#lst:Progress Control|main content}}&lt;br /&gt;
== ScrollBar Control ==&lt;br /&gt;
{{#lst:Scroll Bar Control|main content}}&lt;br /&gt;
== Text Box ==&lt;br /&gt;
{{#lst:Text Box|main content}}&lt;br /&gt;
== RSS feed Control ==&lt;br /&gt;
{{#lst:RSS feed Control|main content}}&lt;br /&gt;
== Visualisation Control ==&lt;br /&gt;
{{#lst:Visualisation Control|main content}}&lt;br /&gt;
== Video Control ==&lt;br /&gt;
{{#lst:Video Control|main content}}&lt;br /&gt;
== Mover Control ==&lt;br /&gt;
{{#lst:Mover Control|main content}}&lt;br /&gt;
== Resize Control ==&lt;br /&gt;
{{#lst:Resize Control|main content}}&lt;br /&gt;
== Edit Control ==&lt;br /&gt;
{{#lst:Edit Control|main content}}&lt;br /&gt;
== EPGGrid Control ==&lt;br /&gt;
{{#lst:EPGGrid_control|main content}}&lt;br /&gt;
== Gamecontroller Control ==&lt;br /&gt;
{{#lst:Gamecontroller_Control|main content}}&lt;br /&gt;
== Group Control ==&lt;br /&gt;
{{#lst:Group Control|main content}}&lt;br /&gt;
== GroupList Control ==&lt;br /&gt;
{{#lst:Group List Control|main content}}&lt;br /&gt;
== List Container ==&lt;br /&gt;
{{#lst:List Container|main content}}&lt;br /&gt;
== Wraplist Container ==&lt;br /&gt;
{{#lst:Wrap List Container|main content}}&lt;br /&gt;
== FixedList Container ==&lt;br /&gt;
{{#lst:Fixed List Container|main content}}&lt;br /&gt;
== Panel Container ==&lt;br /&gt;
{{#lst:Panel Container|main content}}&lt;br /&gt;
&lt;br /&gt;
= Filling containers=&lt;br /&gt;
== Filling containers with static content ==&lt;br /&gt;
{{#lst:Static List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
== Filling containers with dynamic content ==&lt;br /&gt;
{{#lst:Dynamic List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
= Conditional_Visibility =&lt;br /&gt;
Kodi&#039;s skinning engine versatility is based upon the fact that the skinner can display and hide portions of the skin using a variety of conditional statements that can be combined to create very user friendly UI implementations. For further information of available variable and how they can be applied.&lt;br /&gt;
{{#lst:Conditional Visibility|main content}}&lt;br /&gt;
&lt;br /&gt;
= Animations =&lt;br /&gt;
The Kodi skinning engine supports animations of any control allowing them to rotate, slide, fade or any combination there-of. Combining animations with conditional statements ensure your skin will have stunning effects that appear as professional as a 1st party product.&lt;br /&gt;
== Animating Your Skin ==&lt;br /&gt;
{{#lst:Animating Your Skin|main content}}&lt;br /&gt;
&lt;br /&gt;
= Tweeners =&lt;br /&gt;
{{#lst:Tweeners|main content}}&lt;br /&gt;
&lt;br /&gt;
= Fonts =&lt;br /&gt;
Kodi allows you to customize which fonts are displayed onscreen in the User Interface.&lt;br /&gt;
{{#lst:Fonts|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix I: List of Windows =&lt;br /&gt;
{{#lst:Window IDs|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix II: List of Boolean Conditions =&lt;br /&gt;
{{#lst:List of Boolean Conditions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix III: List of Info Labels =&lt;br /&gt;
{{#lst:InfoLabels|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix IV: List of Built In Functions =&lt;br /&gt;
{{#lst:List of Built In Functions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix V: List of Built In Controls =&lt;br /&gt;
{{#lst:List of Built In Controls|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix VI: List of Default Icons =&lt;br /&gt;
{{#lst:Default Icons|main content}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Repositories]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin development|*]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132320</id>
		<title>Skinning Manual</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132320"/>
		<updated>2018-01-13T12:28:33Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Nested */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Development]]|[[Skin development]]}}&lt;br /&gt;
&lt;br /&gt;
Kodi includes a GUI library that allows you to skin/change everything you see in Kodi, from the images, the sizes and positions of all controls, colours, fonts, and text, through to altering navigation and even adding new functionality.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The skin system is quite complex, and this portion of the manual is dedicated to providing in depth information on how it all works, along with tips to make the experience a little more pleasant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are just getting started with skinning Kodi, then it is suggested that the best way to learn is by modifying one of the many existing skins that are available. The default skin, Confluence, includes almost all the various tricks and features that make the Kodi skinning engine so powerful, so is an ideal place to start. You may wish to start by having a look through the [[XBMC Skinning Tutorials|tutorial section on skinning Kodi]] as well as the &amp;quot;[[Skinning XBMC|Skinning Kodi]]&amp;quot; article, and try modifying a window or two by adding a button, or altering the textures or layout.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Anatomy of a Skin =&lt;br /&gt;
Kodi skins, once installed, are located in [[userdata]] addons folder. This is the folder where all skins are placed and listed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Any additional skins you create, or download from, or be installed via zip, Kodi will load and ask you if you would like to load the skin and also allow you to load them up from within the Appearance Settings. It is suggested that if you want to make your own skin, then starting by copying an existing skins files over into a new folder (let&#039;s say skin/myskin) is a good place to start. You can then edit each of the files as you become more familiar with the skinning system.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder contains several subdirectorys, and one file:&lt;br /&gt;
; myskin/720p&lt;br /&gt;
: This is a resolution-specific directory. Kodi can run in multiple resolutions, and thus can use different files for some resolutions (as there is a big difference between NTSC at 720x480 pixels and 1080i at 1920x1080 pixels!) &lt;br /&gt;
; myskin/backgrounds&lt;br /&gt;
: optional folder containing the background images used in the skin&lt;br /&gt;
; myskin/colors&lt;br /&gt;
: contains a defaults.xml file which is used to define the colours used in the skin&lt;br /&gt;
; myskin/font&lt;br /&gt;
: This subdirectory contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; myskin/language&lt;br /&gt;
: contains several subfolders for each language (English/strings.po). you can define strings used in your skin in this file.&lt;br /&gt;
; myskin/media&lt;br /&gt;
: This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. &lt;br /&gt;
; myskin/resources&lt;br /&gt;
: place your icon.png (a 256x256 or 512x512 png image for your skin), fanart.jpg (a 1280x720 or 1920x1080 jpeg fanart image for your skin) and 10 jpeg screenshots (1280x720) of your skin in here. Name them screenshot01.jpg, screenshot02.jpg ect.&lt;br /&gt;
; [[addon.xml|myskin/addon.xml]]&lt;br /&gt;
: This contains the information that Kodi uses to find the other files that Kodi requires to describe it&#039;s skin. It also contains credits information, and versioning information.&lt;br /&gt;
; myskin/LICENSE.txt&lt;br /&gt;
: we recommend to include a Creative Commons license file in your skin:  http://creativecommons.org/licenses/&lt;br /&gt;
[[Addon.xml#Skin specific elements|See here for the order in which it looks for skin files.]]&lt;br /&gt;
&lt;br /&gt;
= Skin Themes =&lt;br /&gt;
All the basic media files for a skin should be compressed into the Textures.xbt file, and placed in the media/ folder. You can use the tool [[Texturepacker]] for this. All the images that make up the default skin theme should be in the Textures.xbt file.&lt;br /&gt;
&lt;br /&gt;
In addition to this, Kodi allows other .xbt files in the media/ folder, each one representing a different theme for your skin. &lt;br /&gt;
For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt.&lt;br /&gt;
This gives users more choice in the look of a particular skin, and only the textures change when you change themes – the layout stays the same. &lt;br /&gt;
If the user has selected a theme, then when a control requires a texture, Kodi will first look in the &amp;lt;themename&amp;gt;.xbt file for the texture. &lt;br /&gt;
It will fall back to the Textures.xbt file if &amp;lt;themename&amp;gt;.xbt doesn&#039;t contain the image. This means that the theme .xbt files need only contain the changed textures – all other textures will fallback to using Textures.xbt as usual.&lt;br /&gt;
&lt;br /&gt;
A suggested method of creating a theme is as follows:&lt;br /&gt;
&lt;br /&gt;
# Run Texturepacker.exe on the folder containing the default texture files, to generate Textures.xbt as you would normally do.&lt;br /&gt;
# Identify the textures you wish to have themed and copy them to a separate folder.&lt;br /&gt;
# Create a separate folder for each theme outside of your normal skin work area, and place the altered copies of each of the textures in them.&lt;br /&gt;
# Run Texturepacker.exe on each of the theme folders created in step 3 to create the themed .xbt files (note you can use the -output switch with Texturepacker.exe to name the theme appropriately).&lt;br /&gt;
# Place Textures.xbt and each of the theme .xbt files in the media/ folder of your skin. Kodi will automatically pick them up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= addon.xml =&lt;br /&gt;
&lt;br /&gt;
{{main|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Window Structure ==&lt;br /&gt;
{{#lst:Window Structure|main content}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Includes =&lt;br /&gt;
The other special (and arguably the most important skinning file of all) is includes.xml. This is, as its title suggests, a place from which you can define the default look, size, and positioning of controls, to save you replicating many of the control&#039;s attributes throughout the window .xml files. For instance, you can setup the size, and textures used for a button control, thus allowing you to leave those details out in the rest of the skin files, unless of course you want to override the default look or size etc. in a particular window.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This is extremely valuable as it allows you to greatly simplify a lot of the work in building a skin. For one thing, it means that once you have include files setup, many of the default parameters for a different resolution can be done by just altering the parameters within the include file(s) for the different resolution.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can infact have more than one include file - you can specify the file attribute when including from a different file, allowing you to have an include file dedicated to a particular set of attributes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The layout of an includes file is as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;includes&amp;gt;&lt;br /&gt;
    &amp;lt;include name=&amp;quot;whitetext&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;textcolor&amp;gt;ffffffff&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;include file=&amp;quot;listdefaults.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include condition=&amp;quot;Skin.HasSetting(extras) file=&amp;quot;includes_extras.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;constant name=&amp;quot;leftedge&amp;quot;&amp;gt;50&amp;lt;/constant&amp;gt;&lt;br /&gt;
  &amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll notice in the above example that we have 4 different types of includes. The first &amp;lt;include&amp;gt; tag basically allows a substitution of the tags underneath it whenever it occurs. For instance, if in a window .xml file you have this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;togglebutton&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    ... other tags go here&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then it would substitute the &amp;lt;textcolor&amp;gt; tag for where the include tag is. You can have as many includes as you like, and as many tags can be inside an include - even complete controls, or complete control groups.&lt;br /&gt;
&lt;br /&gt;
The second &amp;lt;include&amp;gt; tag in the example demonstrates how to include from a different file. As there is no include name specified, it will include the contents of the entire file at that point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;default&amp;gt; tag is similar to an include, except that it is used in every control of that type - even if you don&#039;t specify that the control is to use includes. Thus every buttoncontrol will have the whitetext include in it. Note that you can override this by specifying the &amp;lt;textcolor&amp;gt; tag in the buttoncontrol.&lt;br /&gt;
&lt;br /&gt;
And finally, the &amp;lt;constant&amp;gt; tag allows you to define a numeric (floating point) constant by name for use in place of numeric values (&amp;lt;left&amp;gt;, height=&amp;quot;&amp;quot; etc.) would otherwise be used. This allows alignment of items using the same position values which can then easily be altered in one place.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use params in includes ==&lt;br /&gt;
As of Kodi 15.0 Isengard you get is the ability to pass arbitrary parameters to your includes and then use these values anywhere within the include body. Just so you don&#039;t have to copy/paste huge chunks of XML anymore in order to change just a value or two. Includes are now roughly equivalent to &amp;quot;procedures&amp;quot; in programming languages. Here&#039;s the final syntax that has been included in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Include definitions&#039;&#039;&#039; are still written within &#039;&#039;&amp;lt;includes&amp;gt;&#039;&#039; tag, usually in &#039;&#039;includes.xml&#039;&#039;. But they can now accept parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot; default=&amp;quot;120&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;top&amp;quot;&amp;gt;225&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, the first part is called &#039;&#039;parameter list&#039;&#039; and is specified using &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags. When it is present, include body that follows it should be enclosed within &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; tag. At the moment, parameter list is optional and is mainly used for specifying default values for parameters (such as &#039;&#039;120&#039;&#039; and &#039;&#039;225&#039;&#039; above), but is otherwise not mandatory.&lt;br /&gt;
&lt;br /&gt;
The above include can be called like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;52&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot;&amp;gt;300&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has the exact same effect as if you&#039;ve written this instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;52&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;300&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;225&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and called it (old-style) like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;MyControl&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
only without added benefits.&lt;br /&gt;
&lt;br /&gt;
Any appropriate value can be passed as parameter in the new &#039;&#039;&#039;include call&#039;&#039;&#039;, including &#039;&#039;$INFO&#039;&#039; labels, &#039;&#039;$LOCALIZE&#039;&#039;, &#039;&#039;$VAR&#039;&#039;s, constants, etc. Empty string (&#039;&#039;value=&amp;quot;&amp;quot;&#039;&#039;) can also be passed, for example to override a non-empty default value set in the include definition.&lt;br /&gt;
&lt;br /&gt;
Default values are used as replacement when their parameters are not passed in the include call.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$PARAM&#039;&#039; references can be specified within both &#039;&#039;&#039;tag values and attributes&#039;&#039;&#039; inside include body, and are expanded to either actual value passed (if it was passed), default value (if set) or empty string, in that order.&lt;br /&gt;
&lt;br /&gt;
Parameters without default values (such as &#039;&#039;id&#039;&#039; above) are specified for better readability and documentation purposes only, but are otherwise not necessary and can be omitted. This is really a matter of style, and some skinners might prefer writing explicit parameter lists to specify all parameters referenced in the include body. It&#039;s a good practice though, as explicit parameter lists might be better utilized in the future versions of Kodi.&lt;br /&gt;
&lt;br /&gt;
If there are no &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags at all, &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; can be omitted too. This leads to even shorter syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Includes can call other (nested) includes and even pass them &#039;&#039;exact&#039;&#039; parameter values that they&#039;ve got themselves. This is called &#039;&#039;&#039;parameter forwarding&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;include name=&amp;quot;MyOtherControl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label&amp;quot;&amp;gt;$INFO[Player.Title]&amp;lt;/param&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label2&amp;quot; value=&amp;quot;x:$PARAM[left]; y:$PARAM[top]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;color&amp;quot; value=&amp;quot;$PARAM[color]&amp;quot;/&amp;gt;     &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;$PARAM[scrollbarid]&amp;quot;/&amp;gt;  &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, &#039;&#039;$PARAM[color]&#039;&#039; and &#039;&#039;$PARAM[scrollbarid]&#039;&#039; will be forwarded to &#039;&#039;MyOtherControl&#039;&#039; &#039;&#039;&#039;only&#039;&#039;&#039; if parameters &#039;&#039;color&#039;&#039; and &#039;&#039;scrollbarid&#039;&#039; have actually been passed to &#039;&#039;MyControl&#039;&#039;, otherwise the default values for &#039;&#039;color&#039;&#039; and &#039;&#039;id&#039;&#039; (if set in &#039;&#039;MyOtherControl&#039;&#039;) will be used instead in the body of &#039;&#039;MyOtherControl&#039;&#039;. Composite values containing other characters (such as &#039;&#039;label2&#039;&#039;) are not considered as &amp;quot;true&amp;quot; forwarding and always override any default value set in the nested include, even when they expand to empty strings.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nested ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;nested&amp;lt;/code&amp;gt; element can be used as a placeholder for elements (controls) defined between the start-tag and end-tag of an include element. The nested part can contain anything what is valid in our skin language. Using parameters for the nested XML fragment is also supported.&lt;br /&gt;
&lt;br /&gt;
This is really handy if you want to re-use elements (controls) before and after some variable elements (controls) e.g. a box with a header and footer but variable content.&lt;br /&gt;
&lt;br /&gt;
=== Definition of an include using nested ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyBox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;nested /&amp;gt; &amp;lt;!-- used to indicate where to place nested elements of the include --&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use the include with nested elements ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyBox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;x&amp;quot; value=&amp;quot;v1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;y&amp;quot; value=&amp;quot;v2&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- nested elements --&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;/control&amp;gt; &lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Variables make it easier to use conditional infolabels. You can define them in Includes.xml, or to keep them separate, you can place them in another file which is included in Includes.xml.&lt;br /&gt;
You can include a file in Includes.xml by adding a line like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Variables.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Variables can be used in any tag that supports infolabels, like the texture, label and visible tags. Instead of having to include two whole controls with a condition, they allow you to just apply the condition to the actual texture or label. Meaning less controls to maintain ect. The values in the variable are read from top to bottom and the first condition that is met gets used. The last value usually has no condition and it&#039;s content acts as a fallback. The following example shows the album label if the player has audio, the year if there is no audio and no fallback is used (because there either is or is not any audio).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;variable name=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Album]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;!Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Year]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value&amp;gt;-&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/variable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can use a variable in a label control like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$VAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or when the viariable value is likely to contain commas (,) and/or quotes (&amp;quot;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$ESCVAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(see $ESCINFO[] for more info on the need to escape strings: http://kodi.wiki/view/Label_Parsing)&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
In case you want to re-use a certain value multiple times in your skin, you can define a constant for it:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;FanartCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;IconCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can now reference this value by it&#039;s name elsewhere in your skin:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;256&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;256&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;texture background=&amp;quot;true&amp;quot;&amp;gt;$INFO[ListItem.Icon]&amp;lt;/texture&amp;gt;&lt;br /&gt;
	&amp;lt;fadetime&amp;gt;IconCrossfadeTime&amp;lt;/fadetime&amp;gt;&lt;br /&gt;
&amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Defaults ==&lt;br /&gt;
for every control type, you can define a default template. for instance here&#039;s a template for a button control:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;700&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;label&amp;gt;-&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;texturefocus border=&amp;quot;20&amp;quot;&amp;gt;list-focus.png&amp;lt;/texturefocus&amp;gt;&lt;br /&gt;
	&amp;lt;texturenofocus border=&amp;quot;20&amp;quot;&amp;gt;list-nofocus.png&amp;lt;/texturenofocus&amp;gt;&lt;br /&gt;
	&amp;lt;font&amp;gt;font20&amp;lt;/font&amp;gt;&lt;br /&gt;
	&amp;lt;textcolor&amp;gt;white&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
	&amp;lt;focusedcolor&amp;gt;blue&amp;lt;/focusedcolor&amp;gt;&lt;br /&gt;
	&amp;lt;disabledcolor&amp;gt;darkgrey&amp;lt;/disabledcolor&amp;gt;&lt;br /&gt;
	&amp;lt;invalidcolor&amp;gt;red&amp;lt;/invalidcolor&amp;gt;&lt;br /&gt;
	&amp;lt;textoffsetx&amp;gt;10&amp;lt;/textoffsetx&amp;gt;&lt;br /&gt;
	&amp;lt;aligny&amp;gt;center&amp;lt;/aligny&amp;gt;&lt;br /&gt;
	&amp;lt;pulseonselect&amp;gt;true&amp;lt;/pulseonselect&amp;gt;&lt;br /&gt;
&amp;lt;/default&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the benefit of defining defaults is that kodi will use the template everywhere in you skin where a button is used,&lt;br /&gt;
so you don&#039;t have to code all of the tags for each and every button. you only have to code the tags that you want to differ from the default template.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Expressions ==&lt;br /&gt;
expressions are useful if you need to use a certain boolean expression several times throughout your skin.&lt;br /&gt;
they can be defined in your includes file like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;HasInfoDialog&amp;quot;&amp;gt;Window.IsActive(musicinformation) | Window.IsActive(movieinformation) | Window.IsActive(addoninformation)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;PluginAdvancedLauncher&amp;quot;&amp;gt;substring(Container.FolderPath,plugin://plugin.program.advanced.launcher/,left)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to use an expression in your skin, you can reference them using $EXP[]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation condition=&amp;quot;$EXP[HasInfoDialog]&amp;quot; effect=&amp;quot;fade&amp;quot; start=&amp;quot;100&amp;quot; end=&amp;quot;0&amp;quot; time=&amp;quot;200&amp;quot; tween=&amp;quot;sine&amp;quot;&amp;gt;Conditional&amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;visible&amp;gt;$EXP[PluginAdvancedLauncher] + !Window.IsActive(Home)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
expressions can be used in the following tags/attributes:&lt;br /&gt;
* visible&lt;br /&gt;
* enable&lt;br /&gt;
* usealttexture&lt;br /&gt;
* selected&lt;br /&gt;
* condition&lt;br /&gt;
&lt;br /&gt;
= Controls =&lt;br /&gt;
Controls are the substance of your skin. They define everything from buttons, to text labels, to visualization placement. This portion of the manual will explain each and every control in detail.&lt;br /&gt;
== Label Control ==&lt;br /&gt;
{{#lst:Label Control|main content}}&lt;br /&gt;
== Fade Label Control ==&lt;br /&gt;
{{#lst:Fade Label Control|main content}}&lt;br /&gt;
== Button Control ==&lt;br /&gt;
{{#lst:Button control|main content}}&lt;br /&gt;
== Image Control ==&lt;br /&gt;
{{#lst:Image Control|main content}}&lt;br /&gt;
== MultiImage Control ==&lt;br /&gt;
{{#lst:MultiImage Control|main content}}&lt;br /&gt;
== Radio button Control ==&lt;br /&gt;
{{#lst:Radio button control|main content}}&lt;br /&gt;
== Toggle button control ==&lt;br /&gt;
{{#lst:Toggle button control|main content}}&lt;br /&gt;
== Spin Control ==&lt;br /&gt;
{{#lst:Spin_Control|main content}}&lt;br /&gt;
== Settings Spin Control ==&lt;br /&gt;
{{#lst:Settings_Spin_Control|main content}}&lt;br /&gt;
== Slider Control ==&lt;br /&gt;
{{#lst:Slider Control|main content}}&lt;br /&gt;
== Progress Control ==&lt;br /&gt;
{{#lst:Progress Control|main content}}&lt;br /&gt;
== ScrollBar Control ==&lt;br /&gt;
{{#lst:Scroll Bar Control|main content}}&lt;br /&gt;
== Text Box ==&lt;br /&gt;
{{#lst:Text Box|main content}}&lt;br /&gt;
== RSS feed Control ==&lt;br /&gt;
{{#lst:RSS feed Control|main content}}&lt;br /&gt;
== Visualisation Control ==&lt;br /&gt;
{{#lst:Visualisation Control|main content}}&lt;br /&gt;
== Video Control ==&lt;br /&gt;
{{#lst:Video Control|main content}}&lt;br /&gt;
== Mover Control ==&lt;br /&gt;
{{#lst:Mover Control|main content}}&lt;br /&gt;
== Resize Control ==&lt;br /&gt;
{{#lst:Resize Control|main content}}&lt;br /&gt;
== Edit Control ==&lt;br /&gt;
{{#lst:Edit Control|main content}}&lt;br /&gt;
== EPGGrid Control ==&lt;br /&gt;
{{#lst:EPGGrid_control|main content}}&lt;br /&gt;
== Gamecontroller Control ==&lt;br /&gt;
{{#lst:Gamecontroller_Control|main content}}&lt;br /&gt;
== Group Control ==&lt;br /&gt;
{{#lst:Group Control|main content}}&lt;br /&gt;
== GroupList Control ==&lt;br /&gt;
{{#lst:Group List Control|main content}}&lt;br /&gt;
== List Container ==&lt;br /&gt;
{{#lst:List Container|main content}}&lt;br /&gt;
== Wraplist Container ==&lt;br /&gt;
{{#lst:Wrap List Container|main content}}&lt;br /&gt;
== FixedList Container ==&lt;br /&gt;
{{#lst:Fixed List Container|main content}}&lt;br /&gt;
== Panel Container ==&lt;br /&gt;
{{#lst:Panel Container|main content}}&lt;br /&gt;
&lt;br /&gt;
= Filling containers=&lt;br /&gt;
== Filling containers with static content ==&lt;br /&gt;
{{#lst:Static List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
== Filling containers with dynamic content ==&lt;br /&gt;
{{#lst:Dynamic List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
= Conditional_Visibility =&lt;br /&gt;
Kodi&#039;s skinning engine versatility is based upon the fact that the skinner can display and hide portions of the skin using a variety of conditional statements that can be combined to create very user friendly UI implementations. For further information of available variable and how they can be applied.&lt;br /&gt;
{{#lst:Conditional Visibility|main content}}&lt;br /&gt;
&lt;br /&gt;
= Animations =&lt;br /&gt;
The Kodi skinning engine supports animations of any control allowing them to rotate, slide, fade or any combination there-of. Combining animations with conditional statements ensure your skin will have stunning effects that appear as professional as a 1st party product.&lt;br /&gt;
== Animating Your Skin ==&lt;br /&gt;
{{#lst:Animating Your Skin|main content}}&lt;br /&gt;
&lt;br /&gt;
= Tweeners =&lt;br /&gt;
{{#lst:Tweeners|main content}}&lt;br /&gt;
&lt;br /&gt;
= Fonts =&lt;br /&gt;
Kodi allows you to customize which fonts are displayed onscreen in the User Interface.&lt;br /&gt;
{{#lst:Fonts|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix I: List of Windows =&lt;br /&gt;
{{#lst:Window IDs|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix II: List of Boolean Conditions =&lt;br /&gt;
{{#lst:List of Boolean Conditions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix III: List of Info Labels =&lt;br /&gt;
{{#lst:InfoLabels|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix IV: List of Built In Functions =&lt;br /&gt;
{{#lst:List of Built In Functions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix V: List of Built In Controls =&lt;br /&gt;
{{#lst:List of Built In Controls|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix VI: List of Default Icons =&lt;br /&gt;
{{#lst:Default Icons|main content}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Repositories]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin development|*]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132319</id>
		<title>Skinning Manual</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132319"/>
		<updated>2018-01-13T12:28:17Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Nested */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Development]]|[[Skin development]]}}&lt;br /&gt;
&lt;br /&gt;
Kodi includes a GUI library that allows you to skin/change everything you see in Kodi, from the images, the sizes and positions of all controls, colours, fonts, and text, through to altering navigation and even adding new functionality.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The skin system is quite complex, and this portion of the manual is dedicated to providing in depth information on how it all works, along with tips to make the experience a little more pleasant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are just getting started with skinning Kodi, then it is suggested that the best way to learn is by modifying one of the many existing skins that are available. The default skin, Confluence, includes almost all the various tricks and features that make the Kodi skinning engine so powerful, so is an ideal place to start. You may wish to start by having a look through the [[XBMC Skinning Tutorials|tutorial section on skinning Kodi]] as well as the &amp;quot;[[Skinning XBMC|Skinning Kodi]]&amp;quot; article, and try modifying a window or two by adding a button, or altering the textures or layout.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Anatomy of a Skin =&lt;br /&gt;
Kodi skins, once installed, are located in [[userdata]] addons folder. This is the folder where all skins are placed and listed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Any additional skins you create, or download from, or be installed via zip, Kodi will load and ask you if you would like to load the skin and also allow you to load them up from within the Appearance Settings. It is suggested that if you want to make your own skin, then starting by copying an existing skins files over into a new folder (let&#039;s say skin/myskin) is a good place to start. You can then edit each of the files as you become more familiar with the skinning system.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder contains several subdirectorys, and one file:&lt;br /&gt;
; myskin/720p&lt;br /&gt;
: This is a resolution-specific directory. Kodi can run in multiple resolutions, and thus can use different files for some resolutions (as there is a big difference between NTSC at 720x480 pixels and 1080i at 1920x1080 pixels!) &lt;br /&gt;
; myskin/backgrounds&lt;br /&gt;
: optional folder containing the background images used in the skin&lt;br /&gt;
; myskin/colors&lt;br /&gt;
: contains a defaults.xml file which is used to define the colours used in the skin&lt;br /&gt;
; myskin/font&lt;br /&gt;
: This subdirectory contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; myskin/language&lt;br /&gt;
: contains several subfolders for each language (English/strings.po). you can define strings used in your skin in this file.&lt;br /&gt;
; myskin/media&lt;br /&gt;
: This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. &lt;br /&gt;
; myskin/resources&lt;br /&gt;
: place your icon.png (a 256x256 or 512x512 png image for your skin), fanart.jpg (a 1280x720 or 1920x1080 jpeg fanart image for your skin) and 10 jpeg screenshots (1280x720) of your skin in here. Name them screenshot01.jpg, screenshot02.jpg ect.&lt;br /&gt;
; [[addon.xml|myskin/addon.xml]]&lt;br /&gt;
: This contains the information that Kodi uses to find the other files that Kodi requires to describe it&#039;s skin. It also contains credits information, and versioning information.&lt;br /&gt;
; myskin/LICENSE.txt&lt;br /&gt;
: we recommend to include a Creative Commons license file in your skin:  http://creativecommons.org/licenses/&lt;br /&gt;
[[Addon.xml#Skin specific elements|See here for the order in which it looks for skin files.]]&lt;br /&gt;
&lt;br /&gt;
= Skin Themes =&lt;br /&gt;
All the basic media files for a skin should be compressed into the Textures.xbt file, and placed in the media/ folder. You can use the tool [[Texturepacker]] for this. All the images that make up the default skin theme should be in the Textures.xbt file.&lt;br /&gt;
&lt;br /&gt;
In addition to this, Kodi allows other .xbt files in the media/ folder, each one representing a different theme for your skin. &lt;br /&gt;
For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt.&lt;br /&gt;
This gives users more choice in the look of a particular skin, and only the textures change when you change themes – the layout stays the same. &lt;br /&gt;
If the user has selected a theme, then when a control requires a texture, Kodi will first look in the &amp;lt;themename&amp;gt;.xbt file for the texture. &lt;br /&gt;
It will fall back to the Textures.xbt file if &amp;lt;themename&amp;gt;.xbt doesn&#039;t contain the image. This means that the theme .xbt files need only contain the changed textures – all other textures will fallback to using Textures.xbt as usual.&lt;br /&gt;
&lt;br /&gt;
A suggested method of creating a theme is as follows:&lt;br /&gt;
&lt;br /&gt;
# Run Texturepacker.exe on the folder containing the default texture files, to generate Textures.xbt as you would normally do.&lt;br /&gt;
# Identify the textures you wish to have themed and copy them to a separate folder.&lt;br /&gt;
# Create a separate folder for each theme outside of your normal skin work area, and place the altered copies of each of the textures in them.&lt;br /&gt;
# Run Texturepacker.exe on each of the theme folders created in step 3 to create the themed .xbt files (note you can use the -output switch with Texturepacker.exe to name the theme appropriately).&lt;br /&gt;
# Place Textures.xbt and each of the theme .xbt files in the media/ folder of your skin. Kodi will automatically pick them up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= addon.xml =&lt;br /&gt;
&lt;br /&gt;
{{main|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Window Structure ==&lt;br /&gt;
{{#lst:Window Structure|main content}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Includes =&lt;br /&gt;
The other special (and arguably the most important skinning file of all) is includes.xml. This is, as its title suggests, a place from which you can define the default look, size, and positioning of controls, to save you replicating many of the control&#039;s attributes throughout the window .xml files. For instance, you can setup the size, and textures used for a button control, thus allowing you to leave those details out in the rest of the skin files, unless of course you want to override the default look or size etc. in a particular window.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This is extremely valuable as it allows you to greatly simplify a lot of the work in building a skin. For one thing, it means that once you have include files setup, many of the default parameters for a different resolution can be done by just altering the parameters within the include file(s) for the different resolution.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can infact have more than one include file - you can specify the file attribute when including from a different file, allowing you to have an include file dedicated to a particular set of attributes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The layout of an includes file is as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;includes&amp;gt;&lt;br /&gt;
    &amp;lt;include name=&amp;quot;whitetext&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;textcolor&amp;gt;ffffffff&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;include file=&amp;quot;listdefaults.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include condition=&amp;quot;Skin.HasSetting(extras) file=&amp;quot;includes_extras.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;constant name=&amp;quot;leftedge&amp;quot;&amp;gt;50&amp;lt;/constant&amp;gt;&lt;br /&gt;
  &amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll notice in the above example that we have 4 different types of includes. The first &amp;lt;include&amp;gt; tag basically allows a substitution of the tags underneath it whenever it occurs. For instance, if in a window .xml file you have this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;togglebutton&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    ... other tags go here&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then it would substitute the &amp;lt;textcolor&amp;gt; tag for where the include tag is. You can have as many includes as you like, and as many tags can be inside an include - even complete controls, or complete control groups.&lt;br /&gt;
&lt;br /&gt;
The second &amp;lt;include&amp;gt; tag in the example demonstrates how to include from a different file. As there is no include name specified, it will include the contents of the entire file at that point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;default&amp;gt; tag is similar to an include, except that it is used in every control of that type - even if you don&#039;t specify that the control is to use includes. Thus every buttoncontrol will have the whitetext include in it. Note that you can override this by specifying the &amp;lt;textcolor&amp;gt; tag in the buttoncontrol.&lt;br /&gt;
&lt;br /&gt;
And finally, the &amp;lt;constant&amp;gt; tag allows you to define a numeric (floating point) constant by name for use in place of numeric values (&amp;lt;left&amp;gt;, height=&amp;quot;&amp;quot; etc.) would otherwise be used. This allows alignment of items using the same position values which can then easily be altered in one place.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use params in includes ==&lt;br /&gt;
As of Kodi 15.0 Isengard you get is the ability to pass arbitrary parameters to your includes and then use these values anywhere within the include body. Just so you don&#039;t have to copy/paste huge chunks of XML anymore in order to change just a value or two. Includes are now roughly equivalent to &amp;quot;procedures&amp;quot; in programming languages. Here&#039;s the final syntax that has been included in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Include definitions&#039;&#039;&#039; are still written within &#039;&#039;&amp;lt;includes&amp;gt;&#039;&#039; tag, usually in &#039;&#039;includes.xml&#039;&#039;. But they can now accept parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot; default=&amp;quot;120&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;top&amp;quot;&amp;gt;225&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, the first part is called &#039;&#039;parameter list&#039;&#039; and is specified using &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags. When it is present, include body that follows it should be enclosed within &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; tag. At the moment, parameter list is optional and is mainly used for specifying default values for parameters (such as &#039;&#039;120&#039;&#039; and &#039;&#039;225&#039;&#039; above), but is otherwise not mandatory.&lt;br /&gt;
&lt;br /&gt;
The above include can be called like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;52&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot;&amp;gt;300&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has the exact same effect as if you&#039;ve written this instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;52&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;300&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;225&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and called it (old-style) like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;MyControl&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
only without added benefits.&lt;br /&gt;
&lt;br /&gt;
Any appropriate value can be passed as parameter in the new &#039;&#039;&#039;include call&#039;&#039;&#039;, including &#039;&#039;$INFO&#039;&#039; labels, &#039;&#039;$LOCALIZE&#039;&#039;, &#039;&#039;$VAR&#039;&#039;s, constants, etc. Empty string (&#039;&#039;value=&amp;quot;&amp;quot;&#039;&#039;) can also be passed, for example to override a non-empty default value set in the include definition.&lt;br /&gt;
&lt;br /&gt;
Default values are used as replacement when their parameters are not passed in the include call.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$PARAM&#039;&#039; references can be specified within both &#039;&#039;&#039;tag values and attributes&#039;&#039;&#039; inside include body, and are expanded to either actual value passed (if it was passed), default value (if set) or empty string, in that order.&lt;br /&gt;
&lt;br /&gt;
Parameters without default values (such as &#039;&#039;id&#039;&#039; above) are specified for better readability and documentation purposes only, but are otherwise not necessary and can be omitted. This is really a matter of style, and some skinners might prefer writing explicit parameter lists to specify all parameters referenced in the include body. It&#039;s a good practice though, as explicit parameter lists might be better utilized in the future versions of Kodi.&lt;br /&gt;
&lt;br /&gt;
If there are no &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags at all, &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; can be omitted too. This leads to even shorter syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Includes can call other (nested) includes and even pass them &#039;&#039;exact&#039;&#039; parameter values that they&#039;ve got themselves. This is called &#039;&#039;&#039;parameter forwarding&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;include name=&amp;quot;MyOtherControl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label&amp;quot;&amp;gt;$INFO[Player.Title]&amp;lt;/param&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label2&amp;quot; value=&amp;quot;x:$PARAM[left]; y:$PARAM[top]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;color&amp;quot; value=&amp;quot;$PARAM[color]&amp;quot;/&amp;gt;     &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;$PARAM[scrollbarid]&amp;quot;/&amp;gt;  &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, &#039;&#039;$PARAM[color]&#039;&#039; and &#039;&#039;$PARAM[scrollbarid]&#039;&#039; will be forwarded to &#039;&#039;MyOtherControl&#039;&#039; &#039;&#039;&#039;only&#039;&#039;&#039; if parameters &#039;&#039;color&#039;&#039; and &#039;&#039;scrollbarid&#039;&#039; have actually been passed to &#039;&#039;MyControl&#039;&#039;, otherwise the default values for &#039;&#039;color&#039;&#039; and &#039;&#039;id&#039;&#039; (if set in &#039;&#039;MyOtherControl&#039;&#039;) will be used instead in the body of &#039;&#039;MyOtherControl&#039;&#039;. Composite values containing other characters (such as &#039;&#039;label2&#039;&#039;) are not considered as &amp;quot;true&amp;quot; forwarding and always override any default value set in the nested include, even when they expand to empty strings.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nested ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;nested&amp;lt;/code&amp;gt; element can be used as a placeholder for elements (controls) defined between the start-tag and end-tag of an include element. The nested part can contain anything what is valid in our skin language. Using parameters for the nested XML fragment is also supported.&lt;br /&gt;
&lt;br /&gt;
This is really handy if you want to re-use elements (controls) before and after some variable elements (controls) e.g. a box with a header footer but variable content.&lt;br /&gt;
&lt;br /&gt;
=== Definition of an include using nested ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyBox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;nested /&amp;gt; &amp;lt;!-- used to indicate where to place nested elements of the include --&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use the include with nested elements ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyBox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;x&amp;quot; value=&amp;quot;v1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;y&amp;quot; value=&amp;quot;v2&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- nested elements --&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;/control&amp;gt; &lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Variables make it easier to use conditional infolabels. You can define them in Includes.xml, or to keep them separate, you can place them in another file which is included in Includes.xml.&lt;br /&gt;
You can include a file in Includes.xml by adding a line like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Variables.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Variables can be used in any tag that supports infolabels, like the texture, label and visible tags. Instead of having to include two whole controls with a condition, they allow you to just apply the condition to the actual texture or label. Meaning less controls to maintain ect. The values in the variable are read from top to bottom and the first condition that is met gets used. The last value usually has no condition and it&#039;s content acts as a fallback. The following example shows the album label if the player has audio, the year if there is no audio and no fallback is used (because there either is or is not any audio).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;variable name=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Album]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;!Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Year]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value&amp;gt;-&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/variable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can use a variable in a label control like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$VAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or when the viariable value is likely to contain commas (,) and/or quotes (&amp;quot;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$ESCVAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(see $ESCINFO[] for more info on the need to escape strings: http://kodi.wiki/view/Label_Parsing)&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
In case you want to re-use a certain value multiple times in your skin, you can define a constant for it:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;FanartCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;IconCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can now reference this value by it&#039;s name elsewhere in your skin:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;256&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;256&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;texture background=&amp;quot;true&amp;quot;&amp;gt;$INFO[ListItem.Icon]&amp;lt;/texture&amp;gt;&lt;br /&gt;
	&amp;lt;fadetime&amp;gt;IconCrossfadeTime&amp;lt;/fadetime&amp;gt;&lt;br /&gt;
&amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Defaults ==&lt;br /&gt;
for every control type, you can define a default template. for instance here&#039;s a template for a button control:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;700&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;label&amp;gt;-&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;texturefocus border=&amp;quot;20&amp;quot;&amp;gt;list-focus.png&amp;lt;/texturefocus&amp;gt;&lt;br /&gt;
	&amp;lt;texturenofocus border=&amp;quot;20&amp;quot;&amp;gt;list-nofocus.png&amp;lt;/texturenofocus&amp;gt;&lt;br /&gt;
	&amp;lt;font&amp;gt;font20&amp;lt;/font&amp;gt;&lt;br /&gt;
	&amp;lt;textcolor&amp;gt;white&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
	&amp;lt;focusedcolor&amp;gt;blue&amp;lt;/focusedcolor&amp;gt;&lt;br /&gt;
	&amp;lt;disabledcolor&amp;gt;darkgrey&amp;lt;/disabledcolor&amp;gt;&lt;br /&gt;
	&amp;lt;invalidcolor&amp;gt;red&amp;lt;/invalidcolor&amp;gt;&lt;br /&gt;
	&amp;lt;textoffsetx&amp;gt;10&amp;lt;/textoffsetx&amp;gt;&lt;br /&gt;
	&amp;lt;aligny&amp;gt;center&amp;lt;/aligny&amp;gt;&lt;br /&gt;
	&amp;lt;pulseonselect&amp;gt;true&amp;lt;/pulseonselect&amp;gt;&lt;br /&gt;
&amp;lt;/default&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the benefit of defining defaults is that kodi will use the template everywhere in you skin where a button is used,&lt;br /&gt;
so you don&#039;t have to code all of the tags for each and every button. you only have to code the tags that you want to differ from the default template.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Expressions ==&lt;br /&gt;
expressions are useful if you need to use a certain boolean expression several times throughout your skin.&lt;br /&gt;
they can be defined in your includes file like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;HasInfoDialog&amp;quot;&amp;gt;Window.IsActive(musicinformation) | Window.IsActive(movieinformation) | Window.IsActive(addoninformation)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;PluginAdvancedLauncher&amp;quot;&amp;gt;substring(Container.FolderPath,plugin://plugin.program.advanced.launcher/,left)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to use an expression in your skin, you can reference them using $EXP[]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation condition=&amp;quot;$EXP[HasInfoDialog]&amp;quot; effect=&amp;quot;fade&amp;quot; start=&amp;quot;100&amp;quot; end=&amp;quot;0&amp;quot; time=&amp;quot;200&amp;quot; tween=&amp;quot;sine&amp;quot;&amp;gt;Conditional&amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;visible&amp;gt;$EXP[PluginAdvancedLauncher] + !Window.IsActive(Home)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
expressions can be used in the following tags/attributes:&lt;br /&gt;
* visible&lt;br /&gt;
* enable&lt;br /&gt;
* usealttexture&lt;br /&gt;
* selected&lt;br /&gt;
* condition&lt;br /&gt;
&lt;br /&gt;
= Controls =&lt;br /&gt;
Controls are the substance of your skin. They define everything from buttons, to text labels, to visualization placement. This portion of the manual will explain each and every control in detail.&lt;br /&gt;
== Label Control ==&lt;br /&gt;
{{#lst:Label Control|main content}}&lt;br /&gt;
== Fade Label Control ==&lt;br /&gt;
{{#lst:Fade Label Control|main content}}&lt;br /&gt;
== Button Control ==&lt;br /&gt;
{{#lst:Button control|main content}}&lt;br /&gt;
== Image Control ==&lt;br /&gt;
{{#lst:Image Control|main content}}&lt;br /&gt;
== MultiImage Control ==&lt;br /&gt;
{{#lst:MultiImage Control|main content}}&lt;br /&gt;
== Radio button Control ==&lt;br /&gt;
{{#lst:Radio button control|main content}}&lt;br /&gt;
== Toggle button control ==&lt;br /&gt;
{{#lst:Toggle button control|main content}}&lt;br /&gt;
== Spin Control ==&lt;br /&gt;
{{#lst:Spin_Control|main content}}&lt;br /&gt;
== Settings Spin Control ==&lt;br /&gt;
{{#lst:Settings_Spin_Control|main content}}&lt;br /&gt;
== Slider Control ==&lt;br /&gt;
{{#lst:Slider Control|main content}}&lt;br /&gt;
== Progress Control ==&lt;br /&gt;
{{#lst:Progress Control|main content}}&lt;br /&gt;
== ScrollBar Control ==&lt;br /&gt;
{{#lst:Scroll Bar Control|main content}}&lt;br /&gt;
== Text Box ==&lt;br /&gt;
{{#lst:Text Box|main content}}&lt;br /&gt;
== RSS feed Control ==&lt;br /&gt;
{{#lst:RSS feed Control|main content}}&lt;br /&gt;
== Visualisation Control ==&lt;br /&gt;
{{#lst:Visualisation Control|main content}}&lt;br /&gt;
== Video Control ==&lt;br /&gt;
{{#lst:Video Control|main content}}&lt;br /&gt;
== Mover Control ==&lt;br /&gt;
{{#lst:Mover Control|main content}}&lt;br /&gt;
== Resize Control ==&lt;br /&gt;
{{#lst:Resize Control|main content}}&lt;br /&gt;
== Edit Control ==&lt;br /&gt;
{{#lst:Edit Control|main content}}&lt;br /&gt;
== EPGGrid Control ==&lt;br /&gt;
{{#lst:EPGGrid_control|main content}}&lt;br /&gt;
== Gamecontroller Control ==&lt;br /&gt;
{{#lst:Gamecontroller_Control|main content}}&lt;br /&gt;
== Group Control ==&lt;br /&gt;
{{#lst:Group Control|main content}}&lt;br /&gt;
== GroupList Control ==&lt;br /&gt;
{{#lst:Group List Control|main content}}&lt;br /&gt;
== List Container ==&lt;br /&gt;
{{#lst:List Container|main content}}&lt;br /&gt;
== Wraplist Container ==&lt;br /&gt;
{{#lst:Wrap List Container|main content}}&lt;br /&gt;
== FixedList Container ==&lt;br /&gt;
{{#lst:Fixed List Container|main content}}&lt;br /&gt;
== Panel Container ==&lt;br /&gt;
{{#lst:Panel Container|main content}}&lt;br /&gt;
&lt;br /&gt;
= Filling containers=&lt;br /&gt;
== Filling containers with static content ==&lt;br /&gt;
{{#lst:Static List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
== Filling containers with dynamic content ==&lt;br /&gt;
{{#lst:Dynamic List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
= Conditional_Visibility =&lt;br /&gt;
Kodi&#039;s skinning engine versatility is based upon the fact that the skinner can display and hide portions of the skin using a variety of conditional statements that can be combined to create very user friendly UI implementations. For further information of available variable and how they can be applied.&lt;br /&gt;
{{#lst:Conditional Visibility|main content}}&lt;br /&gt;
&lt;br /&gt;
= Animations =&lt;br /&gt;
The Kodi skinning engine supports animations of any control allowing them to rotate, slide, fade or any combination there-of. Combining animations with conditional statements ensure your skin will have stunning effects that appear as professional as a 1st party product.&lt;br /&gt;
== Animating Your Skin ==&lt;br /&gt;
{{#lst:Animating Your Skin|main content}}&lt;br /&gt;
&lt;br /&gt;
= Tweeners =&lt;br /&gt;
{{#lst:Tweeners|main content}}&lt;br /&gt;
&lt;br /&gt;
= Fonts =&lt;br /&gt;
Kodi allows you to customize which fonts are displayed onscreen in the User Interface.&lt;br /&gt;
{{#lst:Fonts|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix I: List of Windows =&lt;br /&gt;
{{#lst:Window IDs|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix II: List of Boolean Conditions =&lt;br /&gt;
{{#lst:List of Boolean Conditions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix III: List of Info Labels =&lt;br /&gt;
{{#lst:InfoLabels|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix IV: List of Built In Functions =&lt;br /&gt;
{{#lst:List of Built In Functions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix V: List of Built In Controls =&lt;br /&gt;
{{#lst:List of Built In Controls|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix VI: List of Default Icons =&lt;br /&gt;
{{#lst:Default Icons|main content}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Repositories]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin development|*]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132318</id>
		<title>Skinning Manual</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132318"/>
		<updated>2018-01-13T12:26:15Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Use nested */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Development]]|[[Skin development]]}}&lt;br /&gt;
&lt;br /&gt;
Kodi includes a GUI library that allows you to skin/change everything you see in Kodi, from the images, the sizes and positions of all controls, colours, fonts, and text, through to altering navigation and even adding new functionality.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The skin system is quite complex, and this portion of the manual is dedicated to providing in depth information on how it all works, along with tips to make the experience a little more pleasant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are just getting started with skinning Kodi, then it is suggested that the best way to learn is by modifying one of the many existing skins that are available. The default skin, Confluence, includes almost all the various tricks and features that make the Kodi skinning engine so powerful, so is an ideal place to start. You may wish to start by having a look through the [[XBMC Skinning Tutorials|tutorial section on skinning Kodi]] as well as the &amp;quot;[[Skinning XBMC|Skinning Kodi]]&amp;quot; article, and try modifying a window or two by adding a button, or altering the textures or layout.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Anatomy of a Skin =&lt;br /&gt;
Kodi skins, once installed, are located in [[userdata]] addons folder. This is the folder where all skins are placed and listed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Any additional skins you create, or download from, or be installed via zip, Kodi will load and ask you if you would like to load the skin and also allow you to load them up from within the Appearance Settings. It is suggested that if you want to make your own skin, then starting by copying an existing skins files over into a new folder (let&#039;s say skin/myskin) is a good place to start. You can then edit each of the files as you become more familiar with the skinning system.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder contains several subdirectorys, and one file:&lt;br /&gt;
; myskin/720p&lt;br /&gt;
: This is a resolution-specific directory. Kodi can run in multiple resolutions, and thus can use different files for some resolutions (as there is a big difference between NTSC at 720x480 pixels and 1080i at 1920x1080 pixels!) &lt;br /&gt;
; myskin/backgrounds&lt;br /&gt;
: optional folder containing the background images used in the skin&lt;br /&gt;
; myskin/colors&lt;br /&gt;
: contains a defaults.xml file which is used to define the colours used in the skin&lt;br /&gt;
; myskin/font&lt;br /&gt;
: This subdirectory contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; myskin/language&lt;br /&gt;
: contains several subfolders for each language (English/strings.po). you can define strings used in your skin in this file.&lt;br /&gt;
; myskin/media&lt;br /&gt;
: This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. &lt;br /&gt;
; myskin/resources&lt;br /&gt;
: place your icon.png (a 256x256 or 512x512 png image for your skin), fanart.jpg (a 1280x720 or 1920x1080 jpeg fanart image for your skin) and 10 jpeg screenshots (1280x720) of your skin in here. Name them screenshot01.jpg, screenshot02.jpg ect.&lt;br /&gt;
; [[addon.xml|myskin/addon.xml]]&lt;br /&gt;
: This contains the information that Kodi uses to find the other files that Kodi requires to describe it&#039;s skin. It also contains credits information, and versioning information.&lt;br /&gt;
; myskin/LICENSE.txt&lt;br /&gt;
: we recommend to include a Creative Commons license file in your skin:  http://creativecommons.org/licenses/&lt;br /&gt;
[[Addon.xml#Skin specific elements|See here for the order in which it looks for skin files.]]&lt;br /&gt;
&lt;br /&gt;
= Skin Themes =&lt;br /&gt;
All the basic media files for a skin should be compressed into the Textures.xbt file, and placed in the media/ folder. You can use the tool [[Texturepacker]] for this. All the images that make up the default skin theme should be in the Textures.xbt file.&lt;br /&gt;
&lt;br /&gt;
In addition to this, Kodi allows other .xbt files in the media/ folder, each one representing a different theme for your skin. &lt;br /&gt;
For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt.&lt;br /&gt;
This gives users more choice in the look of a particular skin, and only the textures change when you change themes – the layout stays the same. &lt;br /&gt;
If the user has selected a theme, then when a control requires a texture, Kodi will first look in the &amp;lt;themename&amp;gt;.xbt file for the texture. &lt;br /&gt;
It will fall back to the Textures.xbt file if &amp;lt;themename&amp;gt;.xbt doesn&#039;t contain the image. This means that the theme .xbt files need only contain the changed textures – all other textures will fallback to using Textures.xbt as usual.&lt;br /&gt;
&lt;br /&gt;
A suggested method of creating a theme is as follows:&lt;br /&gt;
&lt;br /&gt;
# Run Texturepacker.exe on the folder containing the default texture files, to generate Textures.xbt as you would normally do.&lt;br /&gt;
# Identify the textures you wish to have themed and copy them to a separate folder.&lt;br /&gt;
# Create a separate folder for each theme outside of your normal skin work area, and place the altered copies of each of the textures in them.&lt;br /&gt;
# Run Texturepacker.exe on each of the theme folders created in step 3 to create the themed .xbt files (note you can use the -output switch with Texturepacker.exe to name the theme appropriately).&lt;br /&gt;
# Place Textures.xbt and each of the theme .xbt files in the media/ folder of your skin. Kodi will automatically pick them up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= addon.xml =&lt;br /&gt;
&lt;br /&gt;
{{main|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Window Structure ==&lt;br /&gt;
{{#lst:Window Structure|main content}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Includes =&lt;br /&gt;
The other special (and arguably the most important skinning file of all) is includes.xml. This is, as its title suggests, a place from which you can define the default look, size, and positioning of controls, to save you replicating many of the control&#039;s attributes throughout the window .xml files. For instance, you can setup the size, and textures used for a button control, thus allowing you to leave those details out in the rest of the skin files, unless of course you want to override the default look or size etc. in a particular window.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This is extremely valuable as it allows you to greatly simplify a lot of the work in building a skin. For one thing, it means that once you have include files setup, many of the default parameters for a different resolution can be done by just altering the parameters within the include file(s) for the different resolution.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can infact have more than one include file - you can specify the file attribute when including from a different file, allowing you to have an include file dedicated to a particular set of attributes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The layout of an includes file is as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;includes&amp;gt;&lt;br /&gt;
    &amp;lt;include name=&amp;quot;whitetext&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;textcolor&amp;gt;ffffffff&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;include file=&amp;quot;listdefaults.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include condition=&amp;quot;Skin.HasSetting(extras) file=&amp;quot;includes_extras.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;constant name=&amp;quot;leftedge&amp;quot;&amp;gt;50&amp;lt;/constant&amp;gt;&lt;br /&gt;
  &amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll notice in the above example that we have 4 different types of includes. The first &amp;lt;include&amp;gt; tag basically allows a substitution of the tags underneath it whenever it occurs. For instance, if in a window .xml file you have this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;togglebutton&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    ... other tags go here&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then it would substitute the &amp;lt;textcolor&amp;gt; tag for where the include tag is. You can have as many includes as you like, and as many tags can be inside an include - even complete controls, or complete control groups.&lt;br /&gt;
&lt;br /&gt;
The second &amp;lt;include&amp;gt; tag in the example demonstrates how to include from a different file. As there is no include name specified, it will include the contents of the entire file at that point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;default&amp;gt; tag is similar to an include, except that it is used in every control of that type - even if you don&#039;t specify that the control is to use includes. Thus every buttoncontrol will have the whitetext include in it. Note that you can override this by specifying the &amp;lt;textcolor&amp;gt; tag in the buttoncontrol.&lt;br /&gt;
&lt;br /&gt;
And finally, the &amp;lt;constant&amp;gt; tag allows you to define a numeric (floating point) constant by name for use in place of numeric values (&amp;lt;left&amp;gt;, height=&amp;quot;&amp;quot; etc.) would otherwise be used. This allows alignment of items using the same position values which can then easily be altered in one place.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use params in includes ==&lt;br /&gt;
As of Kodi 15.0 Isengard you get is the ability to pass arbitrary parameters to your includes and then use these values anywhere within the include body. Just so you don&#039;t have to copy/paste huge chunks of XML anymore in order to change just a value or two. Includes are now roughly equivalent to &amp;quot;procedures&amp;quot; in programming languages. Here&#039;s the final syntax that has been included in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Include definitions&#039;&#039;&#039; are still written within &#039;&#039;&amp;lt;includes&amp;gt;&#039;&#039; tag, usually in &#039;&#039;includes.xml&#039;&#039;. But they can now accept parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot; default=&amp;quot;120&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;top&amp;quot;&amp;gt;225&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, the first part is called &#039;&#039;parameter list&#039;&#039; and is specified using &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags. When it is present, include body that follows it should be enclosed within &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; tag. At the moment, parameter list is optional and is mainly used for specifying default values for parameters (such as &#039;&#039;120&#039;&#039; and &#039;&#039;225&#039;&#039; above), but is otherwise not mandatory.&lt;br /&gt;
&lt;br /&gt;
The above include can be called like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;52&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot;&amp;gt;300&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has the exact same effect as if you&#039;ve written this instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;52&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;300&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;225&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and called it (old-style) like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;MyControl&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
only without added benefits.&lt;br /&gt;
&lt;br /&gt;
Any appropriate value can be passed as parameter in the new &#039;&#039;&#039;include call&#039;&#039;&#039;, including &#039;&#039;$INFO&#039;&#039; labels, &#039;&#039;$LOCALIZE&#039;&#039;, &#039;&#039;$VAR&#039;&#039;s, constants, etc. Empty string (&#039;&#039;value=&amp;quot;&amp;quot;&#039;&#039;) can also be passed, for example to override a non-empty default value set in the include definition.&lt;br /&gt;
&lt;br /&gt;
Default values are used as replacement when their parameters are not passed in the include call.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$PARAM&#039;&#039; references can be specified within both &#039;&#039;&#039;tag values and attributes&#039;&#039;&#039; inside include body, and are expanded to either actual value passed (if it was passed), default value (if set) or empty string, in that order.&lt;br /&gt;
&lt;br /&gt;
Parameters without default values (such as &#039;&#039;id&#039;&#039; above) are specified for better readability and documentation purposes only, but are otherwise not necessary and can be omitted. This is really a matter of style, and some skinners might prefer writing explicit parameter lists to specify all parameters referenced in the include body. It&#039;s a good practice though, as explicit parameter lists might be better utilized in the future versions of Kodi.&lt;br /&gt;
&lt;br /&gt;
If there are no &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags at all, &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; can be omitted too. This leads to even shorter syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Includes can call other (nested) includes and even pass them &#039;&#039;exact&#039;&#039; parameter values that they&#039;ve got themselves. This is called &#039;&#039;&#039;parameter forwarding&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;include name=&amp;quot;MyOtherControl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label&amp;quot;&amp;gt;$INFO[Player.Title]&amp;lt;/param&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label2&amp;quot; value=&amp;quot;x:$PARAM[left]; y:$PARAM[top]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;color&amp;quot; value=&amp;quot;$PARAM[color]&amp;quot;/&amp;gt;     &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;$PARAM[scrollbarid]&amp;quot;/&amp;gt;  &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, &#039;&#039;$PARAM[color]&#039;&#039; and &#039;&#039;$PARAM[scrollbarid]&#039;&#039; will be forwarded to &#039;&#039;MyOtherControl&#039;&#039; &#039;&#039;&#039;only&#039;&#039;&#039; if parameters &#039;&#039;color&#039;&#039; and &#039;&#039;scrollbarid&#039;&#039; have actually been passed to &#039;&#039;MyControl&#039;&#039;, otherwise the default values for &#039;&#039;color&#039;&#039; and &#039;&#039;id&#039;&#039; (if set in &#039;&#039;MyOtherControl&#039;&#039;) will be used instead in the body of &#039;&#039;MyOtherControl&#039;&#039;. Composite values containing other characters (such as &#039;&#039;label2&#039;&#039;) are not considered as &amp;quot;true&amp;quot; forwarding and always override any default value set in the nested include, even when they expand to empty strings.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nested ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;nested&amp;lt;/code&amp;gt; element can be used as a placeholder for elements (controls) defined between the start-tag and end-tag of an include element. The nested part can contain anything what is valid in our skin language. Using parameters for the nested XML fragment is also supported.&lt;br /&gt;
&lt;br /&gt;
This is really handy if you want to re-use elements (controls) before and after some variable elements (controls) e.g. a menu with variable items. &lt;br /&gt;
&lt;br /&gt;
=== Definition of an include using nested ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyMenu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;nested /&amp;gt; &amp;lt;!-- used to indicate where to place nested elements of the include --&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use the include with nested elements ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyMenu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;x&amp;quot; value=&amp;quot;v1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;y&amp;quot; value=&amp;quot;v2&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- nested elements --&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;..&amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;..&amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;/control&amp;gt; &lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Variables make it easier to use conditional infolabels. You can define them in Includes.xml, or to keep them separate, you can place them in another file which is included in Includes.xml.&lt;br /&gt;
You can include a file in Includes.xml by adding a line like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Variables.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Variables can be used in any tag that supports infolabels, like the texture, label and visible tags. Instead of having to include two whole controls with a condition, they allow you to just apply the condition to the actual texture or label. Meaning less controls to maintain ect. The values in the variable are read from top to bottom and the first condition that is met gets used. The last value usually has no condition and it&#039;s content acts as a fallback. The following example shows the album label if the player has audio, the year if there is no audio and no fallback is used (because there either is or is not any audio).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;variable name=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Album]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;!Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Year]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value&amp;gt;-&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/variable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can use a variable in a label control like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$VAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or when the viariable value is likely to contain commas (,) and/or quotes (&amp;quot;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$ESCVAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(see $ESCINFO[] for more info on the need to escape strings: http://kodi.wiki/view/Label_Parsing)&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
In case you want to re-use a certain value multiple times in your skin, you can define a constant for it:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;FanartCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;IconCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can now reference this value by it&#039;s name elsewhere in your skin:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;256&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;256&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;texture background=&amp;quot;true&amp;quot;&amp;gt;$INFO[ListItem.Icon]&amp;lt;/texture&amp;gt;&lt;br /&gt;
	&amp;lt;fadetime&amp;gt;IconCrossfadeTime&amp;lt;/fadetime&amp;gt;&lt;br /&gt;
&amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Defaults ==&lt;br /&gt;
for every control type, you can define a default template. for instance here&#039;s a template for a button control:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;700&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;label&amp;gt;-&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;texturefocus border=&amp;quot;20&amp;quot;&amp;gt;list-focus.png&amp;lt;/texturefocus&amp;gt;&lt;br /&gt;
	&amp;lt;texturenofocus border=&amp;quot;20&amp;quot;&amp;gt;list-nofocus.png&amp;lt;/texturenofocus&amp;gt;&lt;br /&gt;
	&amp;lt;font&amp;gt;font20&amp;lt;/font&amp;gt;&lt;br /&gt;
	&amp;lt;textcolor&amp;gt;white&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
	&amp;lt;focusedcolor&amp;gt;blue&amp;lt;/focusedcolor&amp;gt;&lt;br /&gt;
	&amp;lt;disabledcolor&amp;gt;darkgrey&amp;lt;/disabledcolor&amp;gt;&lt;br /&gt;
	&amp;lt;invalidcolor&amp;gt;red&amp;lt;/invalidcolor&amp;gt;&lt;br /&gt;
	&amp;lt;textoffsetx&amp;gt;10&amp;lt;/textoffsetx&amp;gt;&lt;br /&gt;
	&amp;lt;aligny&amp;gt;center&amp;lt;/aligny&amp;gt;&lt;br /&gt;
	&amp;lt;pulseonselect&amp;gt;true&amp;lt;/pulseonselect&amp;gt;&lt;br /&gt;
&amp;lt;/default&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the benefit of defining defaults is that kodi will use the template everywhere in you skin where a button is used,&lt;br /&gt;
so you don&#039;t have to code all of the tags for each and every button. you only have to code the tags that you want to differ from the default template.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Expressions ==&lt;br /&gt;
expressions are useful if you need to use a certain boolean expression several times throughout your skin.&lt;br /&gt;
they can be defined in your includes file like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;HasInfoDialog&amp;quot;&amp;gt;Window.IsActive(musicinformation) | Window.IsActive(movieinformation) | Window.IsActive(addoninformation)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;PluginAdvancedLauncher&amp;quot;&amp;gt;substring(Container.FolderPath,plugin://plugin.program.advanced.launcher/,left)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to use an expression in your skin, you can reference them using $EXP[]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation condition=&amp;quot;$EXP[HasInfoDialog]&amp;quot; effect=&amp;quot;fade&amp;quot; start=&amp;quot;100&amp;quot; end=&amp;quot;0&amp;quot; time=&amp;quot;200&amp;quot; tween=&amp;quot;sine&amp;quot;&amp;gt;Conditional&amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;visible&amp;gt;$EXP[PluginAdvancedLauncher] + !Window.IsActive(Home)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
expressions can be used in the following tags/attributes:&lt;br /&gt;
* visible&lt;br /&gt;
* enable&lt;br /&gt;
* usealttexture&lt;br /&gt;
* selected&lt;br /&gt;
* condition&lt;br /&gt;
&lt;br /&gt;
= Controls =&lt;br /&gt;
Controls are the substance of your skin. They define everything from buttons, to text labels, to visualization placement. This portion of the manual will explain each and every control in detail.&lt;br /&gt;
== Label Control ==&lt;br /&gt;
{{#lst:Label Control|main content}}&lt;br /&gt;
== Fade Label Control ==&lt;br /&gt;
{{#lst:Fade Label Control|main content}}&lt;br /&gt;
== Button Control ==&lt;br /&gt;
{{#lst:Button control|main content}}&lt;br /&gt;
== Image Control ==&lt;br /&gt;
{{#lst:Image Control|main content}}&lt;br /&gt;
== MultiImage Control ==&lt;br /&gt;
{{#lst:MultiImage Control|main content}}&lt;br /&gt;
== Radio button Control ==&lt;br /&gt;
{{#lst:Radio button control|main content}}&lt;br /&gt;
== Toggle button control ==&lt;br /&gt;
{{#lst:Toggle button control|main content}}&lt;br /&gt;
== Spin Control ==&lt;br /&gt;
{{#lst:Spin_Control|main content}}&lt;br /&gt;
== Settings Spin Control ==&lt;br /&gt;
{{#lst:Settings_Spin_Control|main content}}&lt;br /&gt;
== Slider Control ==&lt;br /&gt;
{{#lst:Slider Control|main content}}&lt;br /&gt;
== Progress Control ==&lt;br /&gt;
{{#lst:Progress Control|main content}}&lt;br /&gt;
== ScrollBar Control ==&lt;br /&gt;
{{#lst:Scroll Bar Control|main content}}&lt;br /&gt;
== Text Box ==&lt;br /&gt;
{{#lst:Text Box|main content}}&lt;br /&gt;
== RSS feed Control ==&lt;br /&gt;
{{#lst:RSS feed Control|main content}}&lt;br /&gt;
== Visualisation Control ==&lt;br /&gt;
{{#lst:Visualisation Control|main content}}&lt;br /&gt;
== Video Control ==&lt;br /&gt;
{{#lst:Video Control|main content}}&lt;br /&gt;
== Mover Control ==&lt;br /&gt;
{{#lst:Mover Control|main content}}&lt;br /&gt;
== Resize Control ==&lt;br /&gt;
{{#lst:Resize Control|main content}}&lt;br /&gt;
== Edit Control ==&lt;br /&gt;
{{#lst:Edit Control|main content}}&lt;br /&gt;
== EPGGrid Control ==&lt;br /&gt;
{{#lst:EPGGrid_control|main content}}&lt;br /&gt;
== Gamecontroller Control ==&lt;br /&gt;
{{#lst:Gamecontroller_Control|main content}}&lt;br /&gt;
== Group Control ==&lt;br /&gt;
{{#lst:Group Control|main content}}&lt;br /&gt;
== GroupList Control ==&lt;br /&gt;
{{#lst:Group List Control|main content}}&lt;br /&gt;
== List Container ==&lt;br /&gt;
{{#lst:List Container|main content}}&lt;br /&gt;
== Wraplist Container ==&lt;br /&gt;
{{#lst:Wrap List Container|main content}}&lt;br /&gt;
== FixedList Container ==&lt;br /&gt;
{{#lst:Fixed List Container|main content}}&lt;br /&gt;
== Panel Container ==&lt;br /&gt;
{{#lst:Panel Container|main content}}&lt;br /&gt;
&lt;br /&gt;
= Filling containers=&lt;br /&gt;
== Filling containers with static content ==&lt;br /&gt;
{{#lst:Static List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
== Filling containers with dynamic content ==&lt;br /&gt;
{{#lst:Dynamic List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
= Conditional_Visibility =&lt;br /&gt;
Kodi&#039;s skinning engine versatility is based upon the fact that the skinner can display and hide portions of the skin using a variety of conditional statements that can be combined to create very user friendly UI implementations. For further information of available variable and how they can be applied.&lt;br /&gt;
{{#lst:Conditional Visibility|main content}}&lt;br /&gt;
&lt;br /&gt;
= Animations =&lt;br /&gt;
The Kodi skinning engine supports animations of any control allowing them to rotate, slide, fade or any combination there-of. Combining animations with conditional statements ensure your skin will have stunning effects that appear as professional as a 1st party product.&lt;br /&gt;
== Animating Your Skin ==&lt;br /&gt;
{{#lst:Animating Your Skin|main content}}&lt;br /&gt;
&lt;br /&gt;
= Tweeners =&lt;br /&gt;
{{#lst:Tweeners|main content}}&lt;br /&gt;
&lt;br /&gt;
= Fonts =&lt;br /&gt;
Kodi allows you to customize which fonts are displayed onscreen in the User Interface.&lt;br /&gt;
{{#lst:Fonts|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix I: List of Windows =&lt;br /&gt;
{{#lst:Window IDs|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix II: List of Boolean Conditions =&lt;br /&gt;
{{#lst:List of Boolean Conditions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix III: List of Info Labels =&lt;br /&gt;
{{#lst:InfoLabels|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix IV: List of Built In Functions =&lt;br /&gt;
{{#lst:List of Built In Functions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix V: List of Built In Controls =&lt;br /&gt;
{{#lst:List of Built In Controls|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix VI: List of Default Icons =&lt;br /&gt;
{{#lst:Default Icons|main content}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Repositories]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin development|*]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132317</id>
		<title>Skinning Manual</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=132317"/>
		<updated>2018-01-13T12:25:04Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Use params in includes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Development]]|[[Skin development]]}}&lt;br /&gt;
&lt;br /&gt;
Kodi includes a GUI library that allows you to skin/change everything you see in Kodi, from the images, the sizes and positions of all controls, colours, fonts, and text, through to altering navigation and even adding new functionality.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The skin system is quite complex, and this portion of the manual is dedicated to providing in depth information on how it all works, along with tips to make the experience a little more pleasant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are just getting started with skinning Kodi, then it is suggested that the best way to learn is by modifying one of the many existing skins that are available. The default skin, Confluence, includes almost all the various tricks and features that make the Kodi skinning engine so powerful, so is an ideal place to start. You may wish to start by having a look through the [[XBMC Skinning Tutorials|tutorial section on skinning Kodi]] as well as the &amp;quot;[[Skinning XBMC|Skinning Kodi]]&amp;quot; article, and try modifying a window or two by adding a button, or altering the textures or layout.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Anatomy of a Skin =&lt;br /&gt;
Kodi skins, once installed, are located in [[userdata]] addons folder. This is the folder where all skins are placed and listed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Any additional skins you create, or download from, or be installed via zip, Kodi will load and ask you if you would like to load the skin and also allow you to load them up from within the Appearance Settings. It is suggested that if you want to make your own skin, then starting by copying an existing skins files over into a new folder (let&#039;s say skin/myskin) is a good place to start. You can then edit each of the files as you become more familiar with the skinning system.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder contains several subdirectorys, and one file:&lt;br /&gt;
; myskin/720p&lt;br /&gt;
: This is a resolution-specific directory. Kodi can run in multiple resolutions, and thus can use different files for some resolutions (as there is a big difference between NTSC at 720x480 pixels and 1080i at 1920x1080 pixels!) &lt;br /&gt;
; myskin/backgrounds&lt;br /&gt;
: optional folder containing the background images used in the skin&lt;br /&gt;
; myskin/colors&lt;br /&gt;
: contains a defaults.xml file which is used to define the colours used in the skin&lt;br /&gt;
; myskin/font&lt;br /&gt;
: This subdirectory contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; myskin/language&lt;br /&gt;
: contains several subfolders for each language (English/strings.po). you can define strings used in your skin in this file.&lt;br /&gt;
; myskin/media&lt;br /&gt;
: This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. &lt;br /&gt;
; myskin/resources&lt;br /&gt;
: place your icon.png (a 256x256 or 512x512 png image for your skin), fanart.jpg (a 1280x720 or 1920x1080 jpeg fanart image for your skin) and 10 jpeg screenshots (1280x720) of your skin in here. Name them screenshot01.jpg, screenshot02.jpg ect.&lt;br /&gt;
; [[addon.xml|myskin/addon.xml]]&lt;br /&gt;
: This contains the information that Kodi uses to find the other files that Kodi requires to describe it&#039;s skin. It also contains credits information, and versioning information.&lt;br /&gt;
; myskin/LICENSE.txt&lt;br /&gt;
: we recommend to include a Creative Commons license file in your skin:  http://creativecommons.org/licenses/&lt;br /&gt;
[[Addon.xml#Skin specific elements|See here for the order in which it looks for skin files.]]&lt;br /&gt;
&lt;br /&gt;
= Skin Themes =&lt;br /&gt;
All the basic media files for a skin should be compressed into the Textures.xbt file, and placed in the media/ folder. You can use the tool [[Texturepacker]] for this. All the images that make up the default skin theme should be in the Textures.xbt file.&lt;br /&gt;
&lt;br /&gt;
In addition to this, Kodi allows other .xbt files in the media/ folder, each one representing a different theme for your skin. &lt;br /&gt;
For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt.&lt;br /&gt;
This gives users more choice in the look of a particular skin, and only the textures change when you change themes – the layout stays the same. &lt;br /&gt;
If the user has selected a theme, then when a control requires a texture, Kodi will first look in the &amp;lt;themename&amp;gt;.xbt file for the texture. &lt;br /&gt;
It will fall back to the Textures.xbt file if &amp;lt;themename&amp;gt;.xbt doesn&#039;t contain the image. This means that the theme .xbt files need only contain the changed textures – all other textures will fallback to using Textures.xbt as usual.&lt;br /&gt;
&lt;br /&gt;
A suggested method of creating a theme is as follows:&lt;br /&gt;
&lt;br /&gt;
# Run Texturepacker.exe on the folder containing the default texture files, to generate Textures.xbt as you would normally do.&lt;br /&gt;
# Identify the textures you wish to have themed and copy them to a separate folder.&lt;br /&gt;
# Create a separate folder for each theme outside of your normal skin work area, and place the altered copies of each of the textures in them.&lt;br /&gt;
# Run Texturepacker.exe on each of the theme folders created in step 3 to create the themed .xbt files (note you can use the -output switch with Texturepacker.exe to name the theme appropriately).&lt;br /&gt;
# Place Textures.xbt and each of the theme .xbt files in the media/ folder of your skin. Kodi will automatically pick them up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= addon.xml =&lt;br /&gt;
&lt;br /&gt;
{{main|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Window Structure ==&lt;br /&gt;
{{#lst:Window Structure|main content}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Includes =&lt;br /&gt;
The other special (and arguably the most important skinning file of all) is includes.xml. This is, as its title suggests, a place from which you can define the default look, size, and positioning of controls, to save you replicating many of the control&#039;s attributes throughout the window .xml files. For instance, you can setup the size, and textures used for a button control, thus allowing you to leave those details out in the rest of the skin files, unless of course you want to override the default look or size etc. in a particular window.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This is extremely valuable as it allows you to greatly simplify a lot of the work in building a skin. For one thing, it means that once you have include files setup, many of the default parameters for a different resolution can be done by just altering the parameters within the include file(s) for the different resolution.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can infact have more than one include file - you can specify the file attribute when including from a different file, allowing you to have an include file dedicated to a particular set of attributes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The layout of an includes file is as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;includes&amp;gt;&lt;br /&gt;
    &amp;lt;include name=&amp;quot;whitetext&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;textcolor&amp;gt;ffffffff&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;include file=&amp;quot;listdefaults.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include condition=&amp;quot;Skin.HasSetting(extras) file=&amp;quot;includes_extras.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;constant name=&amp;quot;leftedge&amp;quot;&amp;gt;50&amp;lt;/constant&amp;gt;&lt;br /&gt;
  &amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll notice in the above example that we have 4 different types of includes. The first &amp;lt;include&amp;gt; tag basically allows a substitution of the tags underneath it whenever it occurs. For instance, if in a window .xml file you have this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;togglebutton&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    ... other tags go here&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then it would substitute the &amp;lt;textcolor&amp;gt; tag for where the include tag is. You can have as many includes as you like, and as many tags can be inside an include - even complete controls, or complete control groups.&lt;br /&gt;
&lt;br /&gt;
The second &amp;lt;include&amp;gt; tag in the example demonstrates how to include from a different file. As there is no include name specified, it will include the contents of the entire file at that point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;default&amp;gt; tag is similar to an include, except that it is used in every control of that type - even if you don&#039;t specify that the control is to use includes. Thus every buttoncontrol will have the whitetext include in it. Note that you can override this by specifying the &amp;lt;textcolor&amp;gt; tag in the buttoncontrol.&lt;br /&gt;
&lt;br /&gt;
And finally, the &amp;lt;constant&amp;gt; tag allows you to define a numeric (floating point) constant by name for use in place of numeric values (&amp;lt;left&amp;gt;, height=&amp;quot;&amp;quot; etc.) would otherwise be used. This allows alignment of items using the same position values which can then easily be altered in one place.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use params in includes ==&lt;br /&gt;
As of Kodi 15.0 Isengard you get is the ability to pass arbitrary parameters to your includes and then use these values anywhere within the include body. Just so you don&#039;t have to copy/paste huge chunks of XML anymore in order to change just a value or two. Includes are now roughly equivalent to &amp;quot;procedures&amp;quot; in programming languages. Here&#039;s the final syntax that has been included in Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Include definitions&#039;&#039;&#039; are still written within &#039;&#039;&amp;lt;includes&amp;gt;&#039;&#039; tag, usually in &#039;&#039;includes.xml&#039;&#039;. But they can now accept parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot; default=&amp;quot;120&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;top&amp;quot;&amp;gt;225&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
    &amp;lt;definition&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, the first part is called &#039;&#039;parameter list&#039;&#039; and is specified using &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags. When it is present, include body that follows it should be enclosed within &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; tag. At the moment, parameter list is optional and is mainly used for specifying default values for parameters (such as &#039;&#039;120&#039;&#039; and &#039;&#039;225&#039;&#039; above), but is otherwise not mandatory.&lt;br /&gt;
&lt;br /&gt;
The above include can be called like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;52&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&amp;quot;left&amp;quot;&amp;gt;300&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has the exact same effect as if you&#039;ve written this instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;52&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;300&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;225&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and called it (old-style) like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;MyControl&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
only without added benefits.&lt;br /&gt;
&lt;br /&gt;
Any appropriate value can be passed as parameter in the new &#039;&#039;&#039;include call&#039;&#039;&#039;, including &#039;&#039;$INFO&#039;&#039; labels, &#039;&#039;$LOCALIZE&#039;&#039;, &#039;&#039;$VAR&#039;&#039;s, constants, etc. Empty string (&#039;&#039;value=&amp;quot;&amp;quot;&#039;&#039;) can also be passed, for example to override a non-empty default value set in the include definition.&lt;br /&gt;
&lt;br /&gt;
Default values are used as replacement when their parameters are not passed in the include call.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$PARAM&#039;&#039; references can be specified within both &#039;&#039;&#039;tag values and attributes&#039;&#039;&#039; inside include body, and are expanded to either actual value passed (if it was passed), default value (if set) or empty string, in that order.&lt;br /&gt;
&lt;br /&gt;
Parameters without default values (such as &#039;&#039;id&#039;&#039; above) are specified for better readability and documentation purposes only, but are otherwise not necessary and can be omitted. This is really a matter of style, and some skinners might prefer writing explicit parameter lists to specify all parameters referenced in the include body. It&#039;s a good practice though, as explicit parameter lists might be better utilized in the future versions of Kodi.&lt;br /&gt;
&lt;br /&gt;
If there are no &#039;&#039;&amp;lt;param&amp;gt;&#039;&#039; tags at all, &#039;&#039;&amp;lt;definition&amp;gt;&#039;&#039; can be omitted too. This leads to even shorter syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot; id=&amp;quot;$PARAM[id]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;left&amp;gt;$PARAM[left]&amp;lt;/left&amp;gt;&lt;br /&gt;
        &amp;lt;top&amp;gt;$PARAM[top]&amp;lt;/top&amp;gt;&lt;br /&gt;
        &amp;lt;width&amp;gt;370&amp;lt;/width&amp;gt;&lt;br /&gt;
        &amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
        &amp;lt;texture&amp;gt;foo.png&amp;lt;/texture&amp;gt;&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Includes can call other (nested) includes and even pass them &#039;&#039;exact&#039;&#039; parameter values that they&#039;ve got themselves. This is called &#039;&#039;&#039;parameter forwarding&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyControl&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;include name=&amp;quot;MyOtherControl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label&amp;quot;&amp;gt;$INFO[Player.Title]&amp;lt;/param&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;label2&amp;quot; value=&amp;quot;x:$PARAM[left]; y:$PARAM[top]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;color&amp;quot; value=&amp;quot;$PARAM[color]&amp;quot;/&amp;gt;     &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
        &amp;lt;param name=&amp;quot;id&amp;quot; value=&amp;quot;$PARAM[scrollbarid]&amp;quot;/&amp;gt;  &amp;lt;!-- forwarding --&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, &#039;&#039;$PARAM[color]&#039;&#039; and &#039;&#039;$PARAM[scrollbarid]&#039;&#039; will be forwarded to &#039;&#039;MyOtherControl&#039;&#039; &#039;&#039;&#039;only&#039;&#039;&#039; if parameters &#039;&#039;color&#039;&#039; and &#039;&#039;scrollbarid&#039;&#039; have actually been passed to &#039;&#039;MyControl&#039;&#039;, otherwise the default values for &#039;&#039;color&#039;&#039; and &#039;&#039;id&#039;&#039; (if set in &#039;&#039;MyOtherControl&#039;&#039;) will be used instead in the body of &#039;&#039;MyOtherControl&#039;&#039;. Composite values containing other characters (such as &#039;&#039;label2&#039;&#039;) are not considered as &amp;quot;true&amp;quot; forwarding and always override any default value set in the nested include, even when they expand to empty strings.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use nested ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;nested&amp;lt;/code&amp;gt; element can be used as a placeholder for elements (controls) defined between the start-tag and end-tag of an include element. The nested part can contain anything what is valid in our skin language. Using parameters for the nested XML fragment is also supported.&lt;br /&gt;
&lt;br /&gt;
This is really handy if you want to re-use elements (controls) before and after some variable elements (controls) e.g. a menu with variable items. &lt;br /&gt;
&lt;br /&gt;
=== Definition of an include using nested ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include name=&amp;quot;MyMenu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/control&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;nested /&amp;gt; &amp;lt;!-- used to indicate where to place nested elements of the include --&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use the include with nested elements ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include content=&amp;quot;MyIncludeWithNested&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;x&amp;quot; value=&amp;quot;v1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;y&amp;quot; value=&amp;quot;v2&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- nested elements --&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;..&amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;control type=&amp;quot;group&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;..&amp;lt;/control&amp;gt; &lt;br /&gt;
  &amp;lt;/control&amp;gt; &lt;br /&gt;
&amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Variables make it easier to use conditional infolabels. You can define them in Includes.xml, or to keep them separate, you can place them in another file which is included in Includes.xml.&lt;br /&gt;
You can include a file in Includes.xml by adding a line like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Variables.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Variables can be used in any tag that supports infolabels, like the texture, label and visible tags. Instead of having to include two whole controls with a condition, they allow you to just apply the condition to the actual texture or label. Meaning less controls to maintain ect. The values in the variable are read from top to bottom and the first condition that is met gets used. The last value usually has no condition and it&#039;s content acts as a fallback. The following example shows the album label if the player has audio, the year if there is no audio and no fallback is used (because there either is or is not any audio).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;variable name=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Album]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;!Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Year]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value&amp;gt;-&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/variable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can use a variable in a label control like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$VAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or when the viariable value is likely to contain commas (,) and/or quotes (&amp;quot;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$ESCVAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(see $ESCINFO[] for more info on the need to escape strings: http://kodi.wiki/view/Label_Parsing)&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
In case you want to re-use a certain value multiple times in your skin, you can define a constant for it:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;FanartCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;constant name=&amp;quot;IconCrossfadeTime&amp;quot;&amp;gt;300&amp;lt;/constant&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can now reference this value by it&#039;s name elsewhere in your skin:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;256&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;256&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;texture background=&amp;quot;true&amp;quot;&amp;gt;$INFO[ListItem.Icon]&amp;lt;/texture&amp;gt;&lt;br /&gt;
	&amp;lt;fadetime&amp;gt;IconCrossfadeTime&amp;lt;/fadetime&amp;gt;&lt;br /&gt;
&amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Defaults ==&lt;br /&gt;
for every control type, you can define a default template. for instance here&#039;s a template for a button control:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;left&amp;gt;0&amp;lt;/left&amp;gt;&lt;br /&gt;
	&amp;lt;top&amp;gt;0&amp;lt;/top&amp;gt;&lt;br /&gt;
	&amp;lt;width&amp;gt;700&amp;lt;/width&amp;gt;&lt;br /&gt;
	&amp;lt;height&amp;gt;40&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;label&amp;gt;-&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;texturefocus border=&amp;quot;20&amp;quot;&amp;gt;list-focus.png&amp;lt;/texturefocus&amp;gt;&lt;br /&gt;
	&amp;lt;texturenofocus border=&amp;quot;20&amp;quot;&amp;gt;list-nofocus.png&amp;lt;/texturenofocus&amp;gt;&lt;br /&gt;
	&amp;lt;font&amp;gt;font20&amp;lt;/font&amp;gt;&lt;br /&gt;
	&amp;lt;textcolor&amp;gt;white&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
	&amp;lt;focusedcolor&amp;gt;blue&amp;lt;/focusedcolor&amp;gt;&lt;br /&gt;
	&amp;lt;disabledcolor&amp;gt;darkgrey&amp;lt;/disabledcolor&amp;gt;&lt;br /&gt;
	&amp;lt;invalidcolor&amp;gt;red&amp;lt;/invalidcolor&amp;gt;&lt;br /&gt;
	&amp;lt;textoffsetx&amp;gt;10&amp;lt;/textoffsetx&amp;gt;&lt;br /&gt;
	&amp;lt;aligny&amp;gt;center&amp;lt;/aligny&amp;gt;&lt;br /&gt;
	&amp;lt;pulseonselect&amp;gt;true&amp;lt;/pulseonselect&amp;gt;&lt;br /&gt;
&amp;lt;/default&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the benefit of defining defaults is that kodi will use the template everywhere in you skin where a button is used,&lt;br /&gt;
so you don&#039;t have to code all of the tags for each and every button. you only have to code the tags that you want to differ from the default template.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Expressions ==&lt;br /&gt;
expressions are useful if you need to use a certain boolean expression several times throughout your skin.&lt;br /&gt;
they can be defined in your includes file like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;HasInfoDialog&amp;quot;&amp;gt;Window.IsActive(musicinformation) | Window.IsActive(movieinformation) | Window.IsActive(addoninformation)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;expression name=&amp;quot;PluginAdvancedLauncher&amp;quot;&amp;gt;substring(Container.FolderPath,plugin://plugin.program.advanced.launcher/,left)&amp;lt;/expression&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to use an expression in your skin, you can reference them using $EXP[]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation condition=&amp;quot;$EXP[HasInfoDialog]&amp;quot; effect=&amp;quot;fade&amp;quot; start=&amp;quot;100&amp;quot; end=&amp;quot;0&amp;quot; time=&amp;quot;200&amp;quot; tween=&amp;quot;sine&amp;quot;&amp;gt;Conditional&amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;visible&amp;gt;$EXP[PluginAdvancedLauncher] + !Window.IsActive(Home)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
expressions can be used in the following tags/attributes:&lt;br /&gt;
* visible&lt;br /&gt;
* enable&lt;br /&gt;
* usealttexture&lt;br /&gt;
* selected&lt;br /&gt;
* condition&lt;br /&gt;
&lt;br /&gt;
= Controls =&lt;br /&gt;
Controls are the substance of your skin. They define everything from buttons, to text labels, to visualization placement. This portion of the manual will explain each and every control in detail.&lt;br /&gt;
== Label Control ==&lt;br /&gt;
{{#lst:Label Control|main content}}&lt;br /&gt;
== Fade Label Control ==&lt;br /&gt;
{{#lst:Fade Label Control|main content}}&lt;br /&gt;
== Button Control ==&lt;br /&gt;
{{#lst:Button control|main content}}&lt;br /&gt;
== Image Control ==&lt;br /&gt;
{{#lst:Image Control|main content}}&lt;br /&gt;
== MultiImage Control ==&lt;br /&gt;
{{#lst:MultiImage Control|main content}}&lt;br /&gt;
== Radio button Control ==&lt;br /&gt;
{{#lst:Radio button control|main content}}&lt;br /&gt;
== Toggle button control ==&lt;br /&gt;
{{#lst:Toggle button control|main content}}&lt;br /&gt;
== Spin Control ==&lt;br /&gt;
{{#lst:Spin_Control|main content}}&lt;br /&gt;
== Settings Spin Control ==&lt;br /&gt;
{{#lst:Settings_Spin_Control|main content}}&lt;br /&gt;
== Slider Control ==&lt;br /&gt;
{{#lst:Slider Control|main content}}&lt;br /&gt;
== Progress Control ==&lt;br /&gt;
{{#lst:Progress Control|main content}}&lt;br /&gt;
== ScrollBar Control ==&lt;br /&gt;
{{#lst:Scroll Bar Control|main content}}&lt;br /&gt;
== Text Box ==&lt;br /&gt;
{{#lst:Text Box|main content}}&lt;br /&gt;
== RSS feed Control ==&lt;br /&gt;
{{#lst:RSS feed Control|main content}}&lt;br /&gt;
== Visualisation Control ==&lt;br /&gt;
{{#lst:Visualisation Control|main content}}&lt;br /&gt;
== Video Control ==&lt;br /&gt;
{{#lst:Video Control|main content}}&lt;br /&gt;
== Mover Control ==&lt;br /&gt;
{{#lst:Mover Control|main content}}&lt;br /&gt;
== Resize Control ==&lt;br /&gt;
{{#lst:Resize Control|main content}}&lt;br /&gt;
== Edit Control ==&lt;br /&gt;
{{#lst:Edit Control|main content}}&lt;br /&gt;
== EPGGrid Control ==&lt;br /&gt;
{{#lst:EPGGrid_control|main content}}&lt;br /&gt;
== Gamecontroller Control ==&lt;br /&gt;
{{#lst:Gamecontroller_Control|main content}}&lt;br /&gt;
== Group Control ==&lt;br /&gt;
{{#lst:Group Control|main content}}&lt;br /&gt;
== GroupList Control ==&lt;br /&gt;
{{#lst:Group List Control|main content}}&lt;br /&gt;
== List Container ==&lt;br /&gt;
{{#lst:List Container|main content}}&lt;br /&gt;
== Wraplist Container ==&lt;br /&gt;
{{#lst:Wrap List Container|main content}}&lt;br /&gt;
== FixedList Container ==&lt;br /&gt;
{{#lst:Fixed List Container|main content}}&lt;br /&gt;
== Panel Container ==&lt;br /&gt;
{{#lst:Panel Container|main content}}&lt;br /&gt;
&lt;br /&gt;
= Filling containers=&lt;br /&gt;
== Filling containers with static content ==&lt;br /&gt;
{{#lst:Static List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
== Filling containers with dynamic content ==&lt;br /&gt;
{{#lst:Dynamic List Content|main content}}&lt;br /&gt;
&lt;br /&gt;
= Conditional_Visibility =&lt;br /&gt;
Kodi&#039;s skinning engine versatility is based upon the fact that the skinner can display and hide portions of the skin using a variety of conditional statements that can be combined to create very user friendly UI implementations. For further information of available variable and how they can be applied.&lt;br /&gt;
{{#lst:Conditional Visibility|main content}}&lt;br /&gt;
&lt;br /&gt;
= Animations =&lt;br /&gt;
The Kodi skinning engine supports animations of any control allowing them to rotate, slide, fade or any combination there-of. Combining animations with conditional statements ensure your skin will have stunning effects that appear as professional as a 1st party product.&lt;br /&gt;
== Animating Your Skin ==&lt;br /&gt;
{{#lst:Animating Your Skin|main content}}&lt;br /&gt;
&lt;br /&gt;
= Tweeners =&lt;br /&gt;
{{#lst:Tweeners|main content}}&lt;br /&gt;
&lt;br /&gt;
= Fonts =&lt;br /&gt;
Kodi allows you to customize which fonts are displayed onscreen in the User Interface.&lt;br /&gt;
{{#lst:Fonts|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix I: List of Windows =&lt;br /&gt;
{{#lst:Window IDs|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix II: List of Boolean Conditions =&lt;br /&gt;
{{#lst:List of Boolean Conditions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix III: List of Info Labels =&lt;br /&gt;
{{#lst:InfoLabels|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix IV: List of Built In Functions =&lt;br /&gt;
{{#lst:List of Built In Functions|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix V: List of Built In Controls =&lt;br /&gt;
{{#lst:List of Built In Controls|main content}}&lt;br /&gt;
&lt;br /&gt;
= Appendix VI: List of Default Icons =&lt;br /&gt;
{{#lst:Default Icons|main content}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Repositories]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin development|*]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=124541</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=124541"/>
		<updated>2016-10-01T19:58:22Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* AddonBrowser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section/window of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows allow you to jump directly to a sub-section of that window.  To do this, you can use either the sub-section&#039;s name or its path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,videodb://movies/titles/)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Videos, Music, and Programs sections/windows.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Root ||library://video/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
|InProgressTvShows ||videodb://inprogresstvshows&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Root ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Song ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://music/&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Addons ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|AndroidApps ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== AddonBrowser ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|My add-ons ||addons://user/&amp;lt;type&amp;gt;/ (see for available types https://github.com/xbmc/xbmc/blob/master/xbmc/addons/Addon.cpp#L73)&lt;br /&gt;
|-&lt;br /&gt;
|Update available ||addons://outdated/&lt;br /&gt;
|-&lt;br /&gt;
|Currently downloading add-ons ||addons://downloading/&lt;br /&gt;
|-&lt;br /&gt;
|Recently updated ||addons://recently_updated/&lt;br /&gt;
|-&lt;br /&gt;
|Install from repository ||addons://repos/&lt;br /&gt;
|-&lt;br /&gt;
|Install from zip ||addons://install/&lt;br /&gt;
|-&lt;br /&gt;
|Search ||addons://search/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=124540</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=124540"/>
		<updated>2016-10-01T19:46:05Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* AddonBrowser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section/window of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows allow you to jump directly to a sub-section of that window.  To do this, you can use either the sub-section&#039;s name or its path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,videodb://movies/titles/)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Videos, Music, and Programs sections/windows.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Root ||library://video/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
|InProgressTvShows ||videodb://inprogresstvshows&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Root ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Song ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://music/&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Addons ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|AndroidApps ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== AddonBrowser ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|My add-ons ||addons://user/&amp;lt;type&amp;gt;/ (see for available types https://github.com/xbmc/xbmc/blob/master/xbmc/addons/Addon.cpp#L73)&lt;br /&gt;
|-&lt;br /&gt;
|Official Kodi repo ||addons://repository.xmbc.org/&amp;lt;type&amp;gt;/ (see for available types https://github.com/xbmc/xbmc/blob/master/xbmc/addons/Addon.cpp#L73)&lt;br /&gt;
|-&lt;br /&gt;
|Update available ||addons://outdated/&lt;br /&gt;
|-&lt;br /&gt;
|Currently downloading add-ons ||addons://downloading/&lt;br /&gt;
|-&lt;br /&gt;
|Recently updated ||addons://recently_updated/&lt;br /&gt;
|-&lt;br /&gt;
|Install from repository ||addons://repos/&lt;br /&gt;
|-&lt;br /&gt;
|Install from zip ||addons://install/&lt;br /&gt;
|-&lt;br /&gt;
|Search ||addons://search/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=124539</id>
		<title>List of boolean conditions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=124539"/>
		<updated>2016-10-01T19:38:02Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|Conditional Visibility}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use boolean conditions with the &amp;lt;visible&amp;gt; tag or with condition attributes. Scripts can read boolean conditions with &amp;lt;code&amp;gt;xbmc.getCondVisibility(condition)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== ADSP ===&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;
| &amp;lt;code&amp;gt;ADSP.IsActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if dsp system is enabled&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasModes&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if one or more modes are present on any of the types&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasInputResample&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if on stream is a input resample is active&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasPreProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if on stream is a pre process mode active&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasMasterProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if on stream is a master process mode available&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasPostProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if on stream is a post process&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasOutputResample&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if on stream is a output resample&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.MasterActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if on stream is a master mode selected and active&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Container ===&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;
| &amp;lt;code&amp;gt;Container.HasThumb&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in has a thumb assigned to it&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in contains the following: &#039;&#039;&#039;files, songs, artists, albums, movies, tvshows, seasons, episodes, musicvideos, genres, years, actors, playlists, plugins, studios, directors, sets, tags, countries, roles, images&#039;&#039;&#039; (Note: these currently only work in the Video and Music Library or unless a Plugin has set the value) also available are &#039;&#039;&#039;Addons&#039;&#039;&#039; true when a list of add-ons is shown &#039;&#039;&#039;LiveTV&#039;&#039;&#039; true when a htsp (tvheadend) directory is shown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is moving to the next item.  Allows views to be custom-designed (such as 3D coverviews etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is scrolling to the next item. Differs from OnNext in that OnNext triggers on movement even if there is no scroll involved.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is moving to the previous item.  Allows views to be custom-designed (such as 3D coverviews etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is scrolling to the previous item. Differs from OnPrevious in that OnPrevious triggers on movement even if there is no scroll involved.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFocus(item_number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) has static content and is focused on the item with id item_number.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains files (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFolders&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains folders (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container or textbox with id (id) has a next page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container or textbox with id (id) has a previous page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).IsUpdating&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with [[Dynamic List Content|dynamic list content]] is currently updating.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).IsStacked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container is currently in stacked mode (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilter&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current container can be filtered.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilterAdvanced&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when advanced filtering can be applied to the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Filtered&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a mediafilter is applied to the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.HasParent&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return true when the container contains a parent (&#039;..&#039;) item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection(ascending)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true the sort direction of a container is ascending.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection(descending)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true the sort direction of a container is descending.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Row(row)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the row given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Column(col)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the column given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Position(pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the position given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Scrolling&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user is currently scrolling through the container with id (or current container if id is omitted).  Note that this is slightly delayed from the actual scroll start.  Use Container(id).OnScrollNext/OnScrollPrevious to trigger animations immediately on scroll.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Control ===&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;
| &amp;lt;code&amp;gt;Control.IsEnabled(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is enabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsVisible(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is visible.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the currently focused control has id &amp;quot;id&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ControlGroup(group).HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control group with id “group” has control id “id” as it&#039;s focused item. If “id” is not present, or is 0, then it will return true if the currently focused control is in the control group with id “group”. Note that if the control group with id “group” does not have focus, then this will still return true if the last focused item in the group had control id “id”. &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Integer ===&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;
| &amp;lt;code&amp;gt;Integer.IsEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsGreater([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsGreater(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsGreaterOrEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater or equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsGreaterOrEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsLess([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is less than the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsLess(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsLessOrEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is less or equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsLessOrEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Library ===&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;
| &amp;lt;code&amp;gt;Library.HasContent(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the Kodi libraries have the content from string.  Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningMusic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music library is being updated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video library is being updated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.HasContent(Role, Composer)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tag can be Composer, Conductor, Orchestra, Lyricist, Remixer, Arranger, Engineer, Producer, DJMixer or Mixer. Returns true if there are any artists with that role in the library&lt;br /&gt;
| v17 addition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ListItem ===&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;
| &amp;lt;code&amp;gt;ListItem.IsFolder&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is a folder&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsPlaying&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem.* [[InfoLabels|info labels]] and images are currently Playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsResumable&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current ListItem has been partially played&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsCollection&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current ListItem is a movie set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsSelected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is selected (f.e. currently playing in playlist window)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme has epg info (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer has been set for the selected programme (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is being recorded (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is encrypted (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected video is a 3D (stereoscopic) video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(IsSpecial)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current Season/Episode is a Special&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(DateLabel)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Can be used in the rulerlayout of the epggrid control. Will return true if the item is a date label, returns false if the item is a time label.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.IsEnabled)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected addon is enabled (for use in the addon info dialog only).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.IsInstalled)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected addon is installed (for use in the addon info dialog only).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.HasUpdate)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when there&#039;s an update available for the selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.HasTimerSchedule&lt;br /&gt;
|  Whether the item is part of a repeating timer schedule (PVR).&lt;br /&gt;
|  v16 addition&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.TimerHasError&lt;br /&gt;
|  Whether the item has a timer and it won&#039;t be recorded because of an error (PVR).&lt;br /&gt;
|  v17 addition&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.TimerHasConflict&lt;br /&gt;
|  Whether the item has a timer and it won&#039;t be recorded because of a conflict (PVR).&lt;br /&gt;
|  v17 addition&lt;br /&gt;
|-&lt;br /&gt;
|  ListItem.TimerIsActive&lt;br /&gt;
|  Whether the item has a timer that will be recorded, i.e. the timer is enabled (PVR). &lt;br /&gt;
|  v17 addition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.Orphaned)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the slected addon is orphaned (not needed anymore by any other addon)&lt;br /&gt;
| v17 addition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsParentFolder&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true is the slected item is the &#039;up&#039; item&lt;br /&gt;
| v17 addition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Player ===&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;
| &amp;lt;code&amp;gt;Player.HasMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio or video file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasAudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasDuration&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Media isn&#039;t a true stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has a video file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Passthrough&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is using audio passthrough.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Playing&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Paused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is paused.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 2x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 4x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 8x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 16x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 32x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 2x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 4x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 8x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 16x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 32x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.CanRecord&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player can record the current internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Recording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is recording the current internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Caching&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is current &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;re-caching&amp;lt;/span&amp;gt; data (internet based video playback).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.DisplayAfterSeek&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true for the first 2.5 seconds after a seek.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Seeking&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a seek is in progress&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowTime&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the time to show (occurs in video fullscreen)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.IsInternetStream&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is playing an internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Muted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the volume is muted.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Process(videohwdecoder)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the currently playing video is decoded in hardware&lt;br /&gt;
| v17 addition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.TempoEnabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current player supports changing the playback speed&lt;br /&gt;
| v17 addition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.IsTempo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current playbackspeed is not equal to 1&lt;br /&gt;
| v17 addition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MusicPlayer ====&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;
| &amp;lt;code&amp;gt;MusicPlayer.HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a next song queued in the Playlist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a a Previous Song in the Playlist .&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.Offset(number).Exists&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music players playlist has a song queued in position (number).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPartyMode.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Party Mode is enabled&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== VideoPlayer ====&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;
| &amp;lt;code&amp;gt;VideoPlayer.UsingOverlays&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player is using the hardware overlays render method. Useful, as with hardware overlays you have no alpha blending to the video image, so shadows etc. need redoing, or disabling.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player is in fullscreen mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasMenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player has a menu (ie is playing a DVD)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current playing video has information from the library or from a plugin (eg director/plot etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current Video you are playing is contained in corresponding Video Library sections. The following values are accepted : files, movies, episodes, musicvideos, livetv&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasSubtitles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are subtitles available for video. (available for version 11.0 and above)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true when the currently playing video is a 3D (stereoscopic) video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.SubtitlesEnabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if subtitles are turned on for video. (available for version 11.0 and above)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when epg information is available for the currently playing programme (PVR).&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PlayList ===&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;
| &amp;lt;code&amp;gt;Playlist.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in random mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat all mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeatOne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat one mode.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PVR ===&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;
| &amp;lt;code&amp;gt;Pvr.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasNonRecordingTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a non recording timer is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when an epg is available.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTxt&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when teletext is available.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTVChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are tv channels available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasRadioChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are radio channels available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingTv&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live tv is being watched.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRadio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live radio is being listened to.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording is being watched.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the system is recording a tv programme.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsTimeShift&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the playback is timeshifted.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.ActStreamIsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true if the stream is encrypted&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Pvr.RadioNextRecordingChannelIcon&lt;br /&gt;
| Icon of the next recording radio channel&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| Pvr.IsRecordingTV&lt;br /&gt;
| Returns true when the system is recording a tv programme.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| Pvr.HasTVTimer&lt;br /&gt;
| Returns true if at least one tv timer is active.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| Pvr.HasNonRecordingTVTimer&lt;br /&gt;
| Returns true if there are tv timers present who currently not do recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| Pvr.IsRecordingRadio&lt;br /&gt;
| Returns true when the system is recording a radio programme.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| Pvr.HasRadioTimer&lt;br /&gt;
| Returns true if at least one radio timer is active.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| Pvr.HasNonRecordingRadioTimer&lt;br /&gt;
| Returns true if there are radio timers present who currently not do recording&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RDS ===&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;
| &amp;lt;code&amp;gt;RDS.HasRds&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if RDS is present&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasRadioText&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if RDS contains also Radiotext&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasRadioTextPlus&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if RDS with Radiotext contains also the plus information&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasHotline&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a hotline phone number is present (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasStudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a studio name is present (Only be available on RadiotextPlus)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Skin ===&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;
| &amp;lt;code&amp;gt;Skin.HasTheme(theme)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has selected the theme with name ?theme?.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns the state of the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;skin-specified&amp;lt;/span&amp;gt; setting ?setting?. You can toggle a setting from a button by using &amp;lt;onclick&amp;gt;Skin.ToggleSetting(setting)&amp;lt;/onclick&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;non-empty&amp;lt;/span&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string1,string2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as stringcompare(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SlideShow ===&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;
| &amp;lt;code&amp;gt;Slideshow.IsActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is running&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsPaused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is paused&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is in random mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is playing a video&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== String ===&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;
| &amp;lt;code&amp;gt;String.IsEmpty([[InfoLabels|info]])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] is empty.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[]. Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.IsEqual([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] is equal to the given string.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.StartsWith([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] starts with the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[]. Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.EndsWith([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] ends with the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[]. Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.Contains([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] contains the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[]. Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== System ===&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;
| &amp;lt;code&amp;gt;System.HasAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the specified addon is installed on the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasPVRAddon&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if at least one PVR addon is installed on the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAlarm(alarm)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the system has the ?alarm? alarm set.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.AlarmLessOrEqual(alarmname,seconds)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the alarm with ?alarmname? has less or equal to ?seconds? left. Standard use would be system.alarmlessorequal(shutdowntimer,119), which would return true when the shutdowntimer has less then 2 minutes left.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasNetwork&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the ethernet cable is plugged in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasMediadvd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there is a CD or DVD 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.IdleTime(time)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi has had no input for ?time? amount of seconds.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsStandalone&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running in standalone mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running fullscreen.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.KaiConnected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC&#039;s Kai client is connected to the PC engine.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsLoggedOn&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a user is currently logged on under a [[Profiles|profile]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasLoginScreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[Profiles|profile]] login screen is enabled&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasADSP&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if ADSP is enabled&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasModalDialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true true if a modal dialog is visible&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Time(startTime,endTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system time is &amp;gt;= startTime and &amp;lt; endTime.  endTime is optional.  Time must be specified in the format HH:mm, using a 24 hour clock.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Date(startDate,endDate)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system date is &amp;gt;= startDate and &amp;lt; endDate.  endDate is optional.  Date must be specified in the format MM-DD.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a linux/unix based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux.RaspberryPi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a Raspberry Pi.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Windows&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a windows based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.OSX&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an OSX based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.IOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an IOS device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Darwin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an OSX or IOS system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.ATV2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an atv2.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Android&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an android device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanPowerDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can powerdown the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanSuspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can suspend the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanHibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can hibernate the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasHiddenInput&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return true when to osd keyboard/numeric dialog requests a password/pincode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanReboot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can reboot the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ScreenSaverActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if ScreenSaver is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Setting(hidewatched)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if &#039;hide watched items&#039; is selected.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsInhibit&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is disabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is enabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasCMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if colour management is supported in Kodi.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Visualisation ===&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;
| &amp;lt;code&amp;gt;Visualisation.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if any visualisation has been set in settings (so not None).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.HasPresets&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the visualisation has built in presets.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Locked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current visualisation preset is locked (eg in Milkdrop.)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weather ===&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;
| &amp;lt;code&amp;gt;Weather.IsFetched&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the weather data has been downloaded.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Window ===&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;
| &amp;lt;code&amp;gt;Window.IsVisible(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window is visible (includes fade out time on dialogs)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsActive(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is active (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsTopMost(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is on top of the window stack (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if this window is a media window (programs, music, video, scripts, pictures)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Next(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved to. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Previous(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved from. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&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 true if the window is a radio window (for use in the PVR windows)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Is(name)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Useful in xml files that are shared between multiple windows/dialogs. Will return true if the window with the given name is visible&lt;br /&gt;
| v17 addition&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;
== 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;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=124359</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=124359"/>
		<updated>2016-09-16T15:05:51Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section/window of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows allow you to jump directly to a sub-section of that window.  To do this, you can use either the sub-section&#039;s name or its path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,videodb://movies/titles/)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Videos, Music, and Programs sections/windows.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Root ||library://video/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
|InProgressTvShows ||videodb://inprogresstvshows&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Root ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Song ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://music/&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Addons ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|AndroidApps ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== AddonBrowser ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|My add-ons ||addons://user/&amp;lt;type&amp;gt;/ (see for available types https://github.com/xbmc/xbmc/blob/master/xbmc/addons/Addon.cpp#L73)&lt;br /&gt;
|-&lt;br /&gt;
|Update available ||addons://outdated/&lt;br /&gt;
|-&lt;br /&gt;
|Currently downloading add-ons ||addons://downloading/&lt;br /&gt;
|-&lt;br /&gt;
|Recently updated ||addons://recently_updated/&lt;br /&gt;
|-&lt;br /&gt;
|Install from repository ||addons://repos/&lt;br /&gt;
|-&lt;br /&gt;
|Install from zip ||addons://install/&lt;br /&gt;
|-&lt;br /&gt;
|Search ||addons://search/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=124358</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=124358"/>
		<updated>2016-09-16T15:03:57Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section/window of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows allow you to jump directly to a sub-section of that window.  To do this, you can use either the sub-section&#039;s name or its path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,videodb://movies/titles/)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Videos, Music, and Programs sections/windows.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Root ||library://video/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
|InProgressTvShows ||videodb://inprogresstvshows&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Root ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Song ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://music/&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|Addons ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|AndroidApps ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PVR ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|TVChannels ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|TVGuide ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|TVRecordings ||N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== AddonBrowser ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path&lt;br /&gt;
|-&lt;br /&gt;
|My add-ons ||addons://user/&amp;lt;type&amp;gt;/ (see for available types https://github.com/xbmc/xbmc/blob/master/xbmc/addons/Addon.cpp#L73)&lt;br /&gt;
|-&lt;br /&gt;
|Update available ||addons://outdated/&lt;br /&gt;
|-&lt;br /&gt;
|Currently downloading add-ons ||addons://downloading/&lt;br /&gt;
|-&lt;br /&gt;
|Recently updated ||addons://recently_updated/&lt;br /&gt;
|-&lt;br /&gt;
|Install from repository ||addons://repos/&lt;br /&gt;
|-&lt;br /&gt;
|Install from zip ||addons://install/&lt;br /&gt;
|-&lt;br /&gt;
|Search ||addons://search/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=117573</id>
		<title>List of boolean conditions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=117573"/>
		<updated>2016-03-14T20:21:52Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|Conditional Visibility}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use boolean conditions with the &amp;lt;visible&amp;gt; tag or with condition attributes. Scripts can read boolean conditions with &amp;lt;code&amp;gt;xbmc.getCondVisibility(condition)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Condition !! Description !! Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.IsActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasInputResample&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasPreProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasMasterProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasPostProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasOutputResample&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.MasterActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.HasThumb&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in has a thumb assigned to it&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in contains the following: &#039;&#039;&#039;files, songs, artists, albums, movies, tvshows, seasons, episodes, musicvideos, genres, years, actors, playlists, plugins, studios, directors, sets, tags&#039;&#039;&#039; (Note: these currently only work in the Video and Music Library or unless a Plugin has set the value) also available are &#039;&#039;&#039;Addons&#039;&#039;&#039; true when a list of add-ons is shown &#039;&#039;&#039;LiveTV&#039;&#039;&#039; true when a htsp (tvheadend) directory is shown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is moving to the next item.  Allows views to be custom-designed (such as 3D coverviews etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is scrolling to the next item. Differs from OnNext in that OnNext triggers on movement even if there is no scroll involved.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is moving to the previous item.  Allows views to be custom-designed (such as 3D coverviews etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is scrolling to the previous item. Differs from OnPrevious in that OnPrevious triggers on movement even if there is no scroll involved.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFocus(item_number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) has static content and is focused on the item with id item_number.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains files (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFolders&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains folders (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container or textbox with id (id) has a next page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container or textbox with id (id) has a previous page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).IsUpdating&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with [[Dynamic List Content|dynamic list content]] is currently updating.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).IsStacked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container is currently in stacked mode (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilter&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current container can be filtered.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilterAdvanced&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when advanced filtering can be applied to the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Filtered&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a mediafilter is applied to the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.HasParent&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return true when the container contains a parent (&#039;..&#039;) item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection(ascending)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true the sort direction of a container is ascending.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection(descending)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true the sort direction of a container is descending.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Row(row)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the row given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Column(col)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the column given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Position(pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the position given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Scrolling&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user is currently scrolling through the container with id (or current container if id is omitted).  Note that this is slightly delayed from the actual scroll start.  Use Container(id).OnScrollNext/OnScrollPrevious to trigger animations immediately on scroll.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsEnabled(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is enabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsVisible(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is visible.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the currently focused control has id &amp;quot;id&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ControlGroup(group).HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control group with id “group” has control id “id” as it&#039;s focused item. If “id” is not present, or is 0, then it will return true if the currently focused control is in the control group with id “group”. Note that if the control group with id “group” does not have focus, then this will still return true if the last focused item in the group had control id “id”. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsGreater([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsGreater(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsGreaterOrEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater or equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsGreaterOrEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsLess([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is less than the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsLess(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsLessOrEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is less or equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsLessOrEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IntegerGreaterThan([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;deprecated: use Integer.IsGreater() instead&amp;lt;/small&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than the supplied number.&amp;lt;br /&amp;gt;Example: IntegerGreaterThan(ListItem.Year,2000)&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IsEmpty([[InfoLabels|info]])&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;deprecated: use String.IsEmpty() instead&amp;lt;/small&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is empty.&amp;lt;br /&amp;gt;Example: IsEmpty(ListItem.Plot)&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.HasContent(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the Kodi libraries have the content from string.  Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningMusic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music library is being updated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video library is being updated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsFolder&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is a folder&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsPlaying&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem.* [[InfoLabels|info labels]] and images are currently Playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsResumable&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current ListItem has been partially played&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsCollection&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current ListItem is a movie set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsSelected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is selected (f.e. currently playing in playlist window)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme has epg info (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer has been set for the selected programme (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is being recorded (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is encrypted (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected video is a 3D (stereoscopic) video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(IsSpecial)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current Season/Episode is a Special&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(DateLabel)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Can be used in the rulerlayout of the epggrid control. Will return true if the item is a date label, returns false if the item is a time label.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.Enabled)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected addon is enabled (for use in the addon info dialog only).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.Installed)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected addon is installed (for use in the addon info dialog only).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.UpdateAvail)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when there&#039;s an update available for the selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a next song queued in the Playlist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a a Previous Song in the Playlist .&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.Offset(number).Exists&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music players playlist has a song queued in position (number).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPartyMode.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Party Mode is enabled&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio or video file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasAudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasDuration&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Media isn&#039;t a true stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has a video file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Passthrough&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is using audio passthrough.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Playing&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Paused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is paused.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 2x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 4x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 8x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 16x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 32x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 2x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 4x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 8x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 16x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 32x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.CanRecord&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player can record the current internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Recording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is recording the current internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Caching&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is current &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;re-caching&amp;lt;/span&amp;gt; data (internet based video playback).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.DisplayAfterSeek&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true for the first 2.5 seconds after a seek.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Seeking&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a seek is in progress&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowTime&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the time to show (occurs in video fullscreen)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowCodec&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the codec to show (occurs in visualisation and video fullscreen)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.IsInternetStream&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is playing an internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Muted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the volume is muted.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in random mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat all mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeatOne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat one mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasNonRecordingTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a non recording timer is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when an epg is available.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTxt&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when teletext is available.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasDirector&amp;lt;/code&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTVChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are tv channels available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasRadioChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are radio channels available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingTv&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live tv is being watched.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRadio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live radio is being listened to.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording is being watched.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the system is recording a tv programme.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsTimeShift&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the playback is timeshifted.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.ActStreamIsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true if the stream is encrypted&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasRds&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasRadioText&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasRadioTextPlus&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasHotline&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasStudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasTheme(theme)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has selected the theme with name ?theme?.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns the state of the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;skin-specified&amp;lt;/span&amp;gt; setting ?setting?. You can toggle a setting from a button by using &amp;lt;onclick&amp;gt;Skin.ToggleSetting(setting)&amp;lt;/onclick&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;non-empty&amp;lt;/span&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string1,string2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as stringcompare(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is running&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsPaused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is paused&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is in random mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is playing a video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.IsEmpty([[InfoLabels|info]])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] is empty.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.IsEqual([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] is equal to the given string.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.StartsWith([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] starts with the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.EndsWith([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] ends with the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.Contains([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] contains the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StringCompare([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;deprecated: use String.IsEqual() instead&amp;lt;/small&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] equals the string. example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubString([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;deprecated: use String.Contains() instead&amp;lt;/small&amp;gt;&lt;br /&gt;
| Returns true if the string is found anywhere in the [[InfoLabels|info]]&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubString([[InfoLabels|info]],string,[Left or Right])&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;deprecated: use String.StartsWith() / String.EndsWith() instead&amp;lt;/small&amp;gt;&lt;br /&gt;
| Returns true if the string is found from the start or the end.&amp;lt;br /&amp;gt;Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,foob,Left) -&amp;gt; true&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,foob,Right) -&amp;gt; False&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,bars,Right) -&amp;gt; true&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the specified addon is installed on the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAlarm(alarm)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the system has the ?alarm? alarm set.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.AlarmLessOrEqual(alarmname,seconds)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the alarm with ?alarmname? has less or equal to ?seconds? left. Standard use would be system.alarmlessorequal(shutdowntimer,119), which would return true when the shutdowntimer has less then 2 minutes left.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasNetwork&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the ethernet cable is plugged in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasMediadvd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there is a CD or DVD 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.IdleTime(time)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi has had no input for ?time? amount of seconds.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsStandalone&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running in standalone mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running fullscreen.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.KaiConnected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC&#039;s Kai client is connected to the PC engine.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsLoggedOn&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a user is currently logged on under a [[Profiles|profile]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasLoginScreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[Profiles|profile]] login screen is enabled&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasADSP&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if ADSP is enabled&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasModalDialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true true if a modal dialog is visible&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Time(startTime,endTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system time is &amp;gt;= startTime and &amp;lt; endTime.  endTime is optional.  Time must be specified in the format HH:mm, using a 24 hour clock.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Date(startDate,endDate)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system date is &amp;gt;= startDate and &amp;lt; endDate.  endDate is optional.  Date must be specified in the format MM-DD.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a linux/unix based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux.RaspberryPi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a Raspberry Pi.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Windows&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a windows based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.OSX&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an OSX based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.IOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an IOS device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Darwin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an OSX or IOS system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.ATV2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an atv2.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Android&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an android device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanPowerDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can powerdown the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanSuspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can suspend the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanHibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can hibernate the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasHiddenInput&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return true when to osd keyboard/numeric dialog requests a password/pincode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanReboot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can reboot the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ScreenSaverActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if ScreenSaver is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Setting(hidewatched)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if &#039;hide watched items&#039; is selected.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsInhibit&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is disabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is enabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.UsingOverlays&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player is using the hardware overlays render method. Useful, as with hardware overlays you have no alpha blending to the video image, so shadows etc. need redoing, or disabling.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player is in fullscreen mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasMenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player has a menu (ie is playing a DVD)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current playing video has information from the library or from a plugin (eg director/plot etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current Video you are playing is contained in corresponding Video Library sections. The following values are accepted : files, movies, episodes, musicvideos, livetv&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasSubtitles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are subtitles available for video. (available for version 11.0 and above)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true when the currently playing video is a 3D (stereoscopic) video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.SubtitlesEnabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if subtitles are turned on for video. (available for version 11.0 and above)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when epg information is available for the currently playing programme (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if any visualisation has been set in settings (so not None).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.HasPresets&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the visualisation has built in presets.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Locked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current visualisation preset is locked (eg in Milkdrop.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.IsFetched&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the weather data has been downloaded.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsVisible(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window is visible (includes fade out time on dialogs)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsActive(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is active (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsTopMost(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is on top of the window stack (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if this window is a media window (programs, music, video, scripts, pictures)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Next(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved to. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Previous(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved from. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&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 true if the window is a radio window (for use in the PVR windows)&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;
== 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;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=117572</id>
		<title>List of boolean conditions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=117572"/>
		<updated>2016-03-14T20:16:34Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|Conditional Visibility}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use boolean conditions with the &amp;lt;visible&amp;gt; tag or with condition attributes. Scripts can read boolean conditions with &amp;lt;code&amp;gt;xbmc.getCondVisibility(condition)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Condition !! Description !! Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.IsActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasInputResample&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasPreProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasMasterProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasPostProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.HasOutputResample&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ADSP.MasterActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.HasThumb&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in has a thumb assigned to it&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in contains the following: &#039;&#039;&#039;files, songs, artists, albums, movies, tvshows, seasons, episodes, musicvideos, genres, years, actors, playlists, plugins, studios, directors, sets, tags&#039;&#039;&#039; (Note: these currently only work in the Video and Music Library or unless a Plugin has set the value) also available are &#039;&#039;&#039;Addons&#039;&#039;&#039; true when a list of add-ons is shown &#039;&#039;&#039;LiveTV&#039;&#039;&#039; true when a htsp (tvheadend) directory is shown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is moving to the next item.  Allows views to be custom-designed (such as 3D coverviews etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is scrolling to the next item. Differs from OnNext in that OnNext triggers on movement even if there is no scroll involved.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is moving to the previous item.  Allows views to be custom-designed (such as 3D coverviews etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is scrolling to the previous item. Differs from OnPrevious in that OnPrevious triggers on movement even if there is no scroll involved.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFocus(item_number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) has static content and is focused on the item with id item_number.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains files (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFolders&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains folders (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container or textbox with id (id) has a next page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container or textbox with id (id) has a previous page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).IsUpdating&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with [[Dynamic List Content|dynamic list content]] is currently updating.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).IsStacked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container is currently in stacked mode (or current container if id is omitted).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilter&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current container can be filtered.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilterAdvanced&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when advanced filtering can be applied to the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Filtered&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a mediafilter is applied to the current container.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.HasParent&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return true when the container contains a parent (&#039;..&#039;) item.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection(ascending)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true the sort direction of a container is ascending.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection(descending)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true the sort direction of a container is descending.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Row(row)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the row given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Column(col)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the column given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Position(pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the position given.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Scrolling&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user is currently scrolling through the container with id (or current container if id is omitted).  Note that this is slightly delayed from the actual scroll start.  Use Container(id).OnScrollNext/OnScrollPrevious to trigger animations immediately on scroll.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsEnabled(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is enabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsVisible(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is visible.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the currently focused control has id &amp;quot;id&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ControlGroup(group).HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control group with id “group” has control id “id” as it&#039;s focused item. If “id” is not present, or is 0, then it will return true if the currently focused control is in the control group with id “group”. Note that if the control group with id “group” does not have focus, then this will still return true if the last focused item in the group had control id “id”. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsGreater([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsGreater(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsGreaterOrEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater or equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsGreaterOrEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsLess([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is less than the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsLess(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Integer.IsLessOrEqual([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is less or equal to the supplied number.&amp;lt;br /&amp;gt;Example: Integer.IsLessOrEqual(ListItem.Year,2000)&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IntegerGreaterThan([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;**deprecated**&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than the supplied number.&amp;lt;br /&amp;gt;Example: IntegerGreaterThan(ListItem.Year,2000)&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IsEmpty([[InfoLabels|info]])&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;**deprecated**&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is empty.&amp;lt;br /&amp;gt;Example: IsEmpty(ListItem.Plot)&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.HasContent(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the Kodi libraries have the content from string.  Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningMusic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music library is being updated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video library is being updated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsFolder&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is a folder&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsPlaying&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem.* [[InfoLabels|info labels]] and images are currently Playing media&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsResumable&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current ListItem has been partially played&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsCollection&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current ListItem is a movie set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsSelected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is selected (f.e. currently playing in playlist window)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme has epg info (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer has been set for the selected programme (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is being recorded (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is encrypted (PVR)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected video is a 3D (stereoscopic) video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(IsSpecial)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current Season/Episode is a Special&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(DateLabel)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Can be used in the rulerlayout of the epggrid control. Will return true if the item is a date label, returns false if the item is a time label.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.Enabled)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected addon is enabled (for use in the addon info dialog only).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.Installed)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected addon is installed (for use in the addon info dialog only).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(Addon.UpdateAvail)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when there&#039;s an update available for the selected addon.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a next song queued in the Playlist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a a Previous Song in the Playlist .&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.Offset(number).Exists&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music players playlist has a song queued in position (number).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPartyMode.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Party Mode is enabled&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio or video file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasAudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasDuration&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Media isn&#039;t a true stream&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has a video file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Passthrough&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is using audio passthrough.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Playing&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Paused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is paused.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 2x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 4x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 8x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 16x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 32x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 2x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 4x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 8x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 16x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 32x.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.CanRecord&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player can record the current internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Recording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is recording the current internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Caching&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is current &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;re-caching&amp;lt;/span&amp;gt; data (internet based video playback).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.DisplayAfterSeek&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true for the first 2.5 seconds after a seek.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Seeking&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a seek is in progress&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowTime&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the time to show (occurs in video fullscreen)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowCodec&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the codec to show (occurs in visualisation and video fullscreen)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.IsInternetStream&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is playing an internet stream.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Muted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the volume is muted.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in random mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat all mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeatOne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat one mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasNonRecordingTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a non recording timer is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when an epg is available.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTxt&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when teletext is available.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasDirector&amp;lt;/code&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTVChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are tv channels available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasRadioChannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are radio channels available&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingTv&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live tv is being watched.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRadio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live radio is being listened to.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording is being watched.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the system is recording a tv programme.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsTimeShift&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the playback is timeshifted.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.ActStreamIsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true if the stream is encrypted&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasRds&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasRadioText&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasRadioTextPlus&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasHotline&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RDS.HasStudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasTheme(theme)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has selected the theme with name ?theme?.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns the state of the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;skin-specified&amp;lt;/span&amp;gt; setting ?setting?. You can toggle a setting from a button by using &amp;lt;onclick&amp;gt;Skin.ToggleSetting(setting)&amp;lt;/onclick&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;non-empty&amp;lt;/span&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string1,string2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as stringcompare(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is running&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsPaused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is paused&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is in random mode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is playing a video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.IsEmpty([[InfoLabels|info]])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] is empty.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.IsEqual([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] is equal to the given string.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.StartsWith([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] starts with the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.EndsWith([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] ends with the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;String.Contains([[InfoLabels|info]],substring)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] contains the given substring.&amp;lt;br /&amp;gt;Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| {{nowrap|v17 Addition}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StringCompare([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;**deprecated**&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] equals the string. example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubString([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;**deprecated**&lt;br /&gt;
| Returns true if the string is found anywhere in the [[InfoLabels|info]]&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubString([[InfoLabels|info]],string,[Left or Right])&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;**deprecated**&lt;br /&gt;
| Returns true if the string is found from the start or the end.&amp;lt;br /&amp;gt;Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,foob,Left) -&amp;gt; true&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,foob,Right) -&amp;gt; False&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,bars,Right) -&amp;gt; true&lt;br /&gt;
| until v18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the specified addon is installed on the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAlarm(alarm)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the system has the ?alarm? alarm set.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.AlarmLessOrEqual(alarmname,seconds)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the alarm with ?alarmname? has less or equal to ?seconds? left. Standard use would be system.alarmlessorequal(shutdowntimer,119), which would return true when the shutdowntimer has less then 2 minutes left.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasNetwork&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the ethernet cable is plugged in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasMediadvd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there is a CD or DVD 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.IdleTime(time)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi has had no input for ?time? amount of seconds.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsStandalone&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running in standalone mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running fullscreen.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.KaiConnected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC&#039;s Kai client is connected to the PC engine.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsLoggedOn&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a user is currently logged on under a [[Profiles|profile]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasLoginScreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[Profiles|profile]] login screen is enabled&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasADSP&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if ADSP is enabled&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasModalDialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true true if a modal dialog is visible&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Time(startTime,endTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system time is &amp;gt;= startTime and &amp;lt; endTime.  endTime is optional.  Time must be specified in the format HH:mm, using a 24 hour clock.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Date(startDate,endDate)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system date is &amp;gt;= startDate and &amp;lt; endDate.  endDate is optional.  Date must be specified in the format MM-DD.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a linux/unix based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux.RaspberryPi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a Raspberry Pi.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Windows&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on a windows based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.OSX&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an OSX based computer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.IOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an IOS device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Darwin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an OSX or IOS system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.ATV2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an atv2.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Android&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi is running on an android device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanPowerDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can powerdown the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanSuspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can suspend the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanHibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can hibernate the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasHiddenInput&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return true when to osd keyboard/numeric dialog requests a password/pincode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanReboot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Kodi can reboot the system.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ScreenSaverActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if ScreenSaver is active.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Setting(hidewatched)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if &#039;hide watched items&#039; is selected.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsInhibit&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is disabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is enabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.UsingOverlays&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player is using the hardware overlays render method. Useful, as with hardware overlays you have no alpha blending to the video image, so shadows etc. need redoing, or disabling.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player is in fullscreen mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasMenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player has a menu (ie is playing a DVD)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current playing video has information from the library or from a plugin (eg director/plot etc.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current Video you are playing is contained in corresponding Video Library sections. The following values are accepted : files, movies, episodes, musicvideos, livetv&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasSubtitles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are subtitles available for video. (available for version 11.0 and above)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true when the currently playing video is a 3D (stereoscopic) video&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.SubtitlesEnabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if subtitles are turned on for video. (available for version 11.0 and above)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when epg information is available for the currently playing programme (PVR).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if any visualisation has been set in settings (so not None).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.HasPresets&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the visualisation has built in presets.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Locked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current visualisation preset is locked (eg in Milkdrop.)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.IsFetched&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the weather data has been downloaded.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsVisible(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window is visible (includes fade out time on dialogs)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsActive(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is active (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsTopMost(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is on top of the window stack (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if this window is a media window (programs, music, video, scripts, pictures)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Next(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved to. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Previous(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved from. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&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 true if the window is a radio window (for use in the PVR windows)&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;
== 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;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99756</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99756"/>
		<updated>2015-08-13T08:29:25Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &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&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;
|- {{Isengard row}}&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;
|- {{Gotham row}}&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;
|- {{Gotham row}}&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 [[EDL]] 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 [[EDL]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD 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; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_ALIGN)&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;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. {{editor note|seems to only use the [[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;(0-9)&#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). {{note|You may want to use &amp;lt;code&amp;gt;playpause&amp;lt;/code&amp;gt; instead of just &amp;quot;play&amp;quot;, since it will no longer pause media already being played.}}&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;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;
|- {{jarvis row}}&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;(2-9)&#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;(2-9)&#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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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 (defined in [[playercorefactory.xml]]). &#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;
|}&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;
{{Jarvis updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99754</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99754"/>
		<updated>2015-08-12T14:40:12Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &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&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;
|- {{Isengard row}}&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;
|- {{Gotham row}}&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;
|- {{Gotham row}}&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 [[EDL]] 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 [[EDL]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDLeft&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_LEFT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDRight&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_RIGHT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDUp&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDDown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDSelect&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_SELECT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDValuePlus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDValueMinus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_MIN)&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; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleShiftDown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;SubtitleAlign&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_ALIGN)&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;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. {{editor note|seems to only use the [[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;(0-9)&#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). {{note|You may want to use &amp;lt;code&amp;gt;playpause&amp;lt;/code&amp;gt; instead of just &amp;quot;play&amp;quot;, since it will no longer pause media already being played.}}&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;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;
|- {{jarvis row}}&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;(2-9)&#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;(2-9)&#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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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 (defined in [[playercorefactory.xml]]). &#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;
|}&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;
{{Jarvis updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99753</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99753"/>
		<updated>2015-08-12T14:38:39Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &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&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;
|- {{Isengard row}}&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;
|- {{Gotham row}}&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;
|- {{Gotham row}}&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 [[EDL]] 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 [[EDL]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDLeft&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_LEFT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDRight&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_RIGHT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDUp&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDDown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDSelect&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_SELECT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDValuePlus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSDValueMinus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;Unused&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_MIN)&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; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitleshiftdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitlealign&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_ALIGN)&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;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. {{editor note|seems to only use the [[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;(0-9)&#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). {{note|You may want to use &amp;lt;code&amp;gt;playpause&amp;lt;/code&amp;gt; instead of just &amp;quot;play&amp;quot;, since it will no longer pause media already being played.}}&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;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;
|- {{jarvis row}}&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;(2-9)&#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;(2-9)&#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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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 (defined in [[playercorefactory.xml]]). &#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;
|}&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;
{{Jarvis updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99752</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99752"/>
		<updated>2015-08-12T14:33:19Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &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&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;
|- {{Isengard row}}&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;
|- {{Gotham row}}&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;
|- {{Gotham row}}&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 [[EDL]] 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 [[EDL]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdleft&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_LEFT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdright&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_RIGHT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osddown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdselect&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_SELECT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvalueplus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvalueminus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_MIN)&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; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitleshiftdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitlealign&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_ALIGN)&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;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. {{editor note|seems to only use the [[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;(0-9)&#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). {{note|You may want to use &amp;lt;code&amp;gt;playpause&amp;lt;/code&amp;gt; instead of just &amp;quot;play&amp;quot;, since it will no longer pause media already being played.}}&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;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;
|- {{jarvis row}}&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;(2-9)&#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;(2-9)&#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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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 (defined in [[playercorefactory.xml]]). &#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;
|}&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;
{{Jarvis updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99751</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99751"/>
		<updated>2015-08-12T14:22:10Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &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&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;
|- {{Isengard row}}&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;
|- {{Gotham row}}&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;
|- {{Gotham row}}&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 [[EDL]] 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 [[EDL]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdleft&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_LEFT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdright&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_RIGHT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osddown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdselect&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_SELECT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvalueplus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvalueminus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_MIN)&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; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitleshiftdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitlealign&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_ALIGN)&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;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. {{editor note|seems to only use the [[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;(0-9)&#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). {{note|You may want to use &amp;lt;code&amp;gt;playpause&amp;lt;/code&amp;gt; instead of just &amp;quot;play&amp;quot;, since it will no longer pause media already being played.}}&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;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;
|- {{jarvis row}}&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;(2-9)&#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;(2-9)&#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;toggledebug&amp;lt;/code&amp;gt; || toggle debugging mode for the [[log file]]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyVideos)&amp;lt;/code&amp;gt; || Go to My Videos.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyMusic)&amp;lt;/code&amp;gt; || Go to My Music.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyPictures)&amp;lt;/code&amp;gt; || Go to My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(Home)&amp;lt;/code&amp;gt; || Go to Home window. Go back from within a context in the UI. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(type,path to playlist)&amp;lt;/code&amp;gt; || Opens the window for the desired playlist.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(&#039;&#039;&#039;&#039;&#039;[[Window IDs|windowid]]&#039;&#039;&#039;&#039;&#039;)&amp;lt;/code&amp;gt; || Go a window specified by &#039;&#039;&#039;&#039;windowid&#039;&#039;. See the [[Window IDs|list of window IDs]] for the list of valid values. Not all ids will work on all themes.&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;createepisodebookmark&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || Goes to the next channel group when using [[PVR]]/live TV. Works only within the &amp;quot;PVROSDChannels&amp;quot; window. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || Goes to the previous channel group when using [[PVR]]/live TV. Works only within the &amp;quot;PVROSDChannels&amp;quot; window. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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 (defined in [[playercorefactory.xml]]). &#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;
|}&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;
{{Jarvis updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Template:Jarvis_row&amp;diff=99750</id>
		<title>Template:Jarvis row</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Template:Jarvis_row&amp;diff=99750"/>
		<updated>2015-08-12T14:21:31Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;style=&amp;quot;background:#7eaa53;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99749</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99749"/>
		<updated>2015-08-12T14:20:15Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &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&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;
|- {{Helix row}}&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;
|- {{Gotham row}}&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;
|- {{Gotham row}}&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 [[EDL]] 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 [[EDL]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdleft&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_LEFT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdright&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_RIGHT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osddown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdselect&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_SELECT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvalueplus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvalueminus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_MIN)&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; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitleshiftdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitlealign&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_ALIGN)&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;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. {{editor note|seems to only use the [[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;(0-9)&#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). {{note|You may want to use &amp;lt;code&amp;gt;playpause&amp;lt;/code&amp;gt; instead of just &amp;quot;play&amp;quot;, since it will no longer pause media already being played.}}&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;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;
|- {{jarvis row}}&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;(2-9)&#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;(2-9)&#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;toggledebug&amp;lt;/code&amp;gt; || toggle debugging mode for the [[log file]]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyVideos)&amp;lt;/code&amp;gt; || Go to My Videos.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyMusic)&amp;lt;/code&amp;gt; || Go to My Music.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyPictures)&amp;lt;/code&amp;gt; || Go to My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(Home)&amp;lt;/code&amp;gt; || Go to Home window. Go back from within a context in the UI. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(type,path to playlist)&amp;lt;/code&amp;gt; || Opens the window for the desired playlist.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(&#039;&#039;&#039;&#039;&#039;[[Window IDs|windowid]]&#039;&#039;&#039;&#039;&#039;)&amp;lt;/code&amp;gt; || Go a window specified by &#039;&#039;&#039;&#039;windowid&#039;&#039;. See the [[Window IDs|list of window IDs]] for the list of valid values. Not all ids will work on all themes.&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;createepisodebookmark&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || Goes to the next channel group when using [[PVR]]/live TV. Works only within the &amp;quot;PVROSDChannels&amp;quot; window. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || Goes to the previous channel group when using [[PVR]]/live TV. Works only within the &amp;quot;PVROSDChannels&amp;quot; window. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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 (defined in [[playercorefactory.xml]]). &#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;
|}&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;
{{Jarvis updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99748</id>
		<title>Action IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Action_IDs&amp;diff=99748"/>
		<updated>2015-08-12T14:19:09Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &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&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;
|- {{Gotham row}}&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;
|- {{Gotham row}}&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 [[EDL]] 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 [[EDL]] file.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;OSD&amp;lt;/code&amp;gt; || Toggles the OSD while playing an item.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdleft&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_LEFT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdright&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_RIGHT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdup&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osddown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdselect&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_SELECT)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvalueplus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_PLUS)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvalueminus&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_OSD_SHOW_VALUE_MIN)&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; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_UP)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitleshiftdown&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_VSHIFT_DOWN)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;subtitlealign&amp;lt;/code&amp;gt; || &#039;&#039;&#039;?&#039;&#039;&#039; (ACTION_SUBTITLE_ALIGN)&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;Filter&amp;lt;/code&amp;gt; || Opens the mediafilter dialog in the video and musiclibrary. {{editor note|seems to only use the [[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;(0-9)&#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). {{note|You may want to use &amp;lt;code&amp;gt;playpause&amp;lt;/code&amp;gt; instead of just &amp;quot;play&amp;quot;, since it will no longer pause media already being played.}}&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;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;
|- {{jarvis row}}&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;(2-9)&#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;(2-9)&#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;toggledebug&amp;lt;/code&amp;gt; || toggle debugging mode for the [[log file]]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyVideos)&amp;lt;/code&amp;gt; || Go to My Videos.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyMusic)&amp;lt;/code&amp;gt; || Go to My Music.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(MyPictures)&amp;lt;/code&amp;gt; || Go to My Pictures.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(Home)&amp;lt;/code&amp;gt; || Go to Home window. Go back from within a context in the UI. &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(type,path to playlist)&amp;lt;/code&amp;gt; || Opens the window for the desired playlist.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;ActivateWindow(&#039;&#039;&#039;&#039;&#039;[[Window IDs|windowid]]&#039;&#039;&#039;&#039;&#039;)&amp;lt;/code&amp;gt; || Go a window specified by &#039;&#039;&#039;&#039;windowid&#039;&#039;. See the [[Window IDs|list of window IDs]] for the list of valid values. Not all ids will work on all themes.&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;createepisodebookmark&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;NextChannelGroup&amp;lt;/code&amp;gt; || Goes to the next channel group when using [[PVR]]/live TV. Works only within the &amp;quot;PVROSDChannels&amp;quot; window. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PreviousChannelGroup&amp;lt;/code&amp;gt; || Goes to the previous channel group when using [[PVR]]/live TV. Works only within the &amp;quot;PVROSDChannels&amp;quot; window. &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvr&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrTV&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayPvrRadio&amp;lt;/code&amp;gt; || [[PVR]] something ? &#039;&#039;&#039;(v13 Gotham addition)&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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 (defined in [[playercorefactory.xml]]). &#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;
|}&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;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Template:Jarvis_row&amp;diff=99747</id>
		<title>Template:Jarvis row</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Template:Jarvis_row&amp;diff=99747"/>
		<updated>2015-08-12T14:16:50Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: Created page with &amp;quot;style=&amp;quot;background:#8cd5f0;&amp;quot;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;style=&amp;quot;background:#8cd5f0;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=97067</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=97067"/>
		<updated>2015-06-08T14:54:09Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* List of functions */&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 function &#039;&#039;&#039;CBuiltins::Execute()&#039;&#039;&#039; in the source code file [https://github.com/xbmc/xbmc/blob/master/xbmc/interfaces/Builtins.cpp /xbmc/interfaces/Builtins.cpp].&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;
{| class=&amp;quot;prettytable sort sortable&amp;quot;&lt;br /&gt;
! Function&lt;br /&gt;
! Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Help&amp;lt;/code&amp;gt;&lt;br /&gt;
| This help message (??? probably broken)&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;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;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;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;Suspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Suspends (S3 / S1 depending on bios setting) the System&lt;br /&gt;
|&lt;br /&gt;
|- {{frodo row}}&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;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;AllowIdleShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allow the system to shutdown on idle.&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{gotham row}}&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;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;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;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;Mastermode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs Kodi in master mode&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;SetGUILanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set GUI Language&lt;br /&gt;
| {{nowrap|v13 Addition}}&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. [[Window IDs|See here 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;
|- {{frodo row}}&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;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;
|- {{gotham row}}&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;TakeScreenshot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes a Screenshot&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 full path to the script. If the script is an add-on, you can also execute it using its add-on id. 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;
|- {{frodo row}}&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;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;RunAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the specified plugin/script&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;NotifyAll&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;Extract&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;PlayMedia(media[,isdir][,1],[playoffset=xx])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Plays the media. This can be a playlist, music, or video file, directory, plugin or an Url. The optional parameter &amp;quot;,isdir&amp;quot; can be used for playing a directory. &amp;quot;,1&amp;quot; will start a video in a preview window, instead of fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from.&lt;br /&gt;
|&lt;br /&gt;
|- {{isengard row}}&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;
|- {{gotham row}}&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])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts a slideshow of pictures in the folder dir.  Optional parameters are &amp;quot;recursive&amp;quot;, and &amp;quot;random&amp;quot; or &amp;quot;notrandom&amp;quot; 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.&lt;br /&gt;
|&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;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;UnloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unloads the current skin&lt;br /&gt;
|&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;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, Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file), and Record. 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.&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;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;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;AlarmClock(name,command,time[,silent,loop])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a dialog asking for the length of time for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it&#039;ll execute the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;built-in&amp;lt;/span&amp;gt; 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.&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;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. [[Window IDs|See here for a list of window names, and their respective ids.]]&lt;br /&gt;
|&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;PlayDVD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will play the inserted CD or DVD media from 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;RipCD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will rip the inserted CD from 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;Skin.ToggleSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the skin setting ?setting? for use with [[Conditional Visibility|conditional visibility tags]] containing Skin.HasSetting(setting).&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 [[InfoLabels|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.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[,value])&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 [[InfoLabels|info tag]] Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the path is set directly.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Theme&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.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 [[InfoLabels|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.SetLargeImage(string[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a file browser and allows the user to select an large image file to be used in an image control else where in the skin via the [[InfoLabels|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.&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 [[InfoLabels|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;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.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 &#039;&#039;xbmc.addon.video&#039;&#039;, &#039;&#039;xbmc.addon.audio&#039;&#039;, &#039;&#039;xbmc.addon.image&#039;&#039; and &#039;&#039;xbmc.addon.executable&#039;&#039;.&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|conditional visibility tags]] containing Skin.HasSetting(setting). The settings are saved &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;per-skin&amp;lt;/span&amp;gt; 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.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;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;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;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;System.LogOff&amp;lt;/code&amp;gt;&lt;br /&gt;
| Log off current user.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Exec&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ExecWait&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands and freezes Kodi until shell is closed.&lt;br /&gt;
|&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;SetFocus(id,position)&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. Alias SetFocus(id,position)&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;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;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;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.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;
| &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.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.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.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.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.SetSortMethod(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the specified sort method. (For list of ID&#039;s see &#039;&#039;&#039;List of sort methods&#039;&#039;&#039; below)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection&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;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)&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. Alias SetFocus(id,position)&lt;br /&gt;
|&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;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;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;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;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;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;WakeOnLan(&#039;&#039;mac&#039;&#039;)&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;
| &amp;lt;code&amp;gt;Addon.Default.OpenSettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the default addon of the given type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.Set&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a select dialog to allow choosing the default addon of the given type&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;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;
| &amp;lt;code&amp;gt;ToggleDPMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle DPMS mode manually&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;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;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;LIRC.Stop&amp;lt;/code&amp;gt;&lt;br /&gt;
| Removes Kodi as a LIRC client.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LIRC.Start&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adds Kodi as a LIRC client.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LIRC.Send(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a command to LIRC, syntax is the lirc protocol without the newline.&amp;lt;br /&amp;gt;Example: LIRC.Send(SEND_ONCE Onkyo_RC-453S2 volup)&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;
|- {{frodo row}}&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;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StartPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
| (Re)Starts the PVR manager&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StopPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stops the PVR manager&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;{{nowrap|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.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StereoModeToMono&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the stereoscopic mode to 2D.&lt;br /&gt;
| {{nowrap|v13 Addition}}&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;
== 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;
&lt;br /&gt;
== List of sort methods ==&lt;br /&gt;
These ID&#039;s can be used with the Container.SetSortMethod(id) function:&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;
| Album&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| AlbumType&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| Genre&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| Year&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rating&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| Votes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| Top250&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProgramCount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| PlaylistOrder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| EpisodeNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| Season&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfWatchedEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowStatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| SortTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProductionCode&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| MPAA&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoResolution&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoAspectRatio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioChannels&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| SubtitleLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| Studio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| DateAdded&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| LastPlayed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&lt;br /&gt;
| Playcount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;41&amp;lt;/code&amp;gt;&lt;br /&gt;
| Listeners&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bitrate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;43&amp;lt;/code&amp;gt;&lt;br /&gt;
| Random&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;44&amp;lt;/code&amp;gt;&lt;br /&gt;
| Channel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;45&amp;lt;/code&amp;gt;&lt;br /&gt;
| ChannelNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;46&amp;lt;/code&amp;gt;	&lt;br /&gt;
| DateTaken&lt;br /&gt;
|}&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>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skip_steps&amp;diff=93955</id>
		<title>Skip steps</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skip_steps&amp;diff=93955"/>
		<updated>2015-04-30T07:22:24Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{isengard|nocat=}}&lt;br /&gt;
{{notice|Kodi v15 (Isengard) final has not been released yet. As such, these changes is for the current Kodi mainline which is a work in progress and are still subject to change.}}&lt;br /&gt;
&lt;br /&gt;
{{mininav| [[Video library]] | [[Video playback]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Skip steps is a new seeking function that has been implemented into Kodi v15 and is a method of additive skipping (also known as additive seeking) that applies to both videos and music, it allows you to skip backwards and forwards with the left and right cursor keys (this is the default &#039;&#039;&#039;[[Keymap|keyboard and remote]]&#039;&#039;&#039; mapping), and by pressing these keys multiple times you can skip with increasingly larger steps.&amp;lt;section end=&amp;quot;intro&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The following &#039;&#039;&#039;[[Action IDs|Action ID&#039;s]]&#039;&#039;&#039; are for now forwarded to the new seeking function:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* StepForward&lt;br /&gt;
* StepBack&lt;br /&gt;
* SmallStepBack - note this action is going to be removed as it is now redundant with the new seeking behaviour.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
The settings can be found in the &#039;&#039;&#039;&#039;&#039;Videos -&amp;gt; Playback&#039;&#039;&#039;&#039;&#039; section and &#039;&#039;&#039;&#039;&#039;Music -&amp;gt; Playback&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:skip steps.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Skip steps -&#039;&#039;&#039; This allows you to set the number of skip steps and the value for each step, the default values available here are &#039;&#039;&#039;-30 min, -15 min, -10 min, -5 min, -60 sec, -30 sec, -15 sec, -7 sec, 7 sec, 15 sec, 30 sec, 60 sec, 5 min, 10 min, 15 min, 30 min.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Skip delay:&#039;&#039;&#039; This is the amount of time Kodi waits for you to press the left or right key again (if using the default &#039;&#039;&#039;[[Keymap|keyboard and remote]]&#039;&#039;&#039; mapping) , before actually performing the forward or backwards skip, can be set to &#039;&#039;&#039;None&#039;&#039;&#039; and from there in &#039;&#039;&#039;250ms&#039;&#039;&#039; steps until &#039;&#039;&#039;3000ms&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Custom skip steps ===&lt;br /&gt;
&lt;br /&gt;
The available &#039;&#039;&#039;skip step&#039;&#039;&#039; values can be further customised via the &#039;&#039;&#039;[[advancedsettings.xml]]&#039;&#039;&#039; file with the &#039;&#039;&#039;&amp;lt;seeksteps&amp;gt;&#039;&#039;&#039; entry. This is an optional step for users who want more granular control over what options are available. &lt;br /&gt;
&lt;br /&gt;
{{greenv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|This advanced setting only overrides the values to be listed in the GUI &#039;&#039;&#039;Skip steps&#039;&#039;&#039; setting , in order to activate them for use you need to select them in the GUI using the &#039;&#039;&#039;Skip step&#039;&#039;&#039; setting, otherwise Kodi will carry on using the previously selected values. The values you enter are integers, so they apply for both the negative and positive directions e.g. a value of 10 will result in &#039;&#039;&#039;-10 sec&#039;&#039;&#039; and &#039;&#039;&#039;10 sec&#039;&#039;&#039; appearing in the &#039;&#039;&#039;Skip step&#039;&#039;&#039; list.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Example:&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;10, 20, 30, 40, 50, 60&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will result in the &#039;&#039;&#039;Skip step&#039;&#039;&#039; list in the GUI of &#039;&#039;&#039;-60 sec, -50 sec, -40 sec, -30 sec, -20 sec, -10 sec, 10 sec, 20 sec, 30 sec, 40 sec, 50 sec, 60 sec&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Additive skipping ==&lt;br /&gt;
&lt;br /&gt;
Additive skipping (additive seeking) is a method of having increasingly larger skip steps the more times you press either the left or right key, you need at least one skip step configured for either the positive or negative direction together with having a skip delay set. &#039;&#039;&#039;Note -&#039;&#039;&#039; If you press either the left or right key more times than there are configured steps for that direction, then the last configured skip size value will be summed up for each subsequent key press.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Example 1&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Skip Steps:&#039;&#039;&#039; -30 sec, -15sec, -7 sec, 15 sec, 30 sec, 60 sec&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Skip Delay:&#039;&#039;&#039; 750ms&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This table shows what happens with multiple presses of either the left key or the right key:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Key Presses&#039;&#039;&#039; || Left x 5 || Left x 4 || Left x 3 || Left x 2 || Left || Right || Right x 2 || Right x 3 || Right x 4 || Right x 5&lt;br /&gt;
|- style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Time to be skipped&#039;&#039;&#039; || 90 seconds backwards || 60 seconds backwards || 30 seconds backwards || 15 seconds backwards || 7 seconds backwards || 15 seconds forwards || 30 seconds forwards || 60 seconds forwards || 120 seconds forwards || 180 seconds forwards&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{greenv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|As there are 3 skip values in the positive direction with 60 sec being the last value, therefore a 4th right key press will take 60 sec (value for 3 key presses) and add a further 60 sec thus the skip size will be 120 sec forwards, a 5th right key press will be 180 sec, and so on. The same behaviour also applies for the negative direction.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Example 2&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Skip Steps:&#039;&#039;&#039; -7 sec, 30 sec&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Skip Delay:&#039;&#039;&#039; 750ms&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This table shows what happens with multiple presses of either the left key or the right key:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Key Presses&#039;&#039;&#039; || Left x 3 || Left x 2 || Left || Right || Right x 2 || Right x 3&lt;br /&gt;
|- style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Time to be skipped&#039;&#039;&#039; || 21 seconds backwards || 14 seconds backwards || 7 seconds backwards || 30 seconds forwards || 60 seconds forwards || 90 seconds forwards&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{greenv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|As there is only 1 skip value of 30 sec in the positive direction therefore a 2nd right key press will take 30 sec (value for 1 key press) and add a further 30 sec thus the skip size will be 60 sec forwards, a 3rd right key press will be 90 sec, and so on. The same behaviour also applies for the negative direction.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
It is worth experimenting with Skip Delay to find the optimal setting for your hardware and the type of response you wish, for 250ms allows use of the additive function while retaining an almost instant response however this needs very quick presses for multiple presses to be registered.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instant skipping ==&lt;br /&gt;
&lt;br /&gt;
With no more than a single negative or positive step configured, together with Skip Delay set to none, then Kodi will instantly skip without a delay.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Skip Steps:&#039;&#039;&#039; -7 sec, 30 sec&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Skip Delay:&#039;&#039;&#039; None&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Key Presses&#039;&#039;&#039; || Left || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Time to be skipped&#039;&#039;&#039; || 7 seconds backwards || 30 seconds forwards&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Built-in function ==&lt;br /&gt;
&lt;br /&gt;
With the built-in function &amp;lt;code&amp;gt;Seek(seconds)&amp;lt;/code&amp;gt; you are able to specify a relative amount of seconds to seek within the current playing media. A negative value will seek backward and a positive value forward.&amp;lt;br /&amp;gt;&lt;br /&gt;
For example, to make a seek that goes forward 25 seconds use Seek(25), and to make a seek that goes back 36 seconds use Seek(-36).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
See also: [[Keymap|How to customize my keymap]].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;keymap&amp;gt;&lt;br /&gt;
    &amp;lt;FullscreenVideo&amp;gt;&lt;br /&gt;
        &amp;lt;keyboard&amp;gt;&lt;br /&gt;
            &amp;lt;b&amp;gt;Seek(-7)&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;/keyboard&amp;gt;&lt;br /&gt;
    &amp;lt;/FullscreenVideo&amp;gt;&lt;br /&gt;
&amp;lt;/keymap&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Video playback]]&lt;br /&gt;
* [[HOW-TO:Modify time seeking]]&lt;br /&gt;
* [[Keyboard controls]]&lt;br /&gt;
* [[Keymap]]&lt;br /&gt;
* [[Action IDs]]&lt;br /&gt;
&lt;br /&gt;
{{Isengard updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Isengard feature]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=88477</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=88477"/>
		<updated>2015-04-01T07:33:24Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* List of functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
{{see also|Built-in scripting|Python development|Skinning}}&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 function &#039;&#039;&#039;CBuiltins::Execute()&#039;&#039;&#039; in the source code file [https://github.com/xbmc/xbmc/blob/master/xbmc/interfaces/Builtins.cpp /xbmc/interfaces/Builtins.cpp].&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;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Function&lt;br /&gt;
! Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Help&amp;lt;/code&amp;gt;&lt;br /&gt;
| This help message (??? probably broken)&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;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;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 XBMC&lt;br /&gt;
|&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;Suspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Suspends (S3 / S1 depending on bios setting) the System&lt;br /&gt;
|&lt;br /&gt;
|- {{frodo row}}&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;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;AllowIdleShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allow the system to shutdown on idle.&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{gotham row}}&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;RestartApp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Restarts XBMC (only implemented under Windows and Linux)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Minimize&amp;lt;/code&amp;gt;&lt;br /&gt;
| Minimizes XBMC&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;Mastermode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs XBMC in master mode&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;SetGUILanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set GUI Language&lt;br /&gt;
| {{nowrap|v13 Addition}}&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. [[Window IDs|See here 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 XBMC 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 XBMC 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;
|- {{frodo row}}&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;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;
|- {{gotham row}}&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;TakeScreenshot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes a Screenshot&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 full path to the script. If the script is an add-on, you can also execute it using its add-on id. 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;
|- {{frodo row}}&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;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;RunAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the specified plugin/script&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;NotifyAll&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;Extract&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;PlayMedia(media[,isdir][,1],[playoffset=xx])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Plays the media. This can be a playlist, music, or video file, directory, plugin or an Url. The optional parameter &amp;quot;,isdir&amp;quot; can be used for playing a directory. &amp;quot;,1&amp;quot; will start a video in a preview window, instead of fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from.&lt;br /&gt;
|&lt;br /&gt;
|- {{isengard row}}&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;
|- {{gotham row}}&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])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts a slideshow of pictures in the folder dir.  Optional parameters are &amp;quot;recursive&amp;quot;, and &amp;quot;random&amp;quot; or &amp;quot;notrandom&amp;quot; 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.&lt;br /&gt;
|&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;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;UnloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unloads the current skin&lt;br /&gt;
|&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;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, Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file), and Record. 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.&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;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;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;AlarmClock(name,command,time[,silent,loop])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a dialog asking for the length of time for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it&#039;ll execute the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;built-in&amp;lt;/span&amp;gt; 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.&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;Action(action)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes an action for the active window (same as in keymap)&lt;br /&gt;
|&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;PlayDVD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will play the inserted CD or DVD media from 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;RipCD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will rip the inserted CD from 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;Skin.ToggleSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the skin setting ?setting? for use with [[Conditional Visibility|conditional visibility tags]] containing Skin.HasSetting(setting).&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 [[InfoLabels|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.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[,value])&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 [[InfoLabels|info tag]] Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the path is set directly.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Theme&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.SetImage(string[,value])&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 [[InfoLabels|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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetLargeImage(string[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a file browser and allows the user to select an large image file to be used in an image control else where in the skin via the [[InfoLabels|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.&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 [[InfoLabels|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;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.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 &#039;&#039;xbmc.addon.video&#039;&#039;, &#039;&#039;xbmc.addon.audio&#039;&#039;, &#039;&#039;xbmc.addon.image&#039;&#039; and &#039;&#039;xbmc.addon.executable&#039;&#039;.&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|conditional visibility tags]] containing Skin.HasSetting(setting). The settings are saved &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;per-skin&amp;lt;/span&amp;gt; in settings.xml just like all the other XBMC settings.&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;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;SetVolume(percent[,showvolumebar])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the volume to the percentage specified. Optionally, show the Volume Dialog in XBMC when setting the volume.&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;System.LogOff&amp;lt;/code&amp;gt;&lt;br /&gt;
| Log off current user.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Exec&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ExecWait&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands and freezes XBMC until shell is closed.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Resolution&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change XBMC&#039;s Resolution.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetFocus(id,position)&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. Alias SetFocus(id,position)&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;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;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;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.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;
| &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.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.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.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.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.SetSortMethod(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the specified sort method. (For list of ID&#039;s see &#039;&#039;&#039;List of sort methods&#039;&#039;&#039; below)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection&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;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)&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. Alias SetFocus(id,position)&lt;br /&gt;
|&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;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;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;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;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;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;WakeOnLan(&#039;&#039;mac&#039;&#039;)&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;
| &amp;lt;code&amp;gt;Addon.Default.OpenSettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the default addon of the given type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.Set&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a select dialog to allow choosing the default addon of the given type&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;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;
| &amp;lt;code&amp;gt;ToggleDPMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle DPMS mode manually&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;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;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;LIRC.Stop&amp;lt;/code&amp;gt;&lt;br /&gt;
| Removes XBMC as a LIRC client.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LIRC.Start&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adds XBMC as a LIRC client.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LIRC.Send(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a command to LIRC, syntax is the lirc protocol without the newline.&amp;lt;br /&amp;gt;Example: LIRC.Send(SEND_ONCE Onkyo_RC-453S2 volup)&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;
|- {{frodo row}}&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;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StartPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
| (Re)Starts the PVR manager&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StopPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stops the PVR manager&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;{{nowrap|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.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StereoModeToMono&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the stereoscopic mode to 2D.&lt;br /&gt;
| {{nowrap|v13 Addition}}&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;
== 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;
&lt;br /&gt;
== List of sort methods ==&lt;br /&gt;
&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;
| Album&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| AlbumType&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| Genre&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| Year&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rating&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| Votes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| Top250&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProgramCount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| PlaylistOrder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21&amp;lt;/code&amp;gt;&lt;br /&gt;
| EpisodeNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
| Season&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;24&amp;lt;/code&amp;gt;&lt;br /&gt;
| NumberOfWatchedEpisodes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowStatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;&lt;br /&gt;
| TvShowTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;27&amp;lt;/code&amp;gt;&lt;br /&gt;
| SortTitle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProductionCode&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| MPAA&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoResolution&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;31&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;32&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoAspectRatio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;33&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioChannels&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioCodec&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt;&lt;br /&gt;
| AudioLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&lt;br /&gt;
| SubtitleLanguage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;&lt;br /&gt;
| Studio&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;38&amp;lt;/code&amp;gt;&lt;br /&gt;
| DateAdded&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;39&amp;lt;/code&amp;gt;&lt;br /&gt;
| LastPlayed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&lt;br /&gt;
| Playcount&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;41&amp;lt;/code&amp;gt;&lt;br /&gt;
| Listeners&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bitrate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;43&amp;lt;/code&amp;gt;&lt;br /&gt;
| Random&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;44&amp;lt;/code&amp;gt;&lt;br /&gt;
| Channel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;45&amp;lt;/code&amp;gt;&lt;br /&gt;
| ChannelNumber&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;46&amp;lt;/code&amp;gt;	&lt;br /&gt;
| DateTaken&lt;br /&gt;
|}&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>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Template:Isengard_row&amp;diff=88476</id>
		<title>Template:Isengard row</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Template:Isengard_row&amp;diff=88476"/>
		<updated>2015-04-01T07:31:13Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;style=&amp;quot;background:#bc925c;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Template:Isengard_row&amp;diff=88475</id>
		<title>Template:Isengard row</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Template:Isengard_row&amp;diff=88475"/>
		<updated>2015-04-01T07:25:09Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: Created page with &amp;quot;style=&amp;quot;background:#b57d34;&amp;quot;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;style=&amp;quot;background:#b57d34;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Modify_time_seeking&amp;diff=88474</id>
		<title>HOW-TO:Modify time seeking</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Modify_time_seeking&amp;diff=88474"/>
		<updated>2015-04-01T07:15:54Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[advancedsettings.xml]] {{l2| [[Video library]] }} }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes various &#039;&#039;&#039;[[advancedsettings.xml]] settings&#039;&#039;&#039; that can be used to modify the default seek &amp;quot;steps&amp;quot; in {{kodi}}, commonly mapped to the directional keys during playback (left, right, up, down). By default, up/down is &amp;quot;BigStepForward/Back&amp;quot; +/- 10 minutes, and left/right is &amp;quot;StepForward/Back&amp;quot; +/- 30 seconds. There is also &amp;quot;SmallStepBack&amp;quot;, which is -7 seconds. All of these options can be modified.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Future note|In the upcoming version 15 release, smallstepbackseconds, timeseekback, and timeseekforward will be removed and replaced with [[Skip steps|skip steps support]], which has settings the user can change from the GUI.}}&lt;br /&gt;
&lt;br /&gt;
{{TOC limit|2}}&lt;br /&gt;
&lt;br /&gt;
== Steps ==&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.&lt;br /&gt;
&lt;br /&gt;
{{how-to&lt;br /&gt;
| Step1 = 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 {{color|red|&#039;&#039;&#039;not&#039;&#039;&#039;}} &amp;quot;.txt&amp;quot; or &amp;quot;.xml.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
| Step2 = Cut and paste this into your new plain text file:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; 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;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
    &amp;lt;smallstepbackseconds&amp;gt;7&amp;lt;/smallstepbackseconds&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekforward&amp;gt;30&amp;lt;/timeseekforward&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekbackward&amp;gt;-30&amp;lt;/timeseekbackward&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;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;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;/video&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| Step3 = Change the values between the tags to fit your situation. See &#039;&#039;&#039;[[#Settings explained]]&#039;&#039;&#039; for details.&lt;br /&gt;
&lt;br /&gt;
| Step4 = Save this file in your [[userdata folder]]:&lt;br /&gt;
:{{#lst:userdata|location all}}&lt;br /&gt;
{{note|If you have an existing advancedsettings.xml 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.}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Settings explained ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! advancedsettings.xml tag !! what it does&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;usetimeseeking&amp;gt;&#039;&#039;&#039;true&#039;&#039;&#039;&amp;lt;/usetimeseeking&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| {{big|&#039;&#039;&#039;Use time or percentages&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
By default, Kodi uses the time tags for videos above 20 minutes, and videos below 20 minutes will use the percentage tags. Set this to &#039;&#039;&#039;false&#039;&#039;&#039; to only use the percent tags regardless of video length (except for smallstepbackseconds, which has no percent counterpart).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;smallstepbackseconds&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&amp;lt;/smallstepbackseconds&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| {{big|&#039;&#039;&#039;Small step back&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
SmallStepBack is the only &amp;quot;step&amp;quot; in Kodi that doesn&#039;t have a forward option. This is because the idea behind SmallStepBack is to quickly jump back and hear a line of dialogue or some quick action that was missed.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;timeseekforward&amp;gt;&#039;&#039;&#039;30&#039;&#039;&#039;&amp;lt;/timeseekforward&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039;-30&#039;&#039;&#039;&amp;lt;/timeseekbackward&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| {{big|&#039;&#039;&#039;Normal time jumps&#039;&#039;&#039;}} {{small|&#039;&#039;Videos longer than 20 minutes&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
This is set in seconds. For minutes simply multiply by 60. A - (minus) sign is used when you want to go backward in the video. The default setting is 30 seconds. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;timeseekforwardbig&amp;gt;&#039;&#039;&#039;600&#039;&#039;&#039;&amp;lt;/timeseekforwardbig&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;timeseekbackwardbig&amp;gt;&#039;&#039;&#039;-600&#039;&#039;&#039;&amp;lt;/timeseekbackwardbig&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| {{big|&#039;&#039;&#039;Big time jumps&#039;&#039;&#039;}} {{small|&#039;&#039;Videos longer than 20 minutes&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
This is set in seconds. For minutes simply multiply by 60. A - (minus) sign is used when you want to go backward in the video. The default setting is 10 minutes. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;percentseekforward&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&amp;lt;/percentseekforward&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;percentseekbackward&amp;gt;&#039;&#039;&#039;-2&#039;&#039;&#039;&amp;lt;/percentseekbackward&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| {{big|&#039;&#039;&#039;Normal percentage jumps&#039;&#039;&#039;}} {{small|&#039;&#039;Videos shoter than 20 minutes&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
This is set in percentage of the video length. A - (minus) sign is used when you want to go backward in the video. The default setting is 2 percent.&lt;br /&gt;
&lt;br /&gt;
For example, a 1 minute video will seek slightly more than 1 second (1.2, to be exact) if seeking back/forward by 2 percent.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;percentseekforwardbig&amp;gt;&#039;&#039;&#039;10&#039;&#039;&#039;&amp;lt;/percentseekforwardbig&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;percentseekbackwardbig&amp;gt;&#039;&#039;&#039;-10&#039;&#039;&#039;&amp;lt;/percentseekbackwardbig&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| {{big|&#039;&#039;&#039;Big percentage jumps&#039;&#039;&#039;}} {{small|&#039;&#039;Videos shorter than 20 minutes&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
This is set in percentage of the video length. A - (minus) sign is used when you want to go backward in the video. The default setting is 10 percent.&lt;br /&gt;
&lt;br /&gt;
For example, a 10 minute video will seek 1 minute if seeking back/forward by 10 percent.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Example 1 ===&lt;br /&gt;
In this example we have set Kodi to always use percent seeks, so there is no need to include the time seek tags. The percentages used are smaller for more fine-grained control, but anyone who wants truly fine-grain control will most likely want to use time-based seeking rather than percentage-based seeking.&lt;br /&gt;
&lt;br /&gt;
;advancedsettings.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; 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;usetimeseeking&amp;gt;false&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
    &amp;lt;percentseekforward&amp;gt;1&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
    &amp;lt;percentseekbackward&amp;gt;-1&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
    &amp;lt;percentseekforwardbig&amp;gt;5&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
    &amp;lt;percentseekbackwardbig&amp;gt;-5&amp;lt;/percentseekbackwardbig&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;
&lt;br /&gt;
=== Example 2 ===&lt;br /&gt;
This example shows a simple adjustment of the seeks, which a person might use depending on their own personal preferences. &amp;lt;code&amp;gt;&amp;lt;usetimeseeking&amp;gt;&amp;lt;/code&amp;gt; is excluded here since this person is okay with using time-based tags for videos longer than 20 minutes, and percentage-based tags for videos shorter than 20 minutes (the default).&lt;br /&gt;
&lt;br /&gt;
;advancedsettings.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; 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;smallstepbackseconds&amp;gt;5&amp;lt;/smallstepbackseconds&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekforward&amp;gt;15&amp;lt;/timeseekforward&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekbackward&amp;gt;-15&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekforwardbig&amp;gt;60&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekbackwardbig&amp;gt;-60&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
    &amp;lt;percentseekforward&amp;gt;3&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
    &amp;lt;percentseekbackward&amp;gt;-3&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
    &amp;lt;percentseekforwardbig&amp;gt;20&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
    &amp;lt;percentseekbackwardbig&amp;gt;-20&amp;lt;/percentseekbackwardbig&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;
&lt;br /&gt;
=== Example 3 ===&lt;br /&gt;
This example is the same as &#039;&#039;&#039;[[#Example 2|Example 2]]&#039;&#039;&#039;, but without the percent-based tags. When any tag is not included it will simply use the default value. If this were a situation were we only wanted to change the time-based seeking, then we would only need to include those tags.&lt;br /&gt;
&lt;br /&gt;
;advancedsettings.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; 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;smallstepbackseconds&amp;gt;5&amp;lt;/smallstepbackseconds&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekforward&amp;gt;15&amp;lt;/timeseekforward&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekbackward&amp;gt;-15&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekforwardbig&amp;gt;60&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekbackwardbig&amp;gt;-60&amp;lt;/timeseekbackwardbig&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;
&lt;br /&gt;
=== Example 4 ===&lt;br /&gt;
In this example things get &#039;&#039;weird&#039;&#039;. Despite the name of the tags, we can actually use either &amp;quot;forward&amp;quot; or &amp;quot;back&amp;quot; for both forward and backwards seeking, depending on if we use the - (minus) sign or not. While not actually practical, this is one example of how these settings could be used. When using default [[keymaps]] we get the following behavior:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Left:&#039;&#039;&#039; forward 10 seconds&lt;br /&gt;
* &#039;&#039;&#039;Right:&#039;&#039;&#039; forward 20 seconds&lt;br /&gt;
* &#039;&#039;&#039;Up:&#039;&#039;&#039; forward 30 seconds&lt;br /&gt;
* &#039;&#039;&#039;Down:&#039;&#039;&#039; forward 40 seconds&lt;br /&gt;
&lt;br /&gt;
;advancedsettings.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; 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;timeseekforward&amp;gt;10&amp;lt;/timeseekforward&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekbackward&amp;gt;20&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekforwardbig&amp;gt;30&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
    &amp;lt;timeseekbackwardbig&amp;gt;40&amp;lt;/timeseekbackwardbig&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;
&lt;br /&gt;
== Other ways to seek ==&lt;br /&gt;
This page simply covers the [[advancedsettings.xml]] values, which typically relate to how the directional keys jump in a video. However, there are many other ways that one can seek back or forward in time when playing a video. See the topics below for some of those methods:&lt;br /&gt;
&lt;br /&gt;
* [[Remote controls]]&lt;br /&gt;
* [[Keymaps]]&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Remotes]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88336</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88336"/>
		<updated>2015-03-24T11:20:10Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should look like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should be separated from opening parentheses by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
for (int i = 0; i &amp;lt; x; ++i)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace if there is more than one expression per line.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; x; ++i)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Control statements ==&lt;br /&gt;
Insert new line before &lt;br /&gt;
* &#039;&#039;else&#039;&#039; in an &#039;&#039;if&#039;&#039; statement &lt;br /&gt;
* &#039;&#039;catch&#039;&#039; in a &#039;&#039;try&#039;&#039; statement&lt;br /&gt;
* &#039;&#039;while&#039;&#039; in a &#039;&#039;do&#039;&#039; statement&lt;br /&gt;
&lt;br /&gt;
=== if else ===&lt;br /&gt;
* put &#039;&#039;then&#039;&#039; statement, &#039;&#039;return&#039;&#039; or &#039;&#039;throw&#039;&#039; to new line&lt;br /&gt;
* keep &#039;&#039;else if&#039;&#039; on one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (true) &lt;br /&gt;
  return;&lt;br /&gt;
&lt;br /&gt;
if (true) &lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
} &lt;br /&gt;
else if (false) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else&lt;br /&gt;
  return;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== switch / case ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables. Type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88335</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88335"/>
		<updated>2015-03-24T11:19:11Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* if else */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should look like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should be separated from opening parentheses by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
for (int i = 0; i &amp;lt; x; ++i)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace if there is more than one expression per line.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; x; ++i)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Control statements ==&lt;br /&gt;
Insert new line before &lt;br /&gt;
* &#039;&#039;else&#039;&#039; in an &#039;&#039;if&#039;&#039; statement &lt;br /&gt;
* &#039;&#039;catch&#039;&#039; in a &#039;&#039;try&#039;&#039; statement&lt;br /&gt;
* &#039;&#039;while&#039;&#039; in a &#039;&#039;do&#039;&#039; statement&lt;br /&gt;
&lt;br /&gt;
=== if else ===&lt;br /&gt;
* put &#039;&#039;then&#039;&#039; statement, &#039;&#039;return&#039;&#039; or &#039;&#039;throw&#039;&#039; to new line&lt;br /&gt;
* keep &#039;&#039;else if&#039;&#039; on one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (true) &lt;br /&gt;
  return;&lt;br /&gt;
&lt;br /&gt;
if (true) &lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
} &lt;br /&gt;
else if (false) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else&lt;br /&gt;
  return;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== switch / case ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88334</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88334"/>
		<updated>2015-03-24T11:18:57Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* if else */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should look like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should be separated from opening parentheses by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
for (int i = 0; i &amp;lt; x; ++i)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace if there is more than one expression per line.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; x; ++i)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Control statements ==&lt;br /&gt;
Insert new line before &lt;br /&gt;
* &#039;&#039;else&#039;&#039; in an &#039;&#039;if&#039;&#039; statement &lt;br /&gt;
* &#039;&#039;catch&#039;&#039; in a &#039;&#039;try&#039;&#039; statement&lt;br /&gt;
* &#039;&#039;while&#039;&#039; in a &#039;&#039;do&#039;&#039; statement&lt;br /&gt;
&lt;br /&gt;
=== if else ===&lt;br /&gt;
* put &#039;&#039;then&#039;&#039; statement, &#039;&#039;return&#039;&#039; or &#039;&#039;throw&#039;&#039; to new line&lt;br /&gt;
* keep &#039;&#039;else if&#039;&#039; on one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (true) &lt;br /&gt;
  return;&lt;br /&gt;
if (true) &lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
} &lt;br /&gt;
else if (false) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else&lt;br /&gt;
  return;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== switch / case ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88322</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88322"/>
		<updated>2015-03-24T07:24:52Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Whitespaces */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should looks like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should separated from opening parentheses by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
for (int i = 0; i &amp;lt; x; ++i)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace if there is more than one expression per line.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; x; ++i)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Control statements ==&lt;br /&gt;
Insert new line before &lt;br /&gt;
* &#039;&#039;else&#039;&#039; in and &#039;&#039;if&#039;&#039; statement &lt;br /&gt;
* &#039;&#039;catch&#039;&#039; in a &#039;&#039;try&#039;&#039; statement&lt;br /&gt;
* &#039;&#039;while&#039;&#039; in a &#039;&#039;do&#039;&#039; statement&lt;br /&gt;
&lt;br /&gt;
=== if else ===&lt;br /&gt;
* put &#039;&#039;then&#039;&#039; statement, &#039;&#039;return&#039;&#039; or &#039;&#039;throw&#039;&#039; to new line&lt;br /&gt;
* keep &#039;&#039;else if&#039;&#039; on one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (true) &lt;br /&gt;
  return;&lt;br /&gt;
if (true) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else if (false) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== switch / case ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88321</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88321"/>
		<updated>2015-03-24T07:23:27Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Switch / case */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should looks like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should separated from opening parentheses by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace, if there is more than one expression per line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int a = 0; b++; c &amp;lt; d)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Control statements ==&lt;br /&gt;
Insert new line before &lt;br /&gt;
* &#039;&#039;else&#039;&#039; in and &#039;&#039;if&#039;&#039; statement &lt;br /&gt;
* &#039;&#039;catch&#039;&#039; in a &#039;&#039;try&#039;&#039; statement&lt;br /&gt;
* &#039;&#039;while&#039;&#039; in a &#039;&#039;do&#039;&#039; statement&lt;br /&gt;
&lt;br /&gt;
=== if else ===&lt;br /&gt;
* put &#039;&#039;then&#039;&#039; statement, &#039;&#039;return&#039;&#039; or &#039;&#039;throw&#039;&#039; to new line&lt;br /&gt;
* keep &#039;&#039;else if&#039;&#039; on one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (true) &lt;br /&gt;
  return;&lt;br /&gt;
if (true) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else if (false) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== switch / case ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88320</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88320"/>
		<updated>2015-03-24T07:20:46Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Whitespaces */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should looks like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should separated from opening parentheses by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace, if there is more than one expression per line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int a = 0; b++; c &amp;lt; d)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Control statements ==&lt;br /&gt;
Insert new line before &lt;br /&gt;
* &#039;&#039;else&#039;&#039; in and &#039;&#039;if&#039;&#039; statement &lt;br /&gt;
* &#039;&#039;catch&#039;&#039; in a &#039;&#039;try&#039;&#039; statement&lt;br /&gt;
* &#039;&#039;while&#039;&#039; in a &#039;&#039;do&#039;&#039; statement&lt;br /&gt;
&lt;br /&gt;
=== if else ===&lt;br /&gt;
* put &#039;&#039;then&#039;&#039; statement, &#039;&#039;return&#039;&#039; or &#039;&#039;throw&#039;&#039; to new line&lt;br /&gt;
* keep &#039;&#039;else if&#039;&#039; on one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (true) &lt;br /&gt;
  return;&lt;br /&gt;
if (true) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else if (false) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Switch / case ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88319</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88319"/>
		<updated>2015-03-24T07:20:13Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Switch / case */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should looks like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should separated from opening parentheses by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace, if there is more than one expression per line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int a = 0; b++; c &amp;lt; d)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Control statements ===&lt;br /&gt;
Insert new line before &lt;br /&gt;
* &#039;&#039;else&#039;&#039; in and &#039;&#039;if&#039;&#039; statement &lt;br /&gt;
* &#039;&#039;catch&#039;&#039; in a &#039;&#039;try&#039;&#039; statement&lt;br /&gt;
* &#039;&#039;while&#039;&#039; in a &#039;&#039;do&#039;&#039; statement&lt;br /&gt;
&lt;br /&gt;
==== if else ====&lt;br /&gt;
* put &#039;&#039;then&#039;&#039; statement, &#039;&#039;return&#039;&#039; or &#039;&#039;throw&#039;&#039; to new line&lt;br /&gt;
* keep &#039;&#039;else if&#039;&#039; on one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (true) &lt;br /&gt;
  return;&lt;br /&gt;
if (true) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else if (false) &lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
} &lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Switch / case ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88318</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88318"/>
		<updated>2015-03-24T07:04:16Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]}}&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should looks like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should separated from opening parentheses by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace, if there is more than one expression per line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int a = 0; b++; c &amp;lt; d)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Switch / case ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Development&amp;diff=88317</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Development&amp;diff=88317"/>
		<updated>2015-03-24T07:00:19Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* General guidelines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{XBMC development nav}}&lt;br /&gt;
{{mininav}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{-}}&lt;br /&gt;
== Topics ==&lt;br /&gt;
{{see also|Category:Development}}&lt;br /&gt;
{{development links}}&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
* See: https://github.com/xbmc/xbmc&lt;br /&gt;
&lt;br /&gt;
== Development Tools ==&lt;br /&gt;
* [http://www.stack.nl/~dimitri/doxygen/ Doxygen] - Source code documentation generator tool.&lt;br /&gt;
&lt;br /&gt;
== Other tools and resources ==&lt;br /&gt;
Though any other tools or resources are not required they can possibly help in development.&lt;br /&gt;
* [[Eclipse CDT Setup For XBMC Development]]&lt;br /&gt;
* [http://www.stack.nl/~dimitri/doxygen/ Doxygen] - Source code documentation generator tool.&lt;br /&gt;
* [http://valgrind.org Valgrind] (for Linux) - a free Linux programming tool for memory debugging, memory leak detection, and profiling.&lt;br /&gt;
* [http://www.daimi.au.dk/~sandmann/sysprof/ Sysprof] (for Linux) - a free System-wide Linux Profiler for tracking CPU usage. Sysprof is a sampling CPU profiler for Linux that uses a kernel module to profile the entire system, not just a single application. Sysprof handles shared libraries, and applications do not need to be recompiled. In fact they don&#039;t even have to be restarted. Just insert the kernel module and start sysprof.&lt;br /&gt;
&lt;br /&gt;
=== XBMC Artwork ===&lt;br /&gt;
The official logo package and source files can be downloaded at sourceforge directly from the link below.&lt;br /&gt;
&lt;br /&gt;
* [http://mirrors.xbmc.org/docs/artwork/XBMC_official_logo_package_v1.0.zip XBMC official logo package v1.0]&lt;br /&gt;
&lt;br /&gt;
== General guidelines ==&lt;br /&gt;
* Code documentation (DocBook, rst, or [http://www.doxygen.org doxygen] for the code documentation steps, preferably the latter, [http://www.doxygen.org doxygen])&lt;br /&gt;
* Self-containment - XBMC should be as little dependent as possible on operating-system and third-party services/deamons/libraries&lt;br /&gt;
** XBMC should for example contain all file-system and network-client (like samba) support built-into the XBMC package&lt;br /&gt;
* Modular design - independent modules made up by localized/isolated code libraries without dependencies&lt;br /&gt;
** XBMC should still compile and run if a non-essential module/library is disabled or removed&lt;br /&gt;
* Aim for the GUI/interface to run smoothly on a low spec computer (single core with less than 1Ghz)&lt;br /&gt;
** 3D graphic controller (GPU) will always be required hardware for XBMC so try to utilize the GPU as much as possible&lt;br /&gt;
* Avoid hard-disk trashing (excess read/write/erase cycles), so no hard-drive paging, (utilize RAM memory instead).&lt;br /&gt;
** End-users will be running XBMC and the operating-system on solid-State memory as a [http://en.wikipedia.org/wiki/LiveDistro Live CD (LiveDistro)] of a USB-key&lt;br /&gt;
* Fast load and boot times for end-user perception (other things can still run/start in the background without the user knowledge)&lt;br /&gt;
** 15-seconds or less from when the end user press the power-button on the computer till he/she can browse the GUI&lt;br /&gt;
&lt;br /&gt;
== Code guidelines and formatting conventions ==&lt;br /&gt;
[[Code_guidelines_and_formatting_conventions|Code guidelines and formatting conventions]]&lt;br /&gt;
&lt;br /&gt;
== User-friendliness is next to godliness ==&lt;br /&gt;
{{#lst:XBMC manifesto|User-friendliness}}&lt;br /&gt;
&lt;br /&gt;
== Contact methods ==&lt;br /&gt;
* IRC: [irc://irc.freenode.net/xbmc-dev #xbmc-dev on freenode] official [http://freenode.net IRC network channel] focused on XBMC development&lt;br /&gt;
* [http://forum.xbmc.org/forumdisplay.php?fid=93 XBMC Development Community Forum]&lt;br /&gt;
* [[HOW-TO submit a patch]] (where and how to submit source code)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development|*]]&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Manual]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88305</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88305"/>
		<updated>2015-03-23T14:41:27Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should looks like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should separated from opening parentheses by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace, if there is more than one expression per line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int a = 0; b++; c &amp;lt; d)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Switch / case ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88304</id>
		<title>Official:Code guidelines and formatting conventions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Official:Code_guidelines_and_formatting_conventions&amp;diff=88304"/>
		<updated>2015-03-23T14:41:03Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: Created page with &amp;quot;== Use common sense == These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common se...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Use common sense ==&lt;br /&gt;
These are conventions which we try to follow when writing code for Kodi. They are this way mainly for reasons of taste, however, sticking to a common set of formatting rules also makes it slightly easier to read through our sources. If you want to submit patches, please try to follow these rules.&lt;br /&gt;
&lt;br /&gt;
As such we don&#039;t follow these rules slavishly, in certain cases it is ok (and in fact favorable) to stray from them.&lt;br /&gt;
== Indentation ==&lt;br /&gt;
Use spaces as tab policy with an indentation size of 2&lt;br /&gt;
&lt;br /&gt;
== Braces ==&lt;br /&gt;
Braces should go to newline and your code should looks like the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (int i = 0; i &amp;lt; t; i++)&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dummy()&lt;br /&gt;
{&lt;br /&gt;
  [...]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespaces ==&lt;br /&gt;
Conventional operators should be surrounded by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b + c) * d;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reserved words should separated from opening parentheses by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commas should be followed by a whitespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void Dummy::Method(int a, int b, int c);&lt;br /&gt;
int d, e;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Semicolons should be followed by a whitespace, if there is more than one expression per line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for (int a = 0; b++; c &amp;lt; d)&lt;br /&gt;
doSomething(e); doSomething(f); // this is probably bad style anyway&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Switch / case ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (cmd)&lt;br /&gt;
{&lt;br /&gt;
  case x:&lt;br /&gt;
  {&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  case x:&lt;br /&gt;
  case z:&lt;br /&gt;
    return true;&lt;br /&gt;
  default:&lt;br /&gt;
    doSomething();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Naming ==&lt;br /&gt;
=== Constants ===&lt;br /&gt;
Use upper case with underscore spacing where necessary.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const int MY_CONSTANT = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enums ===&lt;br /&gt;
Use CamelCase for the enum name and upper case for the values.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum Dummy&lt;br /&gt;
{&lt;br /&gt;
  VALUE_X,&lt;br /&gt;
  VALUE_Y&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Classes/Methods ===&lt;br /&gt;
We use CamelCase for class names and methods both with first letter in upper case.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class MyDummyClass();&lt;br /&gt;
void MyDummyClass::DoSomething();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
We use CamelCase for variables and type prefixing is optional.&lt;br /&gt;
&lt;br /&gt;
==== Global Variables ====&lt;br /&gt;
Prefix global variables with &#039;&#039;g_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int g_globalVariableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Member Variables ====&lt;br /&gt;
Prefix member variables with &#039;&#039;m_&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int m_variableA;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=82366</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=82366"/>
		<updated>2014-12-16T13:40:16Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
{{see also|Built-in scripting|Python development|Skinning}}&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 function &#039;&#039;&#039;CBuiltins::Execute()&#039;&#039;&#039; in the source code file [https://github.com/xbmc/xbmc/blob/master/src/interfaces/Builtins.cpp /src/interfaces/Builtins.cpp].&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;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Function&lt;br /&gt;
! Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Help&amp;lt;/code&amp;gt;&lt;br /&gt;
| This help message&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;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;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 XBMC&lt;br /&gt;
|&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;Suspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Suspends (S3 / S1 depending on bios setting) the System&lt;br /&gt;
|&lt;br /&gt;
|- {{frodo row}}&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;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;AllowIdleShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allow the system to shutdown on idle.&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{gotham row}}&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;RestartApp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Restarts XBMC (not implemented under Win32)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Minimize&amp;lt;/code&amp;gt;&lt;br /&gt;
| Minimizes XBMC&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;Mastermode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs XBMC in master mode&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;SetGUILanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set GUI Language&lt;br /&gt;
| {{nowrap|v13 Addition}}&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. [[Window IDs|See here 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 XBMC 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 XBMC 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;
|- {{frodo row}}&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;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;
|- {{gotham row}}&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;TakeScreenshot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes a Screenshot&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 full path to the script. If the script is an add-on, you can also execute it using its add-on id. 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;
|- {{frodo row}}&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;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;RunAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the specified plugin/script&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;NotifyAll&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;Extract&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;PlayMedia(media[,isdir][,1],[playoffset=xx])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Plays the media. This can be a playlist, music, or video file, directory, plugin or an Url. The optional parameter &amp;quot;,isdir&amp;quot; can be used for playing a directory. &amp;quot;,1&amp;quot; will start a video in a preview window, instead of fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from.&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&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])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts a slideshow of pictures in the folder dir.  Optional parameters are &amp;quot;recursive&amp;quot;, and &amp;quot;random&amp;quot; or &amp;quot;notrandom&amp;quot; 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.&lt;br /&gt;
|&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;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;UnloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unloads the current skin&lt;br /&gt;
|&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;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, Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file), and Record. 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.&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;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;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;AlarmClock(name,command,time[,silent,loop])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a dialog asking for the length of time for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it&#039;ll execute the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;built-in&amp;lt;/span&amp;gt; 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.&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;Action(action)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes an action for the active window (same as in keymap)&lt;br /&gt;
|&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;PlayDVD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will play the inserted CD or DVD media from 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;RipCD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will rip the inserted CD from 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;Skin.ToggleSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the skin setting ?setting? for use with [[Conditional Visibility|conditional visibility tags]] containing Skin.HasSetting(setting).&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 [[InfoLabels|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.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[,value])&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 [[InfoLabels|info tag]] Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the path is set directly.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Theme&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.SetImage(string[,value])&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 [[InfoLabels|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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetLargeImage(string[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a file browser and allows the user to select an large image file to be used in an image control else where in the skin via the [[InfoLabels|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.&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 [[InfoLabels|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;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.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 &#039;&#039;xbmc.addon.video&#039;&#039;, &#039;&#039;xbmc.addon.audio&#039;&#039;, &#039;&#039;xbmc.addon.image&#039;&#039; and &#039;&#039;xbmc.addon.executable&#039;&#039;.&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|conditional visibility tags]] containing Skin.HasSetting(setting). The settings are saved &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;per-skin&amp;lt;/span&amp;gt; in settings.xml just like all the other XBMC settings.&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;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;SetVolume(percent[,showvolumebar])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the volume to the percentage specified. Optionally, show the Volume Dialog in XBMC when setting the volume.&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;System.LogOff&amp;lt;/code&amp;gt;&lt;br /&gt;
| Log off current user.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Exec&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ExecWait&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands and freezes XBMC until shell is closed.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Resolution&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change XBMC&#039;s Resolution.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetFocus(id,position)&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. Alias SetFocus(id,position)&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;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;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;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.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;
| &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.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.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.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.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.SetSortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the specified sort method.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection&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;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)&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. Alias SetFocus(id,position)&lt;br /&gt;
|&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;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;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;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;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;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;WakeOnLan(&#039;&#039;mac&#039;&#039;)&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;
| &amp;lt;code&amp;gt;Addon.Default.OpenSettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the default addon of the given type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.Set&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a select dialog to allow choosing the default addon of the given type&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;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;
| &amp;lt;code&amp;gt;ToggleDPMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle DPMS mode manually&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;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;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;LIRC.Stop&amp;lt;/code&amp;gt;&lt;br /&gt;
| Removes XBMC as a LIRC client.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LIRC.Start&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adds XBMC as a LIRC client.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LIRC.Send(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a command to LIRC, syntax is the lirc protocol without the newline.&amp;lt;br /&amp;gt;Example: LIRC.Send(SEND_ONCE Onkyo_RC-453S2 volup)&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;
|- {{frodo row}}&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;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StartPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
| (Re)Starts the PVR manager&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StopPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stops the PVR manager&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;{{nowrap|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.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StereoModeToMono&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the stereoscopic mode to 2D.&lt;br /&gt;
| {{nowrap|v13 Addition}}&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;
== 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;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_built-in_functions&amp;diff=82365</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=82365"/>
		<updated>2014-12-16T13:39:29Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
{{see also|Built-in scripting|Python development|Skinning}}&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 function &#039;&#039;&#039;CBuiltins::Execute()&#039;&#039;&#039; in the source code file [https://github.com/xbmc/xbmc/blob/master/src/interfaces/Builtins.cpp xbmc/interfaces/Builtins.cpp].&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;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Function&lt;br /&gt;
! Description&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Help&amp;lt;/code&amp;gt;&lt;br /&gt;
| This help message&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;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;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 XBMC&lt;br /&gt;
|&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;Suspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Suspends (S3 / S1 depending on bios setting) the System&lt;br /&gt;
|&lt;br /&gt;
|- {{frodo row}}&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;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;AllowIdleShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allow the system to shutdown on idle.&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{gotham row}}&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;RestartApp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Restarts XBMC (not implemented under Win32)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Minimize&amp;lt;/code&amp;gt;&lt;br /&gt;
| Minimizes XBMC&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;Mastermode&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs XBMC in master mode&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;SetGUILanguage&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set GUI Language&lt;br /&gt;
| {{nowrap|v13 Addition}}&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. [[Window IDs|See here 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 XBMC 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 XBMC 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;
|- {{frodo row}}&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;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;
|- {{gotham row}}&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;TakeScreenshot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Takes a Screenshot&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 full path to the script. If the script is an add-on, you can also execute it using its add-on id. 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;
|- {{frodo row}}&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;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;RunAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs the specified plugin/script&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;NotifyAll&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;Extract&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;PlayMedia(media[,isdir][,1],[playoffset=xx])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Plays the media. This can be a playlist, music, or video file, directory, plugin or an Url. The optional parameter &amp;quot;,isdir&amp;quot; can be used for playing a directory. &amp;quot;,1&amp;quot; will start a video in a preview window, instead of fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from.&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&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])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts a slideshow of pictures in the folder dir.  Optional parameters are &amp;quot;recursive&amp;quot;, and &amp;quot;random&amp;quot; or &amp;quot;notrandom&amp;quot; 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.&lt;br /&gt;
|&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;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;UnloadSkin()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unloads the current skin&lt;br /&gt;
|&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;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, Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file), and Record. 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.&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;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;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;AlarmClock(name,command,time[,silent,loop])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a dialog asking for the length of time for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it&#039;ll execute the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;built-in&amp;lt;/span&amp;gt; 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.&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;Action(action)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes an action for the active window (same as in keymap)&lt;br /&gt;
|&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;PlayDVD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will play the inserted CD or DVD media from 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;RipCD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Will rip the inserted CD from 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;Skin.ToggleSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggles the skin setting ?setting? for use with [[Conditional Visibility|conditional visibility tags]] containing Skin.HasSetting(setting).&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 [[InfoLabels|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.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[,value])&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 [[InfoLabels|info tag]] Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the path is set directly.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.Theme&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.SetImage(string[,value])&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 [[InfoLabels|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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.SetLargeImage(string[,value])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pops up a file browser and allows the user to select an large image file to be used in an image control else where in the skin via the [[InfoLabels|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.&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 [[InfoLabels|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;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.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 &#039;&#039;xbmc.addon.video&#039;&#039;, &#039;&#039;xbmc.addon.audio&#039;&#039;, &#039;&#039;xbmc.addon.image&#039;&#039; and &#039;&#039;xbmc.addon.executable&#039;&#039;.&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|conditional visibility tags]] containing Skin.HasSetting(setting). The settings are saved &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;per-skin&amp;lt;/span&amp;gt; in settings.xml just like all the other XBMC settings.&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;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;SetVolume(percent[,showvolumebar])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the volume to the percentage specified. Optionally, show the Volume Dialog in XBMC when setting the volume.&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;System.LogOff&amp;lt;/code&amp;gt;&lt;br /&gt;
| Log off current user.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Exec&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ExecWait&amp;lt;/code&amp;gt;&lt;br /&gt;
| Execute shell commands and freezes XBMC until shell is closed.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Resolution&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change XBMC&#039;s Resolution.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SetFocus(id,position)&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. Alias SetFocus(id,position)&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;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;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;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.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;
| &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.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.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.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.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.SetSortMethod&amp;lt;/code&amp;gt;&lt;br /&gt;
| Change to the specified sort method.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.SortDirection&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;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)&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. Alias SetFocus(id,position)&lt;br /&gt;
|&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;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;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;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;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;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;WakeOnLan(&#039;&#039;mac&#039;&#039;)&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;
| &amp;lt;code&amp;gt;Addon.Default.OpenSettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a settings dialog for the default addon of the given type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Addon.Default.Set&amp;lt;/code&amp;gt;&lt;br /&gt;
| Open a select dialog to allow choosing the default addon of the given type&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;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;
| &amp;lt;code&amp;gt;ToggleDPMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle DPMS mode manually&lt;br /&gt;
|&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;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;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;LIRC.Stop&amp;lt;/code&amp;gt;&lt;br /&gt;
| Removes XBMC as a LIRC client.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LIRC.Start&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adds XBMC as a LIRC client.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;LIRC.Send(command)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sends a command to LIRC, syntax is the lirc protocol without the newline.&amp;lt;br /&amp;gt;Example: LIRC.Send(SEND_ONCE Onkyo_RC-453S2 volup)&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;
|- {{frodo row}}&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;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StartPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
| (Re)Starts the PVR manager&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StopPVRManager&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stops the PVR manager&lt;br /&gt;
| {{nowrap|v12 Addition}}&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;{{nowrap|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.&lt;br /&gt;
| {{nowrap|v13 Addition}}&lt;br /&gt;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&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;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;StereoModeToMono&amp;lt;/code&amp;gt;&lt;br /&gt;
| Toggle the stereoscopic mode to 2D.&lt;br /&gt;
| {{nowrap|v13 Addition}}&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;
== 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;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Skin development]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Modify_keymaps&amp;diff=82364</id>
		<title>HOW-TO:Modify keymaps</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Modify_keymaps&amp;diff=82364"/>
		<updated>2014-12-16T08:22:24Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Remote controls]]|page={{FULLPAGENAME}} }}&lt;br /&gt;
&lt;br /&gt;
{{bigger| {{note| You can also edit keymaps from within {{kodi}} by using &#039;&#039;&#039;[[Add-on:Keymap Editor]]&#039;&#039;&#039;. }} }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
The keyboard.xml file controls how XBMC reacts to keypresses, that is&lt;br /&gt;
it determines what action is mapped to what keypress. There are two&lt;br /&gt;
main reasons for modifying keyboard.xml:&lt;br /&gt;
&lt;br /&gt;
# You want to change the standard key mappings because of a personal preference&lt;br /&gt;
# You are configuring a Media Center remote control that sends keypresses&lt;br /&gt;
&lt;br /&gt;
You can edit keyboard.xml using any text editor such as Notepad++ in Windows or gedit/nano in Linux. The location where the file should be located after creation is in [[userdata]]&lt;br /&gt;
&lt;br /&gt;
There is a more detailed discussion of the keyboard.xml file at [[Keyboard.xml]], while the remainder of this article is focussed on the gory details of editing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
All the keypresses that XBMC responds to, for example &amp;quot;{{keypress|P}}&amp;quot; for &amp;quot;play&amp;quot; and &amp;quot;{{keypress|X}}&amp;quot; for &amp;quot;stop&amp;quot; are configured in a file called keyboard.xml.&lt;br /&gt;
Actually there are two keyboard.xml files. There is the system keyboard.xml that contains all the standard key mappings, and each user optionally has their own userdata keyboard.xml that contains just their customised key mappings.&lt;br /&gt;
&lt;br /&gt;
The userdata keyboard.xml only needs to contain additional key mappings, or key mappings that override the defaults in the system keyboard.xml. When XBMC is trying to decide how to respond to a keypress it first looks in the userdata keyboard.xml.&lt;br /&gt;
If it doesn&#039;t find a mapping for the keypress XBMC then looks in the system keyboard.xml. This means that the userdata keyboard.xml is typically quite short because it only needs to define mappings for a few keys.&lt;br /&gt;
&lt;br /&gt;
You can change key mappings by editing the system keyboard.xml, but we strongly recommend you don&#039;t do this.&lt;br /&gt;
The system keyboard.xml is a big complicated file, and if you introduce an error into it you can break all the key mappings.&lt;br /&gt;
Also any changes you make risk being overwritten if you upgrade XBMC. In general you should only ever &#039;&#039;&#039;edit your userdata keyboard.xml&#039;&#039;&#039;. Even if you make a horrendous hash of this you just need to delete or rename your userdata keyboard.xml to restore the default key mappings.&lt;br /&gt;
&lt;br /&gt;
User keymaps are only processed when XBMC starts up, therfore you must restart XBMC to see any changes.&lt;br /&gt;
&lt;br /&gt;
== Where to find keyboard.xml ==&lt;br /&gt;
Keymap configuration files are stored in the &amp;quot;&#039;&#039;&#039;keymaps&#039;&#039;&#039;&amp;quot; folder in the [[userdata]] folder:&lt;br /&gt;
{{#lsth:userdata|Location of the UserData folder}}&lt;br /&gt;
&lt;br /&gt;
== How to edit keyboard.xml ==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
keyboard.xml&#039;&#039;&#039; is just a text file so you can edit it it using any text editor e.g. in Windows use Notepad++. In Windows there is a third party keymap editor available from http://xbmcmce.sourceforge.net/, or this editor is also available through the [[Add-on:MCERemote]] add-on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Windows&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use Notepad++ to edit your userdata keyboard.xml click Start then Run, or in Win7 click {{keypress|Start}} then All Programs then Accessories then Run, or press the keyboard shortcut {{keypress|Win|R}}, then when the Run dialog opens type in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;notepad++ %APPDATA%\XBMC\userdata\keymaps\keyboard.xml&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you haven&#039;t edited your keyboard.xml before Notepad will ask &amp;quot;Do you want to create a new file?&amp;quot; and you should click &#039;&#039;&#039;Yes&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* If you have downloaded the KeyMapEdit applet from http://xbmcmce.sourceforge.net/ run it then select File/Open and double click &amp;quot;keyboard.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* If you use the MCERemote add-on just select the &amp;quot;Edit keyboard.xml&amp;quot; option.&lt;br /&gt;
{{Note|that KeyMapEdit.exe isn&#039;t included in the MCERemote add-on by default (because the rules for add-ons prohibit including executable files). You need to go into the add-on settings Misc section and enable the setting &amp;quot;Update/install keymap editor&amp;quot; then select &amp;quot;Edit keyboard.xml&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Linux&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use your favourite text editor e.g. gedit. Remember that the .xbmc directory is hidden so you need to show hidden files to see it.&lt;br /&gt;
&lt;br /&gt;
== What to put in keyboard.xml ==&lt;br /&gt;
&lt;br /&gt;
This is an outline rather than a definitive guide.&lt;br /&gt;
For the full details see&lt;br /&gt;
[[Keyboard.xml]].&lt;br /&gt;
&lt;br /&gt;
A keyboard.xml file will look something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;keymap&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;global&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;keyboard&amp;amp;gt;&lt;br /&gt;
      ... key mappings here&lt;br /&gt;
    &amp;amp;lt;/keyboard&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/global&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;Home&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;keyboard&amp;amp;gt;&lt;br /&gt;
      ... key mappings here&lt;br /&gt;
    &amp;amp;lt;/keyboard&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/Home&amp;amp;gt;&lt;br /&gt;
  ... and so on&lt;br /&gt;
&amp;amp;lt;/keymap&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The keyboard.xml must start with &amp;amp;lt;keymap&amp;amp;gt; and end with &amp;amp;lt;/keymap&amp;amp;gt;. In between are a number of sections; in the example above the first section is &amp;amp;lt;global&amp;amp;gt;, the second section is &amp;amp;lt;Home&amp;amp;gt;, and there can be lots of other sections as well.&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;lt;global&amp;amp;gt; section defines key mappings that apply everywhere in XBMC unless they are overridden by a mapping in another section. The &amp;amp;lt;Home&amp;amp;gt; section defines key mappings that apply only when you&#039;re at the XBMC home screen. Other sections define mappings that apply to other screens, for example the &amp;amp;lt;FullScreenVideo&amp;amp;gt; section defines mappings that apply when you&#039;re watching a video full screen. The easiest way to get a list of all the section names is to open the system keyboard.xml in Notepad and look through it.&lt;br /&gt;
&lt;br /&gt;
The key mappings have the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;keyname mod=&amp;quot;modifiers&amp;quot;&amp;amp;gt;SomeAction&amp;amp;lt;/keyname&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with the section names, to see possible key names look at the system keyboard.xml. In fact copying and pasting from the system keyboard.xml is probably the easiest way to construct your custom keyboard.xml.&lt;br /&gt;
&lt;br /&gt;
You need only only include the mod=&amp;quot;modifiers&amp;quot; if you want to combine the key with a keyboard modifer like control, {{keypress|shift}} or {{keypress|alt}}.&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;d&amp;amp;gt;Notification(Keypress, You pressed D!, 3)&amp;amp;lt;/d&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
configures the {{keypress|D}} key to execute the action Notification(Keypress, You pressed D!, 3)&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;d mod=&amp;quot;ctrl,alt&amp;quot;&amp;amp;gt;Notification(Keypress, You pressed ctrl-alt-D!, 3)&amp;amp;lt;/d&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
configures a {{keypress|control|alt|D}} keypress to execute the action. Incidentally the Notification action displays a little message at the bottom right of the screen. This can be useful for testing your key mappings.&lt;br /&gt;
&lt;br /&gt;
== An example ==&lt;br /&gt;
&lt;br /&gt;
This example is going to be a bit contrived, but after all it&#039;s only intended as an example of how you might make some more useful key mapping.&lt;br /&gt;
&lt;br /&gt;
Media Center remote controls usually have a button labelled {{button|Guide}}, and when you press it this button usually sends a {{keypress|control|G}} keystroke.&lt;br /&gt;
In this example we&#039;ll configure the Guide button to display the Info screen except when playing a video, when we&#039;ll configure it to show the OSD (&#039;&#039;&#039;O&#039;&#039;&#039;n &#039;&#039;&#039;S&#039;&#039;&#039;creen &#039;&#039;&#039;D&#039;&#039;&#039;isplay).&lt;br /&gt;
So lets start by defining a global mapping for {{keypress|control|G}} to display Info:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;keymap&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;global&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;keyboard&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;g mod=&amp;quot;ctrl&amp;quot;&amp;amp;gt;Info&amp;amp;lt;/g&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/keyboard&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/global&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/keymap&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the previous section it should be obvious what this key mapping does so I won&#039;t dwell on it further. If you create a userdata keyboard.xml with this mapping and run XBMC you should find that whenever you press {{keypress|control|G}} it displays the Info screen.&lt;br /&gt;
&lt;br /&gt;
However this will make {{keypress|control|G}} display Info when playing a video, and we want it to display the OSD instead. To achieve this modify the keyboard.xml to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;keymap&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;global&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;keyboard&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;g mod=&amp;quot;ctrl&amp;quot;&amp;amp;gt;Info&amp;amp;lt;/g&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/keyboard&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/global&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;FullScreenVideo&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;keyboard&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;g mod=&amp;quot;ctrl&amp;quot;&amp;amp;gt;OSD&amp;amp;lt;/g&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/keyboard&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/FullScreenVideo&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/keymap&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The global action for {{keypress|control|G}} is still Info, but the &amp;lt;FullScreenVideo&amp;gt; section overrides the global mapping when playing a video and configures {{keypress|control|G}} to display the OSD instead.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
It&#039;s easy to make mistakes when writing a keyboard.xml file, and if XBMC finds an error in your keyboard.xml it will simply stop processing it, leaving you wondering why your key mappings aren&#039;t&lt;br /&gt;
working. To check for errors in your keyboard.xml turn debug logging on (in the Settings screen go into System then Debugging and enable the &#039;&#039;&#039;Enable debug logging option&#039;&#039;&#039;), then close XBMC then start it and close it again. Now look in %APPDATA%\XBMC and you&#039;ll find a file called xbmc.log. Open this file in Notepad and you should be able to find the error.&lt;br /&gt;
&lt;br /&gt;
For example, take the keymapping above but suppose I mistype:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;g mod=&amp;quot;ctrl&amp;quot;&amp;amp;gt;Info&amp;amp;lt;/g&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;g mod=&amp;quot;ctrl&amp;quot;&amp;amp;gt;Info&amp;amp;lt;/&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that is I missed the &amp;quot;{{keypress|g}}&amp;quot; in &amp;amp;lt;/g&amp;amp;gt;. If I run XBMC and then look at xbmc.log I find:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; INFO: Loading special://masterprofile/keymaps/keyboard.xml&lt;br /&gt;
ERROR: Error loading keymap: special://masterprofile/keymaps/keyboard.xml, Line 4&lt;br /&gt;
             Error reading end tag.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, the Notification action can useful when you&#039;re testing your key mappings as it displays a little message at the bottom right of the screen to confirm XBMC has processed the keystroke. A typical example&lt;br /&gt;
would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;g mod=&amp;quot;ctrl&amp;quot;&amp;amp;gt;Notification(This is the title, This is the message, 3)&amp;amp;lt;/g&amp;amp;gt;&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
and the last argument, 3, is the number of seconds to display the message.&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
&lt;br /&gt;
The ultimate reference for the possible keynames and actions is the XBMC source code and in particular the source file ButtonTranslator.cpp, which you can find at https://github.com/xbmc/xbmc/blob/master/src/input/ButtonTranslator.cpp&lt;br /&gt;
&lt;br /&gt;
For the key names look for the function CButtonTranslator::TranslateKeyboardString.&lt;br /&gt;
&lt;br /&gt;
For the actions look for &amp;quot;static const ActionMapping actions[]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For the sections look for &amp;quot;static const ActionMapping windows[]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Finally, there are four key modifiers you can use in key mappings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;{{keypress|ctrl}} or {{keypress|control}}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;{{keypress|shift}}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;{{keypress|alt}}&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;{{keypress|win}} or {{keypress|super}} (the Windows key)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|The {{keypress|shift}} modifier can&#039;t be used alone. This is because XBMC isn&#039;t case sensitive when processing keystrokes, i.e. a {{keypress|&#039;&#039;&#039;g&#039;&#039;&#039;}}is the same as a {{keypress|&#039;&#039;&#039;G&#039;&#039;&#039;}}.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Manual]]&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Window_IDs&amp;diff=79512</id>
		<title>Window IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Window_IDs&amp;diff=79512"/>
		<updated>2014-10-12T07:08:47Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
{{see also|Python development|Skinning}}&lt;br /&gt;
{{helix}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
This table cross-references Window names, Window definitions, Window ID, and the delta Window ID&#039;s (this is the delta from the home window.) The code that performs the cross-reference is found in [https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk/xbmc/ButtonTranslator.cpp?view=markup ButtonTranslator.cpp].&lt;br /&gt;
&lt;br /&gt;
* [[keymap.xml]] uses the Window name.&lt;br /&gt;
* XBMC&#039;s C++ code uses the Window definitions and Window ID&#039;s.&lt;br /&gt;
* skin .xml files use the Delta Window ID&#039;s&lt;br /&gt;
* XBMC.ActivateWindow() can use either the Window name, the Window ID, or the delta Window ID.&lt;br /&gt;
* sounds.xml can use the window name or window ID&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can use secondary parameters with all media windows, as can be seen here:&#039;&#039;&#039;&lt;br /&gt;
* [[Opening Windows and Dialogs]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* You want a button in your skin or on your remote taking you directly to the movie listing you let that button do&lt;br /&gt;
&lt;br /&gt;
 ActivateWindow(Videos,MovieTitles)   (v11 Eden and up)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Name !! Definition !! Window ID !! Delta window ID !! source XML file&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_HOME&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| Home.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;programs&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PROGRAMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPrograms.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pictures&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PICTURES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10002&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPics.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filemanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_FILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10003&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| FileManager.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;settings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10004&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Settings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;music&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10005&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| None – this is just a wrapper for the current My Music view (who&#039;s IDs are 501 and 502)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10006&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| None – this is just a wrapper for the current My Video view (who&#039;s IDs are 21-25) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;systeminfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SYSTEM_INFORMATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10007&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsSystemInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;screencalibration&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MOVIE_CALIBRATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10011&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsScreenCalibration.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;picturessettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYPICTURES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10012&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;programssettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYPROGRAMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10013&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;weathersettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYWEATHER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10014&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYMUSIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10015&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;systemsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_SYSTEM&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10016&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videossettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYVIDEOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10017&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;servicesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_SERVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10018&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml  &#039;&#039;&#039;(Frodo addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;appearancesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_APPEARANCE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10019&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SCRIPTS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10020&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyScripts.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videolibrary&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_NAV&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10025&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyVideoNav.xml - Replaces the following .XML files: MyVideoGenre (WINDOW_VIDEO_GENRE), MyVideoActors (WINDOW_VIDEO_ACTOR), MyVideoYear (WINDOW_VIDEO_YEAR), MyVideoTitle (WINDOW_VIDEO_TITLE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videoplaylist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_PLAYLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10028&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyVideoPlaylist.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;loginscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_LOGINSCREEN&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10029&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| LoginScreen.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;profiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_PROFILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10034&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsProfile.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addonbrowser&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_ADDON_BROWSER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10040&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&lt;br /&gt;
| AddonBrowser.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yesnodialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_YES_NO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10100&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogYesNo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;progressdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PROGRESS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10101&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;101&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogProgress.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;virtualkeyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KEYBOARD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10103&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;103&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKeyboard.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volumebar&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VOLUME_BAR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10104&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;104&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogVolumeBar.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;contextmenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_CONTEXT_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10106&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;106&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogContextMenu.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;infodialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KAI_TOAST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10107&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;107&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaiToast.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;numericinput&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_NUMERIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10109&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;109&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogNumeric.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;shutdownmenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_BUTTON_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10111&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;111&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogButtonMenu.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mutebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MUTE_BUG&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10113&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;113&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMuteBug.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;playercontrols&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PLAYER_CONTROLS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10114&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;114&amp;lt;/code&amp;gt;&lt;br /&gt;
| PlayerControls.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;seekbar&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SEEK_BAR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10115&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;115&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSeekBar.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicosd&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MUSIC_OSD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10120&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;120&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicOSD.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIS_PRESET_LIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10122&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;122&amp;lt;/code&amp;gt;&lt;br /&gt;
| VisualizationPresetList.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvideosettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIDEO_OSD_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10123&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;123&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdaudiosettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_AUDIO_OSD_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10124&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;124&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videobookmarks&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIDEO_BOOKMARKS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10125&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;125&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDBookmarks.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filebrowser&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FILE_BROWSER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10126&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;126&amp;lt;/code&amp;gt;&lt;br /&gt;
| FileBrowser.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;networksetup&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_NETWORK_SETUP&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10128&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;128&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogNetworkSetup.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mediasource&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MEDIA_SOURCE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10129&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;129&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMediaSource.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;profilesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PROFILE_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10130&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;130&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProfileSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;locksettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_LOCK_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10131&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;131&amp;lt;/code&amp;gt;&lt;br /&gt;
| LockSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;contentsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_CONTENT_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10132&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;132&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogContentSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;favourites&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FAVOURITES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10134&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;134&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFavourites.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;songinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SONG_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10135&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;135&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSongInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;smartplaylisteditor&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SMART_PLAYLIST_EDITOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10136&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;136&amp;lt;/code&amp;gt;&lt;br /&gt;
| SmartPlaylistEditor.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;smartplaylistrule&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SMART_PLAYLIST_RULE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10137&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;137&amp;lt;/code&amp;gt;&lt;br /&gt;
| SmartPlaylistRule.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;busydialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_BUSY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10138&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;138&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogBusy.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pictureinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PICTURE_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10139&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;139&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPictureInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addonsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ADDON_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10140&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;140&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAddonSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;accesspoints&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ACCESS_POINTS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10141&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;141&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAccessPoints.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;fullscreeninfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FULLSCREEN_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10142&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;142&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFullScreenInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaokeselector&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KARAOKE_SONGSELECT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10143&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;143&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaraokeSongSelector.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaokelargeselector&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KARAOKE_SELECTOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10144&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;144&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaraokeSongSelectorLarge.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;sliderdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SLIDER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10145&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;145&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSlider.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addoninformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ADDON_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10146&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;146&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAddonInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;textviewer&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_TEXT_VIEWER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10147&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;147&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogTextViewer.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;peripherals&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PERIPHERAL_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10149&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;149&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPeripheralManager.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;peripheralsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PERIPHERAL_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10150&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;150&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPeripheralSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;extendedprogressdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_EXT_PROGRESS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10151&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;151&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogExtendedProgressBar.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;mediafilter&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MEDIA_FILTER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10152&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;152&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMediaFilter.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{Gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;subtitlesearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SUBTITLES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10153&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;153&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSubtitles.xml &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicplaylist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_PLAYLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10500&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;500&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicPlaylist.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicfiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_FILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10501&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;501&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicSongs.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musiclibrary&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_NAV&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10502&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;502&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicNav.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicplaylisteditor&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_PLAYLIST_EDITOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10503&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;503&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicPlaylistEditor.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvr&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PVR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10601&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;601&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVR.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvchannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10615&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;615&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRChannels.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvrecordings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_RECORDINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10616&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;616&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRRecordings.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10617&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;617&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRGuide.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvtimers&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_TIMERS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10618&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;618&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRTimers.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10619&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;619&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRSearch.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiochannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10620&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;620&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRChannels.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiorecordings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_RECORDINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10621&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;621&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRRecordings.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radioguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10622&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;622&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRGuide.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiotimers&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_TIMERS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10623&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;623&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRTimers.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiosearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10624&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;624&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRSearch.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrguideinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GUIDE_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10602&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;602&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideInfo.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrrecordinginfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_RECORDING_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10603&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;603&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRRecordingInfo.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrtimersetting&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_TIMER_SETTING&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10604&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;604&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRTimerSettings.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrgroupmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GROUP_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10605&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;605&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGroupManager.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrchannelmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_CHANNEL_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10606&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;606&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRChannelManager.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrguidesearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GUIDE_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10607&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;607&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideSearch.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrosdchannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_OSD_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10610&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;610&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRChannelsOSD.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrosdguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_OSD_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10611&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;611&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideOSD.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;virtualkeyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIRTUAL_KEYBOARD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;11000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1000&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;selectdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SELECT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2000&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSelect.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12001&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2001&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAlbumInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;okdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_OK&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12002&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2002&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogOK.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;movieinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12003&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2003&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogVideoInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;fullscreenvideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_FULLSCREEN_VIDEO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12005&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2005&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoFullScreen.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;visualisation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VISUALISATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12006&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2006&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicVisualisation.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;slideshow&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SLIDESHOW&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12007&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2007&amp;lt;/code&amp;gt;&lt;br /&gt;
| SlideShow.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filestackingdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FILESTACKING&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12008&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2008&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFileStacking.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaoke&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_KARAOKELYRICS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12009&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2009&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicKaraokeLyrics.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;weather&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_WEATHER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12600&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2600&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyWeather.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SCREENSAVER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12900&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2900&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videoosd&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_OSD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12901&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2901&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSD.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videomenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MEDIA_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12902&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2902&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;startup&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_STARTUP_ANIM&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12999&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2999&amp;lt;/code&amp;gt;&lt;br /&gt;
| startup.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;skinsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| SkinSettings.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;startwindow&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| shortcut to the current startwindow&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | In addition, there are the following &amp;quot;special&amp;quot; windows whose id is not really a concern (and you&#039;ll notice isn&#039;t unique)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pointer&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;105 &amp;lt;/code&amp;gt;&lt;br /&gt;
| Pointer.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicoverlay&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_OVERLAY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12903&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2903&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicOverlay.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videooverlay&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_OVERLAY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12904&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2904&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOverlay.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Python Windows &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;00–309&amp;lt;/span&amp;gt;9 &amp;lt;/code&amp;gt;&lt;br /&gt;
| none &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
== Removed window IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;networksettings&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;musicscan&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;videoscan&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;videofiles&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;pvr&amp;lt;/code&amp;gt; - Removed in v14 Helix&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>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Window_IDs&amp;diff=79511</id>
		<title>Window IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Window_IDs&amp;diff=79511"/>
		<updated>2014-10-12T07:06:08Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
{{see also|Python development|Skinning}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
This table cross-references Window names, Window definitions, Window ID, and the delta Window ID&#039;s (this is the delta from the home window.) The code that performs the cross-reference is found in [https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk/xbmc/ButtonTranslator.cpp?view=markup ButtonTranslator.cpp].&lt;br /&gt;
&lt;br /&gt;
* [[keymap.xml]] uses the Window name.&lt;br /&gt;
* XBMC&#039;s C++ code uses the Window definitions and Window ID&#039;s.&lt;br /&gt;
* skin .xml files use the Delta Window ID&#039;s&lt;br /&gt;
* XBMC.ActivateWindow() can use either the Window name, the Window ID, or the delta Window ID.&lt;br /&gt;
* sounds.xml can use the window name or window ID&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can use secondary parameters with all media windows, as can be seen here:&#039;&#039;&#039;&lt;br /&gt;
* [[Opening Windows and Dialogs]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* You want a button in your skin or on your remote taking you directly to the movie listing you let that button do&lt;br /&gt;
&lt;br /&gt;
 ActivateWindow(Videos,MovieTitles)   (v11 Eden and up)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Name !! Definition !! Window ID !! Delta window ID !! source XML file&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_HOME&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| Home.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;programs&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PROGRAMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPrograms.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pictures&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PICTURES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10002&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPics.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filemanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_FILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10003&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| FileManager.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;settings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10004&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Settings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;music&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10005&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| None – this is just a wrapper for the current My Music view (who&#039;s IDs are 501 and 502)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10006&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| None – this is just a wrapper for the current My Video view (who&#039;s IDs are 21-25) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;systeminfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SYSTEM_INFORMATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10007&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsSystemInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;screencalibration&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MOVIE_CALIBRATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10011&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsScreenCalibration.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;picturessettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYPICTURES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10012&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;programssettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYPROGRAMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10013&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;weathersettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYWEATHER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10014&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYMUSIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10015&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;systemsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_SYSTEM&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10016&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videossettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYVIDEOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10017&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;servicesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_SERVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10018&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml  &#039;&#039;&#039;(Frodo addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;appearancesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_APPEARANCE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10019&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SCRIPTS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10020&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyScripts.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videolibrary&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_NAV&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10025&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyVideoNav.xml - Replaces the following .XML files: MyVideoGenre (WINDOW_VIDEO_GENRE), MyVideoActors (WINDOW_VIDEO_ACTOR), MyVideoYear (WINDOW_VIDEO_YEAR), MyVideoTitle (WINDOW_VIDEO_TITLE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videoplaylist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_PLAYLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10028&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyVideoPlaylist.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;loginscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_LOGINSCREEN&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10029&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| LoginScreen.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;profiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_PROFILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10034&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsProfile.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addonbrowser&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_ADDON_BROWSER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10040&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&lt;br /&gt;
| AddonBrowser.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yesnodialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_YES_NO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10100&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogYesNo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;progressdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PROGRESS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10101&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;101&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogProgress.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;virtualkeyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KEYBOARD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10103&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;103&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKeyboard.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volumebar&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VOLUME_BAR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10104&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;104&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogVolumeBar.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;contextmenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_CONTEXT_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10106&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;106&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogContextMenu.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;infodialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KAI_TOAST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10107&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;107&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaiToast.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;numericinput&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_NUMERIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10109&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;109&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogNumeric.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;shutdownmenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_BUTTON_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10111&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;111&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogButtonMenu.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mutebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MUTE_BUG&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10113&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;113&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMuteBug.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;playercontrols&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PLAYER_CONTROLS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10114&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;114&amp;lt;/code&amp;gt;&lt;br /&gt;
| PlayerControls.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;seekbar&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SEEK_BAR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10115&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;115&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSeekBar.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicosd&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MUSIC_OSD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10120&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;120&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicOSD.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIS_PRESET_LIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10122&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;122&amp;lt;/code&amp;gt;&lt;br /&gt;
| VisualizationPresetList.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvideosettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIDEO_OSD_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10123&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;123&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdaudiosettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_AUDIO_OSD_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10124&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;124&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videobookmarks&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIDEO_BOOKMARKS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10125&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;125&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDBookmarks.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filebrowser&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FILE_BROWSER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10126&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;126&amp;lt;/code&amp;gt;&lt;br /&gt;
| FileBrowser.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;networksetup&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_NETWORK_SETUP&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10128&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;128&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogNetworkSetup.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mediasource&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MEDIA_SOURCE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10129&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;129&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMediaSource.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;profilesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PROFILE_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10130&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;130&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProfileSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;locksettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_LOCK_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10131&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;131&amp;lt;/code&amp;gt;&lt;br /&gt;
| LockSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;contentsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_CONTENT_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10132&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;132&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogContentSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;favourites&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FAVOURITES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10134&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;134&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFavourites.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;songinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SONG_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10135&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;135&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSongInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;smartplaylisteditor&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SMART_PLAYLIST_EDITOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10136&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;136&amp;lt;/code&amp;gt;&lt;br /&gt;
| SmartPlaylistEditor.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;smartplaylistrule&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SMART_PLAYLIST_RULE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10137&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;137&amp;lt;/code&amp;gt;&lt;br /&gt;
| SmartPlaylistRule.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;busydialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_BUSY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10138&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;138&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogBusy.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pictureinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PICTURE_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10139&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;139&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPictureInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addonsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ADDON_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10140&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;140&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAddonSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;accesspoints&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ACCESS_POINTS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10141&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;141&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAccessPoints.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;fullscreeninfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FULLSCREEN_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10142&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;142&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFullScreenInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaokeselector&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KARAOKE_SONGSELECT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10143&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;143&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaraokeSongSelector.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaokelargeselector&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KARAOKE_SELECTOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10144&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;144&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaraokeSongSelectorLarge.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;sliderdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SLIDER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10145&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;145&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSlider.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addoninformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ADDON_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10146&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;146&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAddonInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;textviewer&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_TEXT_VIEWER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10147&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;147&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogTextViewer.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;peripherals&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PERIPHERAL_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10149&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;149&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPeripheralManager.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;peripheralsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PERIPHERAL_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10150&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;150&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPeripheralSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;extendedprogressdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_EXT_PROGRESS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10151&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;151&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogExtendedProgressBar.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;mediafilter&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MEDIA_FILTER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10152&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;152&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMediaFilter.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{Gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;subtitlesearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SUBTITLES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10153&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;153&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSubtitles.xml &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicplaylist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_PLAYLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10500&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;500&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicPlaylist.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicfiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_FILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10501&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;501&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicSongs.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musiclibrary&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_NAV&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10502&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;502&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicNav.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicplaylisteditor&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_PLAYLIST_EDITOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10503&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;503&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicPlaylistEditor.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvr&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PVR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10601&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;601&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVR.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvchannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10615&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;615&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRChannels.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvrecordings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_RECORDINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10616&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;616&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRRecordings.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10617&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;617&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRGuide.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvtimers&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_TIMERS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10618&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;618&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRTimers.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10619&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;619&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRSearch.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiochannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10620&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;620&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRChannels.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiorecordings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_RECORDINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10621&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;621&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRRecordings.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radioguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10622&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;622&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRGuide.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiotimers&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_TIMERS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10623&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;623&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRTimers.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiosearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10624&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;624&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRSearch.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrguideinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GUIDE_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10602&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;602&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideInfo.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrrecordinginfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_RECORDING_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10603&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;603&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRRecordingInfo.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrtimersetting&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_TIMER_SETTING&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10604&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;604&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRTimerSettings.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrgroupmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GROUP_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10605&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;605&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGroupManager.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrchannelmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_CHANNEL_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10606&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;606&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRChannelManager.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrguidesearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GUIDE_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10607&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;607&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideSearch.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrosdchannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_OSD_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10610&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;610&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRChannelsOSD.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrosdguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_OSD_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10611&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;611&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideOSD.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;virtualkeyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIRTUAL_KEYBOARD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;11000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1000&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;selectdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SELECT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2000&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSelect.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12001&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2001&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAlbumInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;okdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_OK&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12002&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2002&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogOK.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;movieinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12003&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2003&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogVideoInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;fullscreenvideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_FULLSCREEN_VIDEO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12005&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2005&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoFullScreen.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;visualisation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VISUALISATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12006&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2006&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicVisualisation.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;slideshow&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SLIDESHOW&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12007&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2007&amp;lt;/code&amp;gt;&lt;br /&gt;
| SlideShow.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filestackingdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FILESTACKING&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12008&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2008&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFileStacking.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaoke&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_KARAOKELYRICS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12009&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2009&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicKaraokeLyrics.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;weather&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_WEATHER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12600&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2600&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyWeather.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SCREENSAVER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12900&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2900&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videoosd&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_OSD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12901&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2901&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSD.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videomenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MEDIA_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12902&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2902&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;startup&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_STARTUP_ANIM&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12999&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2999&amp;lt;/code&amp;gt;&lt;br /&gt;
| startup.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;skinsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| SkinSettings.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;startwindow&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| shortcut to the current startwindow&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | In addition, there are the following &amp;quot;special&amp;quot; windows whose id is not really a concern (and you&#039;ll notice isn&#039;t unique)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pointer&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;105 &amp;lt;/code&amp;gt;&lt;br /&gt;
| Pointer.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicoverlay&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_OVERLAY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12903&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2903&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicOverlay.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videooverlay&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_OVERLAY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12904&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2904&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOverlay.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Python Windows &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;00–309&amp;lt;/span&amp;gt;9 &amp;lt;/code&amp;gt;&lt;br /&gt;
| none &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
== Removed window IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;networksettings&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;musicscan&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;videoscan&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;videofiles&amp;lt;/code&amp;gt; - Removed in v13 Gotham&lt;br /&gt;
* &amp;lt;code&amp;gt;pvr&amp;lt;/code&amp;gt; - Removed in v14 Helix&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>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Window_IDs&amp;diff=79510</id>
		<title>Window IDs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Window_IDs&amp;diff=79510"/>
		<updated>2014-10-12T07:05:05Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
{{see also|Python development|Skinning}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
This table cross-references Window names, Window definitions, Window ID, and the delta Window ID&#039;s (this is the delta from the home window.) The code that performs the cross-reference is found in [https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk/xbmc/ButtonTranslator.cpp?view=markup ButtonTranslator.cpp].&lt;br /&gt;
&lt;br /&gt;
* [[keymap.xml]] uses the Window name.&lt;br /&gt;
* XBMC&#039;s C++ code uses the Window definitions and Window ID&#039;s.&lt;br /&gt;
* skin .xml files use the Delta Window ID&#039;s&lt;br /&gt;
* XBMC.ActivateWindow() can use either the Window name, the Window ID, or the delta Window ID.&lt;br /&gt;
* sounds.xml can use the window name or window ID&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can use secondary parameters with all media windows, as can be seen here:&#039;&#039;&#039;&lt;br /&gt;
* [[Opening Windows and Dialogs]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* You want a button in your skin or on your remote taking you directly to the movie listing you let that button do&lt;br /&gt;
&lt;br /&gt;
 ActivateWindow(Videos,MovieTitles)   (v11 Eden and up)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Name !! Definition !! Window ID !! Delta window ID !! source XML file&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_HOME&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| Home.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;programs&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PROGRAMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPrograms.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pictures&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PICTURES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10002&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPics.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filemanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_FILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10003&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| FileManager.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;settings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10004&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| Settings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;music&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10005&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| None – this is just a wrapper for the current My Music view (who&#039;s IDs are 501 and 502)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;video&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10006&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| None – this is just a wrapper for the current My Video view (who&#039;s IDs are 21-25) &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;systeminfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SYSTEM_INFORMATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10007&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsSystemInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;screencalibration&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MOVIE_CALIBRATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10011&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsScreenCalibration.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;picturessettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYPICTURES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10012&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;programssettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYPROGRAMS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10013&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;weathersettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYWEATHER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10014&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYMUSIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10015&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;systemsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_SYSTEM&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10016&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videossettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_MYVIDEOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10017&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;17&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;servicesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_SERVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10018&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml  &#039;&#039;&#039;(Frodo addition)&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;appearancesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_APPEARANCE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10019&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsCategory.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SCRIPTS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10020&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyScripts.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videolibrary&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_NAV&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10025&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyVideoNav.xml - Replaces the following .XML files: MyVideoGenre (WINDOW_VIDEO_GENRE), MyVideoActors (WINDOW_VIDEO_ACTOR), MyVideoYear (WINDOW_VIDEO_YEAR), MyVideoTitle (WINDOW_VIDEO_TITLE)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videoplaylist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_PLAYLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10028&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;28&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyVideoPlaylist.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;loginscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_LOGINSCREEN&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10029&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;29&amp;lt;/code&amp;gt;&lt;br /&gt;
| LoginScreen.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;profiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SETTINGS_PROFILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10034&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;&lt;br /&gt;
| SettingsProfile.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addonbrowser&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_ADDON_BROWSER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10040&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&lt;br /&gt;
| AddonBrowser.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;yesnodialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_YES_NO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10100&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogYesNo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;progressdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PROGRESS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10101&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;101&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogProgress.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;virtualkeyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KEYBOARD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10103&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;103&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKeyboard.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;volumebar&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VOLUME_BAR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10104&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;104&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogVolumeBar.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;contextmenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_CONTEXT_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10106&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;106&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogContextMenu.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;infodialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KAI_TOAST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10107&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;107&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaiToast.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;numericinput&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_NUMERIC&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10109&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;109&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogNumeric.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;shutdownmenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_BUTTON_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10111&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;111&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogButtonMenu.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mutebug&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MUTE_BUG&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10113&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;113&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMuteBug.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;playercontrols&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PLAYER_CONTROLS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10114&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;114&amp;lt;/code&amp;gt;&lt;br /&gt;
| PlayerControls.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;seekbar&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SEEK_BAR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10115&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;115&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSeekBar.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicosd&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MUSIC_OSD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10120&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;120&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicOSD.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;visualisationpresetlist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIS_PRESET_LIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10122&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;122&amp;lt;/code&amp;gt;&lt;br /&gt;
| VisualizationPresetList.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdvideosettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIDEO_OSD_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10123&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;123&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;osdaudiosettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_AUDIO_OSD_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10124&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;124&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videobookmarks&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_VIDEO_BOOKMARKS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10125&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;125&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSDBookmarks.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filebrowser&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FILE_BROWSER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10126&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;126&amp;lt;/code&amp;gt;&lt;br /&gt;
| FileBrowser.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;networksetup&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_NETWORK_SETUP&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10128&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;128&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogNetworkSetup.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mediasource&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MEDIA_SOURCE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10129&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;129&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMediaSource.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;profilesettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PROFILE_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10130&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;130&amp;lt;/code&amp;gt;&lt;br /&gt;
| ProfileSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;locksettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_LOCK_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10131&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;131&amp;lt;/code&amp;gt;&lt;br /&gt;
| LockSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;contentsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_CONTENT_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10132&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;132&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogContentSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;favourites&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FAVOURITES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10134&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;134&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFavourites.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;songinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SONG_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10135&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;135&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSongInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;smartplaylisteditor&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SMART_PLAYLIST_EDITOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10136&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;136&amp;lt;/code&amp;gt;&lt;br /&gt;
| SmartPlaylistEditor.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;smartplaylistrule&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SMART_PLAYLIST_RULE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10137&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;137&amp;lt;/code&amp;gt;&lt;br /&gt;
| SmartPlaylistRule.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;busydialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_BUSY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10138&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;138&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogBusy.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pictureinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PICTURE_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10139&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;139&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPictureInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addonsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ADDON_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10140&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;140&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAddonSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;accesspoints&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ACCESS_POINTS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10141&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;141&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAccessPoints.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;fullscreeninfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FULLSCREEN_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10142&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;142&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFullScreenInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaokeselector&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KARAOKE_SONGSELECT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10143&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;143&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaraokeSongSelector.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaokelargeselector&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_KARAOKE_SELECTOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10144&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;144&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogKaraokeSongSelectorLarge.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;sliderdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SLIDER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10145&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;145&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSlider.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;addoninformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_ADDON_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10146&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;146&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAddonInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;textviewer&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_TEXT_VIEWER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10147&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;147&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogTextViewer.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;peripherals&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PERIPHERAL_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10149&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;149&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPeripheralManager.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;peripheralsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PERIPHERAL_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10150&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;150&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPeripheralSettings.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;extendedprogressdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_EXT_PROGRESS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10151&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;151&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogExtendedProgressBar.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;mediafilter&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_MEDIA_FILTER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10152&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;152&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogMediaFilter.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{Gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;subtitlesearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SUBTITLES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10153&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;153&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSubtitles.xml &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicplaylist&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_PLAYLIST&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10500&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;500&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicPlaylist.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicfiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_FILES&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10501&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;501&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicSongs.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musiclibrary&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_NAV&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10502&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;502&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicNav.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicplaylisteditor&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_PLAYLIST_EDITOR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10503&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;503&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyMusicPlaylistEditor.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvr&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_PVR&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10601&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;601&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVR.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvchannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10615&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;615&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRChannels.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvrecordings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_RECORDINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10616&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;616&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRRecordings.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10617&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;617&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRGuide.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvtimers&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_TIMERS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10618&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;618&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRTimers.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;tvsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_TV_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10619&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;619&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRSearch.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiochannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10620&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;620&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRChannels.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiorecordings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_RECORDINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10621&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;621&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRRecordings.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radioguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10622&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;622&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRGuide.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiotimers&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_TIMERS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10623&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;623&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRTimers.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{helix row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;radiosearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_RADIO_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10624&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;624&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyPVRSearch.xml &#039;&#039;&#039;([[:Category:Helix feature|Helix addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrguideinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GUIDE_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10602&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;602&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideInfo.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrrecordinginfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_RECORDING_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10603&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;603&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRRecordingInfo.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrtimersetting&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_TIMER_SETTING&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10604&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;604&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRTimerSettings.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrgroupmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GROUP_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10605&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;605&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGroupManager.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrchannelmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_CHANNEL_MANAGER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10606&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;606&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRChannelManager.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrguidesearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_GUIDE_SEARCH&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10607&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;607&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideSearch.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrosdchannels&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_OSD_CHANNELS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10610&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;610&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRChannelsOSD.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;pvrosdguide&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_PVR_OSD_GUIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;10611&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;611&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogPVRGuideOSD.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;virtualkeyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIRTUAL_KEYBOARD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;11000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;1000&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;selectdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_SELECT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12000&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2000&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogSelect.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12001&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2001&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogAlbumInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;okdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_OK&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12002&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2002&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogOK.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;movieinformation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12003&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2003&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogVideoInfo.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;fullscreenvideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_FULLSCREEN_VIDEO&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12005&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2005&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoFullScreen.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;visualisation&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VISUALISATION&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12006&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2006&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicVisualisation.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;slideshow&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SLIDESHOW&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12007&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2007&amp;lt;/code&amp;gt;&lt;br /&gt;
| SlideShow.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;filestackingdialog&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_DIALOG_FILESTACKING&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12008&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2008&amp;lt;/code&amp;gt;&lt;br /&gt;
| DialogFileStacking.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;karaoke&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_KARAOKELYRICS&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12009&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2009&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicKaraokeLyrics.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;weather&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_WEATHER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12600&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2600&amp;lt;/code&amp;gt;&lt;br /&gt;
| MyWeather.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;screensaver&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_SCREENSAVER&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12900&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2900&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videoosd&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_OSD&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12901&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2901&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOSD.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videomenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MEDIA_MENU&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12902&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2902&amp;lt;/code&amp;gt;&lt;br /&gt;
| none&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;startup&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_STARTUP_ANIM&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12999&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2999&amp;lt;/code&amp;gt;&lt;br /&gt;
| startup.xml&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;skinsettings&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| SkinSettings.xml &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;startwindow&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| shortcut to the current startwindow&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | In addition, there are the following &amp;quot;special&amp;quot; windows whose id is not really a concern (and you&#039;ll notice isn&#039;t unique)&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;pointer&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;105 &amp;lt;/code&amp;gt;&lt;br /&gt;
| Pointer.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;musicoverlay&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_MUSIC_OVERLAY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12903&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2903&amp;lt;/code&amp;gt;&lt;br /&gt;
| MusicOverlay.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;videooverlay&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;WINDOW_VIDEO_OVERLAY&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;12904&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;2904&amp;lt;/code&amp;gt;&lt;br /&gt;
| VideoOverlay.xml&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Python Windows &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;30&amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;00–309&amp;lt;/span&amp;gt;9 &amp;lt;/code&amp;gt;&lt;br /&gt;
| none &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
== Removed window IDs ==&lt;br /&gt;
* &amp;lt;code&amp;gt;networksettings&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;musicscan&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;videoscan&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;videofiles&amp;lt;/code&amp;gt; - Removed in v13 Gotham&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>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Template:Helix_row&amp;diff=79509</id>
		<title>Template:Helix row</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Template:Helix_row&amp;diff=79509"/>
		<updated>2014-10-12T06:58:52Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: Created page with &amp;quot;style=&amp;quot;background:#8cd5f0;&amp;quot;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;style=&amp;quot;background:#8cd5f0;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Skin_migration_PVR_section_for_Helix_release&amp;diff=77484</id>
		<title>Archive:Skin migration PVR section for Helix release</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Skin_migration_PVR_section_for_Helix_release&amp;diff=77484"/>
		<updated>2014-07-17T06:46:18Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Migrate your home menu entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This guide describes how to migrate the PVR section of your existing skin to the upcoming Helix release.&lt;br /&gt;
&lt;br /&gt;
First we want to explain what&#039;s changed, before we start with the mirgration guide.&lt;br /&gt;
We split up the existing TV window (&#039;&#039;MyPVR&#039;&#039;) and the underlaying views &#039;&#039;channels&#039;&#039;, &#039;&#039;guide&#039;&#039; etc. in its own windows and in its own XML files. Furthermore we split up the TV and Radio part of the PVR section and add unique window names like &#039;&#039;TVChannels&#039;&#039;, &#039;&#039;RadioGuide&#039;&#039; etc. to activate such a window (&#039;&#039;ActivateWindow(TVGuide)&#039;&#039;).&lt;br /&gt;
We also removed most of the static button id&#039;s previously used for navigating through the former views and added some default functionality such as support for views, sorting type and sorting direction, which you remember from the video windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New XML files:&#039;&#039;&#039;&lt;br /&gt;
* MyPVRChannels.xml&lt;br /&gt;
* MyPVRGuide.xml&lt;br /&gt;
* MyPVRRecordings.xml&lt;br /&gt;
* MyPVRSearch.xml&lt;br /&gt;
* MyPVRTimers.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New window names:&#039;&#039;&#039;&lt;br /&gt;
* TVChannels &amp;amp; RadioChannels -&amp;gt; MyPVRChannels.xml&lt;br /&gt;
* TVGuide &amp;amp; RadioGuide -&amp;gt; MyPVRGuide.xml&lt;br /&gt;
* TVRecordings &amp;amp; RadioRecordings -&amp;gt; MyPVRRecordings.xml&lt;br /&gt;
* TVSearch &amp;amp; RadioSearch -&amp;gt; MyPVRSearch.xml&lt;br /&gt;
* TVTimers &amp;amp; RadioTimers -&amp;gt; MyPVRTimers.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New buttons&#039;&#039;&#039;&lt;br /&gt;
* added a new group selection dialog, button &amp;quot;Channel Groups&amp;quot; (ID: 28)&lt;br /&gt;
* added view support, button &amp;quot;View As&amp;quot; (ID: 2)&lt;br /&gt;
* added ability to sort the listings, &amp;quot;Sort by&amp;quot; button (ID: 3), &amp;quot;Sort direction&amp;quot; button (ID: 4)&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L74&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New static list ids&#039;&#039;&#039;&lt;br /&gt;
* ID: 10 -&amp;gt; guide EPG grip&lt;br /&gt;
* ID: 11 -&amp;gt; guide view now&lt;br /&gt;
* ID: 12 -&amp;gt; guide view next&lt;br /&gt;
* ID: 13 -&amp;gt; guide view channel&lt;br /&gt;
&lt;br /&gt;
see:&amp;lt;br /&amp;gt;&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRGuide.xml#L5&amp;lt;br /&amp;gt;&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/ViewsPVRGuide.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New properties&#039;&#039;&#039;&lt;br /&gt;
* new GUI info properties &#039;&#039;PVR.HasTVChannels&#039;&#039; and &#039;&#039;PVR.HasRadioChannels&#039;&#039; to determine if there are tv and radio channels&lt;br /&gt;
* new window property &#039;&#039;IsRadio&#039;&#039; to determine if you are the TV or Radio window (see https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L104)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrate your home menu entries ==&lt;br /&gt;
&lt;br /&gt;
* Replace the existing calls to the built-in functions &#039;&#039;ActivateWindowAndFocus(MyPVR, 32,0, 11,0)&#039;&#039; with &#039;&#039;ActivateWindow(TVChannels)&#039;&#039; or &#039;&#039;ActivateWindow(RadioChannels)&#039;&#039; etc. (see the list of new window names)&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesHomeMenuItems.xml#L258&lt;br /&gt;
&lt;br /&gt;
== Migrate the existing views to the new window XML files ==&lt;br /&gt;
&lt;br /&gt;
* copy over the content of your existing &#039;&#039;MyPVR.xml&#039;&#039; to each new XML file (&#039;&#039;MyPVRChannels.xml, MyPVRGuide.xml&#039;&#039;)&lt;br /&gt;
* remove the &#039;&#039;&amp;lt;include&amp;gt;&#039;&#039; parts where you include the different views (&#039;&#039;channels, guide etc.&#039;&#039;) and replace each with its corresponding content for this window, except the radio channels view (ID: 12) which we do not differ from the tv channel list anymore.&lt;br /&gt;
* As we now support the view functionality like we do in the video window, you have to define a &#039;&#039;&amp;lt;views&amp;gt;&#039;&#039; element right after the &#039;&#039;&amp;lt;window&amp;gt;&#039;&#039; element (ex. &#039;&#039;&amp;lt;views&amp;gt;50&amp;lt;/views&amp;gt;&#039;&#039;).&lt;br /&gt;
* Now it&#039;s up to you if you want to replace the different id&#039;s used for each listing (11 = channel list, 13 = Recordings) with a single ID, for example 50. If not, please make sure your id&#039;s used in the &#039;&#039;&amp;lt;views&amp;gt;&#039;&#039; element match your control id&#039;s.&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRChannels.xml&lt;br /&gt;
&lt;br /&gt;
=== Guide Window ===&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; In guide window (&#039;&#039;MyPVRGuide.xml&#039;&#039;) you have to use the static view id&#039;s (epg = 10, now = 11, next = 12, channel = 13) within the &#039;&#039;&amp;lt;view&amp;gt;&#039;&#039; element (&#039;&#039;&amp;lt;views&amp;gt;10,11,12,13&amp;lt;/views&amp;gt;&#039;&#039;), but it&#039;s up to you which view you want to support. Remove each id which you don&#039;t want to support (ex. &#039;&#039;&amp;lt;views&amp;gt;10&amp;lt;/views&amp;gt;&#039;&#039; -&amp;gt; EPG view only).&lt;br /&gt;
&lt;br /&gt;
* clone the view &amp;quot;now/next&amp;quot; as we split this view into now (ID: 11) and next (ID: 12)&lt;br /&gt;
* change the view id for the guide channel view from ID 15 to ID 13&lt;br /&gt;
* you have to add a &#039;&#039;&amp;lt;viewtype&amp;gt;&#039;&#039; to each control to define the name of the view (&#039;&#039;&amp;lt;viewtype label=&amp;quot;19032&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&#039;&#039;).&amp;lt;br /&amp;gt;Label ID&#039;s: 19032 = EPG, 19030 = Now, 19031 = Next, 19029 = Channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
see: &lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRGuide.xml&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/ViewsPVRGuide.xml#L19&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrate the sideblade menu ==&lt;br /&gt;
&lt;br /&gt;
* there is no need to add special button id&#039;s to switch the windows (like channels, recordings). Use &#039;&#039;&amp;lt;onclick&amp;gt;ActivateWindow(...)&amp;lt;/onclick&amp;gt;&#039;&#039; and the new property &#039;&#039;IsRadio&#039;&#039; to indicate which window should be activated.&lt;br /&gt;
* add the button to access the new group selection dialog (ID: 28)&lt;br /&gt;
* add the button &amp;quot;View as&amp;quot; to change the views of this window (ID: 2)&lt;br /&gt;
* add the buttons &amp;quot;Sort by&amp;quot; (ID: 3) and &amp;quot;Sort direction&amp;quot; (ID: 4) to sort your listings&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L74&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Migrate the section header (breadcrumb) ==&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L3&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Skin_migration_PVR_section_for_Helix_release&amp;diff=77483</id>
		<title>Archive:Skin migration PVR section for Helix release</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Skin_migration_PVR_section_for_Helix_release&amp;diff=77483"/>
		<updated>2014-07-17T06:41:54Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Migrate the existing views to the new window XML files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This guide describes how to migrate the PVR section of your existing skin to the upcoming Helix release.&lt;br /&gt;
&lt;br /&gt;
First we want to explain what&#039;s changed, before we start with the mirgration guide.&lt;br /&gt;
We split up the existing TV window (&#039;&#039;MyPVR&#039;&#039;) and the underlaying views &#039;&#039;channels&#039;&#039;, &#039;&#039;guide&#039;&#039; etc. in its own windows and in its own XML files. Furthermore we split up the TV and Radio part of the PVR section and add unique window names like &#039;&#039;TVChannels&#039;&#039;, &#039;&#039;RadioGuide&#039;&#039; etc. to activate such a window (&#039;&#039;ActivateWindow(TVGuide)&#039;&#039;).&lt;br /&gt;
We also removed most of the static button id&#039;s previously used for navigating through the former views and added some default functionality such as support for views, sorting type and sorting direction, which you remember from the video windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New XML files:&#039;&#039;&#039;&lt;br /&gt;
* MyPVRChannels.xml&lt;br /&gt;
* MyPVRGuide.xml&lt;br /&gt;
* MyPVRRecordings.xml&lt;br /&gt;
* MyPVRSearch.xml&lt;br /&gt;
* MyPVRTimers.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New window names:&#039;&#039;&#039;&lt;br /&gt;
* TVChannels &amp;amp; RadioChannels -&amp;gt; MyPVRChannels.xml&lt;br /&gt;
* TVGuide &amp;amp; RadioGuide -&amp;gt; MyPVRGuide.xml&lt;br /&gt;
* TVRecordings &amp;amp; RadioRecordings -&amp;gt; MyPVRRecordings.xml&lt;br /&gt;
* TVSearch &amp;amp; RadioSearch -&amp;gt; MyPVRSearch.xml&lt;br /&gt;
* TVTimers &amp;amp; RadioTimers -&amp;gt; MyPVRTimers.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New buttons&#039;&#039;&#039;&lt;br /&gt;
* added a new group selection dialog, button &amp;quot;Channel Groups&amp;quot; (ID: 28)&lt;br /&gt;
* added view support, button &amp;quot;View As&amp;quot; (ID: 2)&lt;br /&gt;
* added ability to sort the listings, &amp;quot;Sort by&amp;quot; button (ID: 3), &amp;quot;Sort direction&amp;quot; button (ID: 4)&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L74&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New static list ids&#039;&#039;&#039;&lt;br /&gt;
* ID: 10 -&amp;gt; guide EPG grip&lt;br /&gt;
* ID: 11 -&amp;gt; guide view now&lt;br /&gt;
* ID: 12 -&amp;gt; guide view next&lt;br /&gt;
* ID: 13 -&amp;gt; guide view channel&lt;br /&gt;
&lt;br /&gt;
see:&amp;lt;br /&amp;gt;&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRGuide.xml#L5&amp;lt;br /&amp;gt;&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/ViewsPVRGuide.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New properties&#039;&#039;&#039;&lt;br /&gt;
* new GUI info properties &#039;&#039;PVR.HasTVChannels&#039;&#039; and &#039;&#039;PVR.HasRadioChannels&#039;&#039; to determine if there are tv and radio channels&lt;br /&gt;
* new window property &#039;&#039;IsRadio&#039;&#039; to determine if you are the TV or Radio window (see https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L104)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrate your home menu entries ==&lt;br /&gt;
&lt;br /&gt;
* Replace the existing calls to the built-in functions &#039;&#039;ActivateWindowAndFocus(MyPVR, 32,0, 11,0)&#039;&#039; with &#039;&#039;ActivateWindow(TVChannels)&#039;&#039; or &#039;&#039;ActivateWindow(RadioChannels)&#039;&#039; etc. (see the list of new window names)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Migrate the existing views to the new window XML files ==&lt;br /&gt;
&lt;br /&gt;
* copy over the content of your existing &#039;&#039;MyPVR.xml&#039;&#039; to each new XML file (&#039;&#039;MyPVRChannels.xml, MyPVRGuide.xml&#039;&#039;)&lt;br /&gt;
* remove the &#039;&#039;&amp;lt;include&amp;gt;&#039;&#039; parts where you include the different views (&#039;&#039;channels, guide etc.&#039;&#039;) and replace each with its corresponding content for this window, except the radio channels view (ID: 12) which we do not differ from the tv channel list anymore.&lt;br /&gt;
* As we now support the view functionality like we do in the video window, you have to define a &#039;&#039;&amp;lt;views&amp;gt;&#039;&#039; element right after the &#039;&#039;&amp;lt;window&amp;gt;&#039;&#039; element (ex. &#039;&#039;&amp;lt;views&amp;gt;50&amp;lt;/views&amp;gt;&#039;&#039;).&lt;br /&gt;
* Now it&#039;s up to you if you want to replace the different id&#039;s used for each listing (11 = channel list, 13 = Recordings) with a single ID, for example 50. If not, please make sure your id&#039;s used in the &#039;&#039;&amp;lt;views&amp;gt;&#039;&#039; element match your control id&#039;s.&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRChannels.xml&lt;br /&gt;
&lt;br /&gt;
=== Guide Window ===&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; In guide window (&#039;&#039;MyPVRGuide.xml&#039;&#039;) you have to use the static view id&#039;s (epg = 10, now = 11, next = 12, channel = 13) within the &#039;&#039;&amp;lt;view&amp;gt;&#039;&#039; element (&#039;&#039;&amp;lt;views&amp;gt;10,11,12,13&amp;lt;/views&amp;gt;&#039;&#039;), but it&#039;s up to you which view you want to support. Remove each id which you don&#039;t want to support (ex. &#039;&#039;&amp;lt;views&amp;gt;10&amp;lt;/views&amp;gt;&#039;&#039; -&amp;gt; EPG view only).&lt;br /&gt;
&lt;br /&gt;
* clone the view &amp;quot;now/next&amp;quot; as we split this view into now (ID: 11) and next (ID: 12)&lt;br /&gt;
* change the view id for the guide channel view from ID 15 to ID 13&lt;br /&gt;
* you have to add a &#039;&#039;&amp;lt;viewtype&amp;gt;&#039;&#039; to each control to define the name of the view (&#039;&#039;&amp;lt;viewtype label=&amp;quot;19032&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&#039;&#039;).&amp;lt;br /&amp;gt;Label ID&#039;s: 19032 = EPG, 19030 = Now, 19031 = Next, 19029 = Channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
see: &lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRGuide.xml&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/ViewsPVRGuide.xml#L19&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrate the sideblade menu ==&lt;br /&gt;
&lt;br /&gt;
* there is no need to add special button id&#039;s to switch the windows (like channels, recordings). Use &#039;&#039;&amp;lt;onclick&amp;gt;ActivateWindow(...)&amp;lt;/onclick&amp;gt;&#039;&#039; and the new property &#039;&#039;IsRadio&#039;&#039; to indicate which window should be activated.&lt;br /&gt;
* add the button to access the new group selection dialog (ID: 28)&lt;br /&gt;
* add the button &amp;quot;View as&amp;quot; to change the views of this window (ID: 2)&lt;br /&gt;
* add the buttons &amp;quot;Sort by&amp;quot; (ID: 3) and &amp;quot;Sort direction&amp;quot; (ID: 4) to sort your listings&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L74&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Migrate the section header (breadcrumb) ==&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L3&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Skin_migration_PVR_section_for_Helix_release&amp;diff=77482</id>
		<title>Archive:Skin migration PVR section for Helix release</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Skin_migration_PVR_section_for_Helix_release&amp;diff=77482"/>
		<updated>2014-07-17T06:41:22Z</updated>

		<summary type="html">&lt;p&gt;Xhaggi: /* Migrate the existing views to the new window XML files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This guide describes how to migrate the PVR section of your existing skin to the upcoming Helix release.&lt;br /&gt;
&lt;br /&gt;
First we want to explain what&#039;s changed, before we start with the mirgration guide.&lt;br /&gt;
We split up the existing TV window (&#039;&#039;MyPVR&#039;&#039;) and the underlaying views &#039;&#039;channels&#039;&#039;, &#039;&#039;guide&#039;&#039; etc. in its own windows and in its own XML files. Furthermore we split up the TV and Radio part of the PVR section and add unique window names like &#039;&#039;TVChannels&#039;&#039;, &#039;&#039;RadioGuide&#039;&#039; etc. to activate such a window (&#039;&#039;ActivateWindow(TVGuide)&#039;&#039;).&lt;br /&gt;
We also removed most of the static button id&#039;s previously used for navigating through the former views and added some default functionality such as support for views, sorting type and sorting direction, which you remember from the video windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New XML files:&#039;&#039;&#039;&lt;br /&gt;
* MyPVRChannels.xml&lt;br /&gt;
* MyPVRGuide.xml&lt;br /&gt;
* MyPVRRecordings.xml&lt;br /&gt;
* MyPVRSearch.xml&lt;br /&gt;
* MyPVRTimers.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New window names:&#039;&#039;&#039;&lt;br /&gt;
* TVChannels &amp;amp; RadioChannels -&amp;gt; MyPVRChannels.xml&lt;br /&gt;
* TVGuide &amp;amp; RadioGuide -&amp;gt; MyPVRGuide.xml&lt;br /&gt;
* TVRecordings &amp;amp; RadioRecordings -&amp;gt; MyPVRRecordings.xml&lt;br /&gt;
* TVSearch &amp;amp; RadioSearch -&amp;gt; MyPVRSearch.xml&lt;br /&gt;
* TVTimers &amp;amp; RadioTimers -&amp;gt; MyPVRTimers.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New buttons&#039;&#039;&#039;&lt;br /&gt;
* added a new group selection dialog, button &amp;quot;Channel Groups&amp;quot; (ID: 28)&lt;br /&gt;
* added view support, button &amp;quot;View As&amp;quot; (ID: 2)&lt;br /&gt;
* added ability to sort the listings, &amp;quot;Sort by&amp;quot; button (ID: 3), &amp;quot;Sort direction&amp;quot; button (ID: 4)&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L74&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New static list ids&#039;&#039;&#039;&lt;br /&gt;
* ID: 10 -&amp;gt; guide EPG grip&lt;br /&gt;
* ID: 11 -&amp;gt; guide view now&lt;br /&gt;
* ID: 12 -&amp;gt; guide view next&lt;br /&gt;
* ID: 13 -&amp;gt; guide view channel&lt;br /&gt;
&lt;br /&gt;
see:&amp;lt;br /&amp;gt;&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRGuide.xml#L5&amp;lt;br /&amp;gt;&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/ViewsPVRGuide.xml&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New properties&#039;&#039;&#039;&lt;br /&gt;
* new GUI info properties &#039;&#039;PVR.HasTVChannels&#039;&#039; and &#039;&#039;PVR.HasRadioChannels&#039;&#039; to determine if there are tv and radio channels&lt;br /&gt;
* new window property &#039;&#039;IsRadio&#039;&#039; to determine if you are the TV or Radio window (see https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L104)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrate your home menu entries ==&lt;br /&gt;
&lt;br /&gt;
* Replace the existing calls to the built-in functions &#039;&#039;ActivateWindowAndFocus(MyPVR, 32,0, 11,0)&#039;&#039; with &#039;&#039;ActivateWindow(TVChannels)&#039;&#039; or &#039;&#039;ActivateWindow(RadioChannels)&#039;&#039; etc. (see the list of new window names)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Migrate the existing views to the new window XML files ==&lt;br /&gt;
&lt;br /&gt;
* copy over the content of your existing &#039;&#039;MyPVR.xml&#039;&#039; to each new XML file (&#039;&#039;MyPVRChannels.xml, MyPVRGuide.xml&#039;&#039;)&lt;br /&gt;
* remove the &#039;&#039;&amp;lt;include&amp;gt;&#039;&#039; parts where you include the different views (&#039;&#039;channels, guide etc.&#039;&#039;) and replace each with its corresponding content for this window, except the radio channels view (ID: 12) which we do not differ from the tv channel list anymore.&lt;br /&gt;
* As we now support the view functionality like we do in the video window, you have to define a &#039;&#039;&amp;lt;views&amp;gt;&#039;&#039; element right after the &#039;&#039;&amp;lt;window&amp;gt;&#039;&#039; element (ex. &#039;&#039;&amp;lt;views&amp;gt;50&amp;lt;/views&amp;gt;&#039;&#039;).&lt;br /&gt;
* Now it&#039;s up to you if you want to replace the different id&#039;s used for each listing (11 = channel list, 13 = Recordings) with a single ID, for example 50. If not, please make sure your id&#039;s used in the &#039;&#039;&amp;lt;views&amp;gt;&#039;&#039; element match your control id&#039;s.&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRChannels.xml&lt;br /&gt;
&lt;br /&gt;
=== Guide Window ===&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; In guide window (&#039;&#039;MyPVRGuide.xml&#039;&#039;) you have to use the static view id&#039;s (epg = 10, now = 11, next = 12, channel = 13) within the &#039;&#039;&amp;lt;view&amp;gt;&#039;&#039; element (&#039;&#039;&amp;lt;views&amp;gt;10,11,12,13&amp;lt;/views&amp;gt;&#039;&#039;), but it&#039;s up to you which view you want to support. Remove each id which you don&#039;t want to support (ex. &#039;&#039;&amp;lt;views&amp;gt;10&amp;lt;/views&amp;gt;&#039;&#039; -&amp;gt; EPG view only).&lt;br /&gt;
&lt;br /&gt;
* clone the view &amp;quot;now/next&amp;quot; as we split this view into now (ID: 11) and next (ID: 12)&lt;br /&gt;
* change the view id for the guide channel view from ID 15 to ID 13&lt;br /&gt;
* you have to add a &#039;&#039;&amp;lt;viewtype&amp;gt;&#039;&#039; to each control to define the name of the view (&#039;&#039;&amp;lt;viewtype label=&amp;quot;19032&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&#039;&#039;).&amp;lt;br /&amp;gt;Label ID&#039;s: 19032 = EPG, 19030 = Now, 19031 = Next, 19029 = Channel&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
see: &lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/MyPVRGuide.xml&lt;br /&gt;
https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/ViewsPVRGuide.xml#L19&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrate the sideblade menu ==&lt;br /&gt;
&lt;br /&gt;
* there is no need to add special button id&#039;s to switch the windows (like channels, recordings). Use &#039;&#039;&amp;lt;onclick&amp;gt;ActivateWindow(...)&amp;lt;/onclick&amp;gt;&#039;&#039; and the new property &#039;&#039;IsRadio&#039;&#039; to indicate which window should be activated.&lt;br /&gt;
* add the button to access the new group selection dialog (ID: 28)&lt;br /&gt;
* add the button &amp;quot;View as&amp;quot; to change the views of this window (ID: 2)&lt;br /&gt;
* add the buttons &amp;quot;Sort by&amp;quot; (ID: 3) and &amp;quot;Sort direction&amp;quot; (ID: 4) to sort your listings&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L74&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Migrate the section header (breadcrumb) ==&lt;br /&gt;
&lt;br /&gt;
see: https://github.com/xbmc/xbmc/blob/master/addons/skin.confluence/720p/IncludesPVR.xml#L3&lt;/div&gt;</summary>
		<author><name>Xhaggi</name></author>
	</entry>
</feed>