List of built-in functions: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
Ned Scott (talk | contribs)
m partial replacement XBMC -> Kodi
Hitcher (talk | contribs)
 
(87 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{{mininav|[[Development]]|[[Add-on development]]}}
{{mininav| [[Python development]] {{l2| [[Add-on development]] }} {{l2| [[Skinning]] }} | [[Built-in scripting]] }}
{{see also|Built-in scripting|Python development|Skinning}}
 
<section begin="main content" />
<section begin="main content" />
Skins can use built-in functions with the <onclick> or <onfocus> tag. Scripts can call built-in functions with <code>xbmc.executebuiltin(function, block)</code>.
Skins can use built-in functions with the <onclick> or <onfocus> tag. Scripts can call built-in functions with <code>xbmc.executebuiltin(function, block)</code>.


The latest up-to-date list of built-in functions can be found in the function '''CBuiltins::Execute()''' in the source code file [https://github.com/xbmc/xbmc/blob/master/xbmc/interfaces/Builtins.cpp /xbmc/interfaces/Builtins.cpp].
The latest up-to-date list of built-in functions can be found in the source code files in [https://github.com/xbmc/xbmc/tree/master/xbmc/interfaces/builtins].


In addition to the following list, for most <onclick> and <onfocus> button actions in the skin you can also use the functions from [[Keyboard.xml]].
In addition to the following list, for most <onclick> and <onfocus> button actions in the skin you can also use the functions from [[Keyboard.xml]].
Line 16: Line 16:
'''You can use parameters with all media windows, as can be seen here:'''
'''You can use parameters with all media windows, as can be seen here:'''
* [[Opening Windows and Dialogs]]
* [[Opening Windows and Dialogs]]


== List of functions ==
== List of functions ==
{| class="prettytable"
<section begin="functions" />
! Function
 
! Description
=== Add-on built-in's ===
! Version
 
{| class="prettytable sort sortable" style="width: 100%;"
! style="width: 29%"| Function
! style="width: 66%"| Description
! style="width: 5%"| Version
|-
| <code>Addon.Default.OpenSettings(extensionpoint)</code>
| Open a settings dialog for the default addon of the given type (extensionpoint)
|
|-
| <code>Addon.Default.Set(extensionpoint)</code>
| Open a select dialog to allow choosing the default addon of the given type (extensionpoint)
|
|-
| <code>Addon.OpenSettings(id)</code>
| Open a settings dialog for the addon of the given id
|
|-
|-
| <code>Help</code>
| <code>EnableAddon(id)</code>
| This help message (??? probably broken)
| Enables the specified plugin/script
|  
| v19 addition
|-
|-
| <code>Reboot</code>
| <code>InstallAddon(id)</code>
| Cold reboots the system (power cycle)
| Will install the addon with the given id.
|
|
|-
|-
| <code>ShutDown</code>
| <code>InstallFromZip</code>
| Trigger default Shutdown action defined in System Settings
| Opens the "Install from zip"-dialog if "Unknown sources" is enabled. Prompts the warning message if not.
|
|
|-
|-
| <code>Powerdown</code>
| <code>RunAddon(id)</code>
| Powerdown system
| Runs the specified plugin/script
|
|
|-
|-
| <code>Quit</code>
| <code>RunAppleScript(script[,args]*)</code>
| Quits Kodi
| Run the specified AppleScript command
|
|
|-
|-
| <code>Hibernate</code>
| <code>RunPlugin(plugin)</code>
| Hibernate (S4) the System
| Runs the plugin. Full path must be specified. Does not work for folder plugins
|
|
|-
|-
| <code>Suspend</code>
| <code>RunScript(script[,args]*)</code>
| Suspends (S3 / S1 depending on bios setting) the System
| Runs the python script. You must specify the add-on id of the script. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv
|
|
|- {{frodo row}}
|-
| <code>InhibitIdleShutdown(true/false)</code>
| <code>StopScript(id)</code>
| Prevent the system to shutdown on idle.
| Stop the script by ID or path, if running
| {{nowrap|v12 Addition}}
| {{nowrap|v12 Addition}}
|- {{frodo row}}
|-
| <code>AllowIdleShutdown</code>
| <code>UpdateAddonRepos</code>
| Allow the system to shutdown on idle.
| Triggers a forced update of enabled add-on repositories.
| {{nowrap|v12 Addition}}
|
|- {{gotham row}}
|-
| <code>ActivateScreensaver</code>
| <code>UpdateLocalAddons</code>
| Starts the screensaver
| Triggers a scan of local add-on directories.  
|
|-
|}
 
=== Android built-in's ===
 
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>StartAndroidActivity(package,[intent,dataType,dataURI])</code>
| Launch an Android native app with the given package name. Optional parms (in order): intent, dataType, dataURI. example: <nowiki>StartAndroidActivity(com.android.chrome,android.intent.action.VIEW,,http://kodi.tv/)</nowiki>
| {{nowrap|v13 Addition}}
| {{nowrap|v13 Addition}}
|-
|-
| <code>RestartApp</code>
|}
| Restarts Kodi (only implemented under Windows and Linux)
 
=== Application built-in's ===
 
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>Extract(archive_url[, destination])</code>
| Extracts a specified archive to an optionally specified 'absolute' path.
|
|-
| <code>Mute</code>
| Mutes (or unmutes) the volume.
|
|
|-
|-
| <code>Minimize</code>
| <code>NotifyAll(sender, data [, json])</code>
| Minimizes Kodi
| Notify all connected clients
| {{nowrap|v13 Addition}}
|-
| <code>SetVolume(percent[,showvolumebar])</code>
| Sets the volume to the percentage specified. Optionally, show the Volume Dialog in Kodi when setting the volume.
|
|
|-
|-
| <code>Reset</code>
| <code>ToggleDebug</code>
| Reset the system (same as reboot)
| Enables/disables debug mode
| {{nowrap|v12 Addition}}
|-
| <code>ToggleDPMS</code>
| Toggle DPMS (VESA Display Power Management Signaling) mode manually
|
|
|-
|-
| <code>Mastermode</code>
| <code>WakeOnLan(mac)</code>
| Runs Kodi in master mode
| 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).
|
|
|- {{gotham row}}
|-
| <code>SetGUILanguage</code>
|}
| Set GUI Language
 
=== CEC built-in's ===
 
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>CECActivateSource</code>
| Wake up playing device via a CEC peripheral
| {{nowrap|v13 Addition}}
|-
| <code>CECStandby</code>
| Put playing device on standby via a CEC peripheral
| {{nowrap|v13 Addition}}
|-
| <code>CECToggleState</code>
| Toggle state of playing device via a CEC peripheral
| {{nowrap|v13 Addition}}
| {{nowrap|v13 Addition}}
|-
|}
=== EPG built-in's ===
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>PVR.EpgGridControl(command)</code>
| supported commands: firstprogramme  (jump to the first programme) / currentprogramme  (jump to the current programme) / lastprogramme  (jump to the last programme) / selectdate  (jump to the selected date & time) / +XX  (jump XX hours forward) / -XX  (jump XX hours back) / firstchannel  (jump to the first channel) / playingchannel  (jump to the currently playing channel) / lastchannel  (jump to the last channel) / previousgroup  (switch the epg to the previous group) / nextgroup  (switch the epg to the next group) / selectgroup  (select a group)
| {{nowrap|v19 Addition}}
|}
=== GUI built-in's ===
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>Action(action[,window])</code>
| 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's id, or in the case of a standard window, the window's name. See [[Action IDs]] for a list of available actions.
|
|-
|-
| <code>ActivateWindow(window[,dir,return])</code>
| <code>ActivateWindow(window[,dir,return])</code>
| Opens the given window. The parameter window can either be the window's id, or in the case of a standard window, the window'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 "root" of the level, and thus the "parent directory" action from within this folder will return the user to where they were prior to the window activating.
| Opens the given window. The parameter window can either be the window's id, or in the case of a standard window, the window's name. See [[Window IDs]] for a list of window names, and their respective ids. If, furthermore, the window is Music, Video, Pictures, or Program files, then the optional dir parameter specifies which folder Kodi should default to once the window is opened. This must be a source as specified in sources.xml, or a subfolder of a valid source. For some windows (MusicLibrary and VideoLibrary), the return parameter may be specified, which indicates that Kodi should use this folder as the "root" of the level, and thus the "parent directory" action from within this folder will return the user to where they were prior to the window activating.  
|
|
|- {{frodo row}}
|-
| <code>ActivateWindowAndFocus(id1, id2,item1, id3,item2)</code>
| <code>ActivateWindowAndFocus(id1, id2,item1, id3,item2)</code>
| 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).
| 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).
| {{nowrap|v12 Addition}}
| {{nowrap|v12 Addition}}
|-
| <code>AlarmClock(name,command,[time,silent,loop])</code>
| Pops up a dialog asking for the length of time (mm:ss) for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it'll execute the built-in command (the parameter command) if it is specified, otherwise it'll pop up an alarm notice. Add silent to hide the alarm notification. Add loop for the alarm to execute the command each time the specified time interval expires. If defining the last optional parameters (silent and loop) both have to be defined for any to take effect. The parameter "time" accepts an integer value (in minutes) or a timestring in the format "hh:mm:ss" or "mm min".
|
|-
| <code>CancelAlarm(name[,silent])</code>
| Cancel a running alarm. Set silent to true to hide the alarm notification.
|
|-
| <code>ClearProperty(key[,id])</code>
| Clears a window property for the current focused window/dialog(key), or the specified window (key,id).
|
|-
| <code>Dialog.Close(dialog[,force])</code>
| Close a dialog. Set force to true to bypass animations. Use (all,true) to close all opened dialogs at once.
|
|-
| <code>NextChannelGroup</code>
| Navigate to the next PVR channel group (in DialogPVRChannelsOSD.xml)
| {{nowrap|v13 Addition}}
|-
| <code>NextStereoMode</code>
| Changes the stereo mode of the GUI to the next available mode.
| {{nowrap|v13 Addition}}
|-
| <code>Notification(header,message[,time,image])</code>
| 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.
|
|-
| <code>PreviousChannelGroup</code>
| Navigate to the previous PVR channel group (in DialogPVRChannelsOSD.xml)
| {{nowrap|v13 Addition}}
|-
| <code>PreviousStereoMode</code>
| Changes the stereo mode of the GUI to the previous available mode.
| {{nowrap|v13 Addition}}
|-
| <code>RefreshRSS</code>
| Reload RSS feeds from RSSFeeds.xml
|
|-
|-
| <code>ReplaceWindow(window,dir)</code>
| <code>ReplaceWindow(window,dir)</code>
| Replaces the current window with the given window. This is the same as ActivateWindow() but it doesn'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's previous window.
| Replaces the current window with the given window. This is the same as ActivateWindow() but it doesn'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's previous window.  
|
|
|- {{gotham row}}
|-
| <code>ReplaceWindowAndFocus(id1, id2,item1, id3,item2)</code>
| <code>ReplaceWindowAndFocus(id1, id2,item1, id3,item2)</code>
| 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).
| 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).
| {{nowrap|v13 Addition}}
|-
| <code>Resolution</code>
| Change Kodi's Resolution.
|
|-
| <code>SetGUILanguage(value)</code>
| Set GUI Language, 'value' is the language file to use. SetGUILanguage(resource.language.de_de)
| {{nowrap|v13 Addition}}
| {{nowrap|v13 Addition}}
|-
|-
| <code>TakeScreenshot</code>
| <code>SetProperty(key,value[,id])</code>
| Takes a Screenshot
| Sets a window property for the current window (key,value), or the specified window (key,value,id).
|
|
|-
|-
| <code>RunScript(script[,args]*)</code>
| <code>SetStereoMode</code>
| 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
| 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)
| {{nowrap|v13 Addition}}
|-
| <code>SettingsLevelChange</code>
| Toggles the visible settings (in SettingsCategory.xml) between 'basic', 'standard', 'advanced and 'expert'
| {{nowrap|v13 Addition}}
|-
| <code>TakeScreenshot([filenameandpath,sync])</code>
| Takes a Screenshot. You can optionally specify the filename (including the path). Note: only .png files are supported. Add "sync" parameter to run synchronously (slow).
|
|
|- {{frodo row}}
| <code>StopScript(id)</code>
| Stop the script by ID or path, if running
| {{nowrap|v12 Addition}}
|-
|-
| <code>RunAppleScript(script[,args]*)</code>
| <code>ToggleDirtyRegionVisualization</code>
| Run the specified AppleScript command
| makes dirty regions visible for debugging proposes.
| {{nowrap|v16 Addition}}
|-
| <code>ToggleStereoMode</code>
| Toggle the stereoscopic mode of the GUI (on/off).
| {{nowrap|v13 Addition}}
|-
|}
 
=== GUI container built-in's ===
 
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>Container.NextSortMethod</code>
| Change to the next sort method.
|
|
|-
|-
| <code>RunPlugin(plugin)</code>
| <code>Container.NextViewMode</code>
| Runs the plugin. Full path must be specified. Does not work for folder plugins
| Select the next view mode.  
|
|
|-
|-
| <code>RunAddon(id)</code>
| <code>Container.PreviousSortMethod</code>
| Runs the specified plugin/script
| Change to the previous sort method.
|
|
|- {{gotham row}}
| <code>NotifyAll</code>
| Notify all connected clients
| {{nowrap|v13 Addition}}
|-
|-
| <code>Extract</code>
| <code>Container.PreviousViewMode</code>
| Extracts a specified archive to an optionally specified 'absolute' path.  
| Select the previous view mode.  
|
|
|-
|-
| <code>PlayMedia(media[,isdir][,1],[playoffset=xx])</code>
| <code>Container.Refresh</code>
| Plays the media. This can be a playlist, music, or video file, directory, plugin or an Url. The optional parameter ",isdir" can be used for playing a directory. ",1" 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.
| Refresh current listing.  
|
|
|- {{isengard row}}
| <code>Seek(seconds)</code>
| Seeks to the specified relative amount of seconds within the current playing media. A negative value will seek backward and a positive value forward.
| {{nowrap|v15 Addition}}
|- {{gotham row}}
| <code>ShowPicture(picture)</code>
| Show a picture by its file path/url.
| {{nowrap|v13 Addition}}
|-
|-
| <code>SlideShow(dir [,recursive, [not]random])</code>
| <code>Container.SetSortDirection</code>
| Starts a slideshow of pictures in the folder dir.  Optional parameters are "recursive", and "random" or "notrandom" parameters.  The "recursive" parameter starts a recursive slideshow, adding images from sub-folders.  The "random" and "notrandom" parameters override the Randomize setting found in the pictures media window.
| Toggle the sort direction.  
|
|
|-
|-
| <code>RecursiveSlideShow(dir)</code>
| <code>Container.SetSortMethod(id)</code>
| Run a slideshow from the specified directory, including all subdirs
| Change to the specified sort method. (For list of ID's see [[https://kodi.wiki/view/List_of_built-in_functions#List_of_sort_methods list of sort methods]])
|
|
|-
|-
| <code>ReloadSkin()</code>
| <code>Container.SetViewMode(id)</code>
| Reloads the current skin – useful for Skinners to use after they upload modified skin files (saves power cycling)
| Set the current view mode (list, icons etc.) to the given container id.
|
|
|-
|-
| <code>UnloadSkin()</code>
| <code>Container.SortDirection</code>
| Unloads the current skin
| Toggle the sort direction
|
|
|-
|-
| <code>RefreshRSS</code>
| Reload RSS feeds from RSSFeeds.xml
 
 
| <code>Container.Update</code>
| Update current listing. Send Container.Update(path,replace) to reset the path history.  
|
|
|}
=== GUI control built-in's ===
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
|-
| <code>PlayerControl(command)</code>
| <code>Control.Message(id,message,[windowid])</code>
| 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.
| Sends a given message to a control in a given window (or active window if omitted). Messages can be movedown, moveup, pagedown, pageup, click.  
|
|
|-
|-
| <code>Playlist.PlayOffset</code>
| <code>Control.Move(id,offset)</code>
| Start playing from a particular offset in the playlist
| Will make a Container with the "id" specified in the command move focus by "offset".
|
|
|-
|-
| <code>Playlist.Clear</code>
| <code>Control.SetFocus(id,position[,absolute])</code>
| Clear the current playlist
| Will make a list with the "id" specified in the command gain focus at "position" number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias SetFocus(id,position)
|
|
|-
|-
| <code>EjectTray()</code>
| <code>Control.SetVisible(controlId)</code>
| Either opens or closes the DVD tray, depending on its current state
| Set the control id to visible
'''Parameters'''
:[in] controlId ID of control.
'''Parameters'''
:[in] controlId ID of control.
'''Parameters'''
:[in] controlId ID of control.
|
|
|-
|-
| <code>AlarmClock(name,command,time[,silent,loop])</code>
| <code>PageDown</code>
| 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'll execute the <span class="nobr">built-in</span> command (the parameter command) if it is specified, otherwise it'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.
| Send a page down event to the pagecontrol with given id.  
|
|
|-
|-
| <code>CancelAlarm(name[,silent])</code>
| <code>PageUp</code>
| Cancel a running alarm. Set silent to true to hide the alarm notification.  
| Send a page up event to the pagecontrol with given id.  
|
|
|-
|-
| <code>Action(action)</code>
| <code>SendClick(windowid,id)</code>
| Executes an action for the active window (same as in keymap)
| Sends a click to a control in a given window (or active window if omitted).
|
|
|-
|-
| <code>Notification(header,message[,time,image])</code>
| <code>SetFocus(id,position[,absolute])</code>
| 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.
| Will make a list with the "id" specified in the command gain focus at "position" number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias Control.SetFocus(id,position)
|
|
|}
=== Library built-in's ===
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
|-
| <code>PlayDVD</code>
| <code>CleanLibrary(database)</code>
| Will play the inserted CD or DVD media from the <span class="nobr">DVD-ROM</span> drive.
| This funtion will perform a number of 'cleanup' tasks on your video database and can be run if you have moved, deleted or renamed files. Takes either "video" or "music" as a parameter to begin cleaning the corresponding database.  
|
|
|-
|-
| <code>RipCD</code>
| <code>ExportLibrary(music,false,filepath)</code>
| Will rip the inserted CD from the <span class="nobr">DVD-ROM</span> drive.
| The music library will be exported to a single file stored at filepath location.  
|
|
|-
|-
| <code>Skin.ToggleSetting(setting)</code>
| <code>ExportLibrary(video,true,thumbs,overwrite,actorthumbs)</code>
| Toggles the skin setting ?setting? for use with [[Conditional Visibility|conditional visibility tags]] containing Skin.HasSetting(setting).
| The video library is exported to multiple files with the given options. Here thumbs, overwrite and actorthumbs are boolean values (true or false).  
|
|
|-
|-
| <code>Skin.SetString(string[,value])</code>
| <code>ExportLibrary2(library, exportFiletype, path [, unscraped][, overwrite][, artwork][, skipnfo] / [, albums][, albumartists][, songartists][, otherartists][, actorthumbs])</code>
| 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.
| Export the video/music library with extended parameters
'''Parameters'''
:[in] library "video" or "music".
:[in] exportFiletype "singlefile", "separate" or "library".
:[in] path Path to destination folder.
:[in] unscraped Add "unscraped" to include unscraped items.
:[in] overwrite Add "overwrite" to overwrite existing files.
:[in] artwork Add "artwork" to include images such as thumbs and fanart.
:[in] skipnfo Add "skipnfo" to not include nfo files(just art).
:[in] albums Add "ablums" to include albums.
:[in] albumartists Add "albumartists" to include album artists.
:[in] songartists Add "songartists" to include song artists.
:[in] otherartists Add "otherartists" to include other artists.
:[in] actorthumbs Add "actorthumbs" to include other actor thumbs.
|
|
|-
|-
| <code>Skin.SetNumeric(numeric[,value])</code>
| <code>MusicLibrary.RefreshAlbum([albumId\])</code>
| Pops up a keyboard dialog and allows the user to input a numerical.
| Rescrapes additional information for a given album
'''Parameters'''
:[in] albumId Album Id.
|
|
|-
|-
| <code>Skin.SetPath(string[,value])</code>
| <code>MusicLibrary.RefreshArtist([artistId\])</code>
| 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.
Rescrapes additional information for a given artist
'''Parameters'''
:[in] artistId Artist Id.
|
|
|-
|-
| <code>Skin.Theme</code>
| <code>UpdateLibrary(database,[path])</code>
| Cycles the skin theme. Skin.theme(-1) will go backwards.
| Takes either "video" or "music" as a parameter to begin updating the corresponding database. For "video" you can additionally specify a specific path to be scanned.  
|
|
|-
|-
| <code>Skin.SetImage(string[,value,path])</code>
| <code>VideoLibrary.Search</code>
| 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.
| Brings up a search dialog which will search the library
|
|
|}
=== Optical container built-in's ===
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
|-
| <code>Skin.SetLargeImage(string[,value])</code>
| <code>EjectTray()</code>
| 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.
| Either opens or closes the DVD tray, depending on its current state
|
|
|-
|-
| <code>Skin.SetFile(string,mask,folderpath)</code>
| <code>RipCD</code>
| 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 "|" minus quotes. If the folderpath parameter is set the file browser will start in that folder.
| Will rip the inserted CD from the DVD-ROM drive.  
|
|
|-
|-
| <code>Skin.SetAddon(string,type)</code>
|}
| Pops up a select dialog and allows the user to select an add-on of the given type to be used elsewhere in the skin via the info tag Skin.String(string). The most common types are ''xbmc.addon.video'', ''xbmc.addon.audio'', ''xbmc.addon.image'' and ''xbmc.addon.executable''.
 
=== Picture built-in's ===
 
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>RecursiveSlideShow(dir)</code>
| Run a slideshow from the specified directory, including all subdirs
|
|
|-
|-
| <code>Skin.SetBool(setting)</code>
| <code>ShowPicture(picture)</code>
| Sets the skin setting ?setting? to true, for use with the [[Conditional Visibility|conditional visibility tags]] containing Skin.HasSetting(setting). The settings are saved <span class="nobr">per-skin</span> in settings.xml just like all the other Kodi settings.
| Show a picture by its file path/url.
| {{nowrap|v13 Addition}}
|-
| <code>SlideShow(dir[,recursive][,[not]random][,pause][,beginslide="/path/to/start/slide.jpg"])</code>
| Starts a slideshow of pictures in the folder dir. Optional parameters are 'recursive', 'random' or 'notrandom', 'pause' and 'beginslide="/path/to/some/image.jpg"' parameters. The "recursive" parameter starts a recursive slideshow, adding images from sub-folders. The "random" and "notrandom" parameters override the Randomize setting found in the pictures media window. The "pause" parameter will start the slideshow paused. "beginslide" will start the slideshow with the specified image.
|
|
|-
|-
| <code>Skin.Reset(setting)</code>
|}
| 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.
 
=== Player built-in's ===
 
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>PlayDisc(param)</code>
| Will play the inserted CD or DVD media from the DVD-ROM drive.  
|
|
|-
|-
| <code>Skin.ResetSettings</code>
| <code>PlayDVD(param)</code>
| Resets all the above skin settings to their defaults (toggles all set to false, strings all set to empty.)
| (deprecated) Plays the inserted disc, like CD, DVD or Blu-ray, in the disc drive.
'''Parameters'''
:[in] param "restart" to restart from resume point (optional)
|
|
|-
|-
| <code>Mute</code>
| <code>PlayerControl(command)</code>
| Mutes (or unmutes) the volume.
| Allows control of music and videos. The command may be one of Play, Stop, Forward, Rewind, Next, Previous, BigSkipForward, BigSkipBackward, SmallSkipForward, SmallSkipBackward, FrameAdvance(#), TempoUp, TempoDown, Tempo(value), Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file) or Reset.
Play will either pause, resume, or stop ffwding or rewinding. Random toggles random playback and Repeat cycles through the repeat modes (these both take an optional second parameter, Notify, that notifies the user of the new state). Partymode(music/video) toggles the appropriate partymode, defaults to music if no parameter is given, besides the default music or video partymode you can also pass a path to a custom smartplaylist (.xsp) as parameter. Reset only applies to games and will reset the currently playing game.
|
|
|-
|-
| <code>SetVolume(percent[,showvolumebar])</code>
| <code>PlayerResolutionSelect</code>
| Sets the volume to the percentage specified. Optionally, show the Volume Dialog in Kodi when setting the volume.
| Select a different resolution
| v18
|-
| <code>Playlist.Clear</code>
| Clear the current playlist
|
|
|-
|-
| <code>Dialog.Close(dialog[,force])</code>
| <code>Playlist.PlayOffset</code>
| Close a dialog. Set force to true to bypass animations. Use (all,true) to close all opened dialogs at once.
| Start playing from a particular offset in the playlist
|
|
|-
|-
| <code>System.LogOff</code>
| <code>PlayMedia(mediaPath[,isdir][,1][,playoffset=xx][,resume][,noresume][,playlist_type_hint=x])</code>
| Log off current user.
| Plays the media. This can be a playlist, music, or video file, directory, plugin or a url. The optional parameter ",isdir" can be used for playing a directory. ",1" will start the media without switching to fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from. Set "resume" to force resuming. Set "noresume" to force not resuming.
 
{{note|Following parameters are available from Kodi v20.}}
If media is a playlist (e.g. STRM), you can set the type of playlist with "playlist_type_hint=x" where x can be 0 for music playlist or 1 for video playlist, if not set will be used music playlist.
|
|
|-
|-
| <code>System.Exec</code>
| <code>PlaysDisc(parm)</code>
| Execute shell commands.
| &nbsp;
|
|
|-
|-
| <code>System.ExecWait</code>
| <code>PlayWith()</code>
| Execute shell commands and freezes Kodi until shell is closed.
| Play the selected item with the specified player core.  
|
|
|-
|-
| <code>Resolution</code>
| <code>QueueMedia(media[,isdir][,1][,playnext],[playoffset=xx])</code>
| Change Kodi's Resolution.
| Queues the given media. This can be a playlist, music, or video file, directory, plugin, disc image stack, video file stack or an URL. The optional parameter <code>,isdir</code> can be used for playing a directory. <code>,1</code> will start the media without switching to fullscreen. If media is a playlist or a disc image stack or a video file stack, you can use playoffset=xx where xx is the position to start playback from. where xx is the position to start playback from.
'''Parameters'''
:[in] media URL of media to queue.
:[in] isdir Set <code>isdir</code> if media is a directory (optional).
:[in] 1 Set <code>1</code> to start playback without switching to fullscreen (optional).
:[in] resume Set <code>resume</code> to force resuming (optional).
:[in] noresume Set <code>noresume</code> to force not resuming (optional).
:[in] playoffset Set <code>playoffset=<offset></code> to start playback from a given position in a playlist or stack (optional).
:[in] playnext Set <code>playnext</code> to play the media right after the currently playing item, if player is currently playing. If player is not playing, append media to current playlist (optional).
|
|
|-
|-
| <code>SetFocus(id,position)</code>
| <code>Seek(seconds)</code>
| Will make a list with the "id" specified in the command gain focus at "position" number in its list. Alias SetFocus(id,position)
| Seeks to the specified relative amount of seconds within the current playing media. A negative value will seek backward and a positive value forward.
| {{nowrap|v15 Addition}}
|-
| <code>QueueMedia()</code> <ref>https://github.com/xbmc/xbmc/pull/22048</ref>
| Queues the given media. This can be a playlist\, music\, or video file\, directory\, plugin or an Url. The optional parameter "\,isdir" can be used for playing a directory. "\,1" will start the media without switching to fullscreen. If media is a playlist\, you can use playoffset=xx where xx is the position to start playback from.
* @param[in] media                URL of media to queue.
* @param[in] isdir                Set "isdir" if media is a directory (optional).
* @param[in] 1                    Set "1" to start playback without switching to fullscreen (optional).
* @param[in] resume                Set "resume" to force resuming (optional).
* @param[in] noresume              Set "noresume" to force not resuming (optional).
* @param[in] playeroffset          Set "playoffset=<offset>" to start playback from a given position in a playlist (optional).
* @param[in] playnext              Set "playnext" to play the media right after the currently playing item, if player is currently playing. If player is not playing, append media to current playlist (optional).
|
|
|}
=== Profile built-in's ===
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
|-
| <code>UpdateLibrary(database,[path])</code>
| <code>LoadProfile(profilename,[prompt])</code>
| Takes either "video" or "music" as a parameter to begin updating the corresponding database. For "video" you can additionally specify a specific path to be scanned.
| 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' is specified and a password is required, a password dialog will be shown.  
|
|
|-
|-
| <code>CleanLibrary(database)</code>
| <code>Mastermode</code>
| This funtion will perform a number of 'cleanup' tasks on your video database and can be run if you have moved, deleted or renamed files. Takes either "video" or "music" as a parameter to begin cleaning the corresponding database.
| Runs Kodi in master mode
|
|
|-
|-
| <code>exportlibrary(music,false,filepath)</code>
| <code>System.LogOff</code>
| The music library will be exported to a single file stored at filepath location.
| Log off current user.  
|
|
|-
|-
| <code>exportlibrary(video,true,thumbs,overwrite,actorthumbs)</code>
|}
| The video library is exported to multiple files with the given options. Here thumbs, overwrite and actorthumbs are boolean values (true or false).
 
=== PVR built-in's ===
 
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>PVR.SearchMissingChannelIcons</code>
| Will start a search for missing channel icons
| {{nowrap|v16 Addition}}
|-
| <code>PVR.SeekPercentage</code>
| Performs a seek to the given percentage in timeshift buffer, if timeshifting is supported
|
|
|-
|-
| <code>PageDown</code>
| <code>PVR.ToggleRecordPlayingChannel</code>
| Send a page down event to the pagecontrol with given id.
| Will toggle recording on playing channel, if any
| v18
 
|}
 
=== Skin built-in's ===
 
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
|  <code>LoadSkin(skinId)</code>
|  Loads the skin passed as a parameter
'''Parameters'''
:[in] skinId Addon skin id of the skin.
|
|
|-
|-
| <code>PageUp</code>
| <code>ReloadSkin()</code>
| Send a page up event to the pagecontrol with given id.
| Reloads the current skin – useful for Skinners to use after they upload modified skin files (saves power cycling)
|
|
|-
|-
| <code>Container.Refresh</code>
| <code>Skin.Reset(setting)</code>
| Refresh current listing.
| Resets the skin setting <code>(setting)</code>. If <code>(setting)</code> is a bool setting (i.e. set via SetBool or ToggleSetting) then the setting is reset to false. If <code>(setting)</code> is a string (Set via SetString, SetImage, or SetPath) then it is set to empty.  
|
|
|-
|-
| <code>Container.Update</code>
| <code>Skin.ResetSettings</code>
| Update current listing. Send Container.Update(path,replace) to reset the path history.
| Resets all the above skin settings to their defaults (toggles all set to false, strings all set to empty.)
|
|
|-
|-
| <code>Container.NextViewMode</code>
| <code>Skin.SelectBool(header, label1&#124;setting1, label2&#124;setting2)</code>
| Select the next view mode.
| Pops up select dialog to select between multiple skin setting options. Skin.SelectBool(424, 31411&#124;RecentWidget, 31412&#124;RandomWidget, 31413&#124;InProgressWidget)
|
|
|-
|-
| <code>Container.PreviousViewMode</code>
| <code>Skin.SetAddon(string,type)</code>
| Select the previous view mode.
| Pops up a select dialog and allows the user to select an add-on of the given type to be used elsewhere in the skin via the info tag Skin.String(string). The most common types are xbmc.addon.video, xbmc.addon.audio, xbmc.addon.image, xbmc.addon.executable and kodi.gameclient.  
|
|
|-
|-
| <code>Container.SetViewMode(id)</code>
| <code>Skin.SetBool(setting)</code>
| Set the current view mode (list, icons etc.) to the given container id.
| Sets the skin setting <code>(setting)</code> to true, for use with the conditional visibility tags containing Skin.HasSetting(setting). The settings are saved per-skin in settings.xml just like all the other Kodi settings.  
|
|
|-
|-
| <code>Container.NextSortMethod</code>
| <code>Skin.SetColor(string,header[,colorfile,selectedcolor])</code>
| Change to the next sort method.
| Pops up a color selection dialog and allows the user to select a color to be used to define the color of a label control or as a colordiffuse value for a texture elsewhere in the skin via the info tag <code>Skin.String(string)</code>. Skinners can optionally set the color that needs to be preselected in the dialog by specifying the hex value of this color. Also optionally, skinners can include their own color definition file. If not specified, the default colorfile included with Kodi will be used.
'''Parameters'''
:[in] string Name of skin setting.
:[in] string Dialog header text.
:[in] string Hex value of the color to preselect (optional), example: FF00FF00.
:[in] string Filepath of the color definition file (optional).
'''Parameters'''
:[in] numeric Name of skin setting.
:[in] value Value of skin setting (optional).
|
|
|-
|-
| <code>Container.PreviousSortMethod</code>
| <code>Skin.SetFile(string,mask,folderpath)</code>
| Change to the previous sort method.
| Pops up a folder browser and allows the user to select a file off the hard-disk to be used else where in the skin via the info tag Skin.String(string). If the mask parameter is specified, then the file browser will only search for the extension specified (.avi,.mp3,.m3u,.png,.bmp,etc.,etc.). To use multiple extensions separate them using "<nowiki>|</nowiki>" (minus quotes). If the folderpath parameter is set the file browser will start in that folder.  
|
|
|-
|-
| <code>Container.SetSortMethod(id)</code>
| <code>Skin.SetImage(string[,value,path])</code>
| Change to the specified sort method. (For list of ID's see '''List of sort methods''' below)
| Pops up a file browser and allows the user to select an image file to be used in an image control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the image path is set directly. the path option allows you to open the file browser in the specified folder.
|
|
|-
|-
| <code>Container.SortDirection</code>
| <code>Skin.SetNumeric(numeric[,value])</code>
| Toggle the sort direction.
| Pops up a keyboard dialog and allows the user to input a numerical.  
|
|
|-
|-
| <code>Control.Move(id,offset)</code>
| <code>Skin.SetPath(string[,folderpath])</code>
| Will make a Container with the "id" specified in the command move focus by "offset".
| Pops up a folder browser and allows the user to select a folder of images to be used in a multi image control else where in the skin via the info tag Skin.String(string). If the folderpath parameter is set the file browser will start in that folder.  
|
|
|-
|-
| <code>Control.SetFocus(id,position)</code>
| <code>Skin.SetString(string[,value])</code>
| Will make a list with the "id" specified in the command gain focus at "position" number in its list. Alias SetFocus(id,position)
| Pops up a keyboard dialog and allows the user to input a string which can be used in a label control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the keyboard dialog does not pop up, and the string is set directly.
|
|
|-
|-
| <code>Control.Message(id,message,[windowid])</code>
| <code>Skin.Theme(1)</code>
| Sends a given message to a control in a given window (or active window if omitted). Messages can be movedown, moveup, pagedown, pageup, click.
| Cycles the skin theme. Skin.Theme(-1) will go backwards.  
|
|
|-
|-
| <code>SendClick(windowid,id)</code>
| <code>Skin.TimerStart(timer)</code>
| Sends a click to a control in a given window (or active window if omitted).
| Starts the timer with name <code>timer</code>
'''Parameters'''
:[in] timer The name of the timer
'''Parameters'''
:[in] timer The name of the timer
|
|
|-
|-
| <code>LoadProfile(profilename,[prompt])</code>
| <code>Skin.ToggleDebug</code>
| 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' is specified and a password is required, a password dialog will be shown.
| Toggles skin debug info on/off
|
|
|-
|-
| <code>SetProperty(key,value[,id])</code>
| <code>Skin.ToggleSetting(setting)</code>
| Sets a window property for the current window (key,value), or the specified window (key,value,id).
| Toggles the skin setting <code>(setting)</code> for use with conditional visibility tags containing Skin.HasSetting(setting).  
|
|
|-
|-
| <code>ClearProperty(key[,id])</code>
| <code>UnloadSkin()</code>
| Clears a window property for the current focused window/dialog(key), or the specified window (key,id).
| Unloads the current skin
|
|
|}
=== System built-in's ===
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
| <code>ActivateScreensaver</code>
| Starts the screensaver
| {{nowrap|v13 Addition}}
|-
|-
| <code>PlayWith()</code>
| <code>Hibernate</code>
| Play the selected item with the specified player core.
| Hibernate (S4) the System
|
|
|-
|-
| <code>WakeOnLan(''mac'')</code>
| <code>InhibitIdleShutdown(true/false)</code>
| 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).
| Prevent the system to shutdown on idle.
| {{nowrap|v12 Addition}}
|-
| <code>InhibitScreensaver(true/false)</code>
| Prevent activation of the screensaver.
| {{nowrap|v19 Addition}}
|-
| <code>Minimize</code>
| Minimizes Kodi
|
|
|-
|-
| <code>Addon.Default.OpenSettings</code>
| <code>Powerdown</code>
| Open a settings dialog for the default addon of the given type
| Powerdown system
|
|
|-
|-
| <code>Addon.Default.Set</code>
| <code>Quit</code>
| Open a select dialog to allow choosing the default addon of the given type
| Quits Kodi
|
|
|-
|-
| <code>Addon.OpenSettings(id)</code>
| <code>Reboot</code>
| Open a settings dialog for the addon of the given id
| Cold reboots the system (power cycle)
|
|
|-
|-
| <code>UpdateAddonRepos</code>
| <code>Reset</code>
| Triggers a forced update of enabled add-on repositories.
| Reset the system (same as reboot)
|
|
|-
|-
| <code>UpdateLocalAddons</code>
| <code>Restart</code>
| Triggers a scan of local add-on directories.
| Restart the system (same as reboot)
|
|
|-
|-
| <code>ToggleDPMS</code>
| <code>RestartApp</code>
| Toggle DPMS mode manually
| Restarts Kodi (only implemented under Windows and Linux)
|
|
|- {{gotham row}}
| <code>CECToggleState</code>
| Toggle state of playing device via a CEC peripheral
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>CECActivateSource</code>
| Wake up playing device via a CEC peripheral
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>CECStandby</code>
| Put playing device on standby via a CEC peripheral
| {{nowrap|v13 Addition}}
|-
|-
| <code>Weather.Refresh</code>
| <code>ShutDown</code>
| Force weather data refresh
| Trigger default Shutdown action defined in System Settings
|
|
|-
|-
| <code>Weather.LocationNext</code>
| <code>Suspend</code>
| Switch to next weather location
| Suspends (S3 / S1 depending on bios setting) the System
|
|
|-
|-
| <code>Weather.LocationPrevious</code>
| <code>System.Exec(exec)</code>
| Switch to previous weather location
| Execute shell commands. The full path to the script has to be placed inside the parentheses.
|
|
|-
|-
| <code>Weather.LocationSet</code>
| <code>System.ExecWait(exec)</code>
| Switch to given weather location (parameter can be 1-3)
| Execute shell commands and freezes Kodi until shell is closed. As well as for "System.Exec(exec)", the full path to the script has to be placed inside the parentheses.
|
|
|}
=== Weather built-in's ===
{| class="prettytable sort sortable" style="width: 100%;"
!  style="width: 29%"| Function
!  style="width: 66%"| Description
!  style="width: 5%"| Version
|-
|-
| <code>LIRC.Stop</code>
| <code>Weather.LocationNext</code>
| Removes Kodi as a LIRC client.
| Switch to next weather location
|
|
|-
|-
| <code>LIRC.Start</code>
| <code>Weather.LocationPrevious</code>
| Adds Kodi as a LIRC client.
| Switch to previous weather location
|
|
|-
|-
| <code>LIRC.Send(command)</code>
| <code>Weather.LocationSet</code>
| Sends a command to LIRC, syntax is the lirc protocol without the newline.<br />Example: LIRC.Send(SEND_ONCE Onkyo_RC-453S2 volup)
| Switch to given weather location (parameter can be 1-3)  
|
|
|-
|-
| <code>VideoLibrary.Search</code>
| <code>Weather.Refresh</code>
| Brings up a search dialog which will search the library
| Force weather data refresh
|
|
|- {{frodo row}}
| <code>ToggleDebug</code>
| Enables/disables debug mode
| {{nowrap|v12 Addition}}
|- {{frodo row}}
| <code>StartPVRManager</code>
| (Re)Starts the PVR manager
| {{nowrap|v12 Addition}}
|- {{frodo row}}
| <code>StopPVRManager</code>
| Stops the PVR manager
| {{nowrap|v12 Addition}}
|- {{gotham row}}
| <code>{{nowrap|StartAndroidActivity(package,[intent,dataType,dataURI])}}</code>
| Launch an Android native app with the given package name.  Optional parms (in order): intent, dataType, dataURI.
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>PreviousChannelGroup</code>
| Navigate to the previous PVR channel group (in DialogPVRChannelsOSD.xml)
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>NextChannelGroup</code>
| Navigate to the next PVR channel group (in DialogPVRChannelsOSD.xml)
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>settingslevelchange</code>
| Toggles the visible settings (in SettingsCategory.xml) between 'basic', 'standard', 'advanced and 'expert'
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>SetStereoMode</code>
| 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)
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>NextStereoMode</code>
| Changes the stereo mode of the GUI to the next available mode.
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>PreviousStereoMode</code>
| Changes the stereo mode of the GUI to the previous available mode.
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>ToggleStereoMode</code>
| Toggle the stereoscopic mode of the GUI (on/off).
| {{nowrap|v13 Addition}}
|- {{gotham row}}
| <code>StereoModeToMono</code>
| Toggle the stereoscopic mode to 2D.
| {{nowrap|v13 Addition}}
|}
|}
<section end="functions" />


<section end="main content" />
<section end="main content" />


== Removed functions ==
== Removed functions ==
Line 503: Line 777:
* <code>LCD.Suspend</code> - Removed in v13 Gotham
* <code>LCD.Suspend</code> - Removed in v13 Gotham
* <code>LCD.Resume</code> - Removed in v13 Gotham
* <code>LCD.Resume</code> - Removed in v13 Gotham
* <code>AllowIdleShutdown</code>
* <code>Help</code>
* <code>LIRC.Send(command)</code>
* <code>LIRC.Start</code>
* <code>LIRC.Stop</code>
* <code>StartPVRManager</code>
* <code>StereoModeToMono</code>
* <code>StopPVRManager</code>


== List of sort methods ==
== List of sort methods ==
These ID's can be used with the Container.SetSortMethod(id) function.
The underlying mapping is defined in the Kodi C++ source file https://github.com/xbmc/xbmc/blob/master/xbmc/utils/SortUtils.h#L55-L180.


{| class="prettytable"
{| class="prettytable"
Line 541: Line 828:
|-
|-
| <code>11</code>
| <code>11</code>
| ArtistThenYear
|-
| <code>12</code>
| Album
| Album
|-
|-
| <code>12</code>
| <code>13</code>
| AlbumType
| AlbumType
|-
|-
| <code>13</code>
| <code>14</code>
| Genre
| Genre
|-
|-
| <code>14</code>
| <code>15</code>
| Country
| Country
|-
|-
| <code>15</code>
| <code>16</code>
| Year
| Year
|-
|-
| <code>16</code>
| <code>17</code>
| Rating
| Rating
|-
|-
| <code>17</code>
| <code>18</code>
| UserRating
|-
| <code>19</code>
| Votes
| Votes
|-
|-
| <code>18</code>
| <code>20</code>
| Top250
| Top250
|-
|-
| <code>19</code>
| <code>21</code>
| ProgramCount
| ProgramCount
|-
|-
| <code>20</code>
| <code>22</code>
| PlaylistOrder
| PlaylistOrder
|-
|-
| <code>21</code>
| <code>23</code>
| EpisodeNumber
| EpisodeNumber
|-
|-
| <code>22</code>
| <code>24</code>
| Season
| Season
|-
|-
| <code>23</code>
| <code>25</code>
| NumberOfEpisodes
| NumberOfEpisodes
|-
|-
| <code>24</code>
| <code>26</code>
| NumberOfWatchedEpisodes
| NumberOfWatchedEpisodes
|-
|-
| <code>25</code>
| <code>27</code>
| TvShowStatus
| TvShowStatus
|-
|-
| <code>26</code>
| <code>28</code>
| TvShowTitle
| TvShowTitle
|-
|-
| <code>27</code>
| <code>29</code>
| SortTitle
| SortTitle
|-
|-
| <code>28</code>
| <code>30</code>
| ProductionCode
| ProductionCode
|-
|-
| <code>29</code>
| <code>31</code>
| MPAA
| MPAA
|-
|-
| <code>30</code>
| <code>32</code>
| VideoResolution
| VideoResolution
|-
|-
| <code>31</code>
| <code>33</code>
| VideoCodec
| VideoCodec
|-
|-
| <code>32</code>
| <code>34</code>
| VideoAspectRatio
| VideoAspectRatio
|-
|-
| <code>33</code>
| <code>35</code>
| AudioChannels
| AudioChannels
|-
|-
| <code>34</code>
| <code>36</code>
| AudioCodec
| AudioCodec
|-
|-
| <code>35</code>
| <code>37</code>
| AudioLanguage
| AudioLanguage
|-
|-
| <code>36</code>
| <code>38</code>
| SubtitleLanguage
| SubtitleLanguage
|-
|-
| <code>37</code>
| <code>39</code>
| Studio
| Studio
|-
|-
| <code>38</code>
| <code>40</code>
| DateAdded
| DateAdded
|-
|-
| <code>39</code>
| <code>41</code>
| LastPlayed
| LastPlayed
|-
|-
| <code>40</code>
| <code>42</code>
| Playcount
| Playcount
|-
|-
| <code>41</code>
| <code>43</code>
| Listeners
| Listeners
|-
|-
| <code>42</code>
| <code>44</code>
| Bitrate
| Bitrate
|-
|-
| <code>43</code>
| <code>45</code>
| Random
| Random
|-
|-
| <code>44</code>
| <code>46</code>
| Channel
| Channel
|-
|-
| <code>45</code>
| <code>47</code>
| ChannelNumber
| ChannelNumber
|-
|-
| <code>46</code>
| <code>48</code>
| DateTaken
| DateTaken
|-
| <code>49</code>
| Relevance
|-
| <code>50</code>
| InstallDate
|-
| <code>51</code>
| LastUpdated
|-
| <code>52</code>
| LastUsed
|-
| <code>53</code>
| ClientChannelOrder
|-
| <code>54</code>
| TotalDiscs
|-
| <code>55</code>
| OriginalDate
|-
| <code>56</code>
| BPM
|-
| <code>57</code>
| OriginalTitle
|-
| <code>58</code>
| Provider
|-
| <code>59</code>
| UserPreference
|}
|}
== See also ==
* [[Action IDs]]
== References ==
<references />
{{updated|20}}


[[Category:Python]]
[[Category:Python]]
[[Category:Add-on development]]
[[Category:Add-on development]]
[[Category:Skin development]]
[[Category:Skin development]]

Latest revision as of 14:57, 22 June 2026

  ▶ Python development
▶ Add-on development
▶ Skinning
▶ Built-in scripting ▶ List of built-in functions


Skins can use built-in functions with the <onclick> or <onfocus> tag. Scripts can call built-in functions with xbmc.executebuiltin(function, block).

The latest up-to-date list of built-in functions can be found in the source code files in [1].

In addition to the following list, for most <onclick> and <onfocus> button actions in the skin you can also use the functions from Keyboard.xml.

Example:
<onclick>VolumeUp</onclick>
<onclick>VolumeDown</onclick>

You can use parameters with all media windows, as can be seen here:


List of functions


Add-on built-in's

Function Description Version
Addon.Default.OpenSettings(extensionpoint) Open a settings dialog for the default addon of the given type (extensionpoint)
Addon.Default.Set(extensionpoint) Open a select dialog to allow choosing the default addon of the given type (extensionpoint)
Addon.OpenSettings(id) Open a settings dialog for the addon of the given id
EnableAddon(id) Enables the specified plugin/script v19 addition
InstallAddon(id) Will install the addon with the given id.
InstallFromZip Opens the "Install from zip"-dialog if "Unknown sources" is enabled. Prompts the warning message if not.
RunAddon(id) Runs the specified plugin/script
RunAppleScript(script[,args]*) Run the specified AppleScript command
RunPlugin(plugin) Runs the plugin. Full path must be specified. Does not work for folder plugins
RunScript(script[,args]*) Runs the python script. You must specify the add-on id of the script. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv
StopScript(id) Stop the script by ID or path, if running v12 Addition
UpdateAddonRepos Triggers a forced update of enabled add-on repositories.
UpdateLocalAddons Triggers a scan of local add-on directories.

Android built-in's

Function Description Version
StartAndroidActivity(package,[intent,dataType,dataURI]) Launch an Android native app with the given package name. Optional parms (in order): intent, dataType, dataURI. example: StartAndroidActivity(com.android.chrome,android.intent.action.VIEW,,http://kodi.tv/) v13 Addition

Application built-in's

Function Description Version
Extract(archive_url[, destination]) Extracts a specified archive to an optionally specified 'absolute' path.
Mute Mutes (or unmutes) the volume.
NotifyAll(sender, data [, json]) Notify all connected clients v13 Addition
SetVolume(percent[,showvolumebar]) Sets the volume to the percentage specified. Optionally, show the Volume Dialog in Kodi when setting the volume.
ToggleDebug Enables/disables debug mode v12 Addition
ToggleDPMS Toggle DPMS (VESA Display Power Management Signaling) mode manually
WakeOnLan(mac) 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).

CEC built-in's

Function Description Version
CECActivateSource Wake up playing device via a CEC peripheral v13 Addition
CECStandby Put playing device on standby via a CEC peripheral v13 Addition
CECToggleState Toggle state of playing device via a CEC peripheral v13 Addition

EPG built-in's

Function Description Version
PVR.EpgGridControl(command) supported commands: firstprogramme (jump to the first programme) / currentprogramme (jump to the current programme) / lastprogramme (jump to the last programme) / selectdate (jump to the selected date & time) / +XX (jump XX hours forward) / -XX (jump XX hours back) / firstchannel (jump to the first channel) / playingchannel (jump to the currently playing channel) / lastchannel (jump to the last channel) / previousgroup (switch the epg to the previous group) / nextgroup (switch the epg to the next group) / selectgroup (select a group) v19 Addition

GUI built-in's

Function Description Version
Action(action[,window]) 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's id, or in the case of a standard window, the window's name. See Action IDs for a list of available actions.
ActivateWindow(window[,dir,return]) Opens the given window. The parameter window can either be the window's id, or in the case of a standard window, the window's name. See Window IDs for a list of window names, and their respective ids. If, furthermore, the window is Music, Video, Pictures, or Program files, then the optional dir parameter specifies which folder Kodi should default to once the window is opened. This must be a source as specified in sources.xml, or a subfolder of a valid source. For some windows (MusicLibrary and VideoLibrary), the return parameter may be specified, which indicates that Kodi should use this folder as the "root" of the level, and thus the "parent directory" action from within this folder will return the user to where they were prior to the window activating.
ActivateWindowAndFocus(id1, id2,item1, id3,item2) 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). v12 Addition
AlarmClock(name,command,[time,silent,loop]) Pops up a dialog asking for the length of time (mm:ss) for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it'll execute the built-in command (the parameter command) if it is specified, otherwise it'll pop up an alarm notice. Add silent to hide the alarm notification. Add loop for the alarm to execute the command each time the specified time interval expires. If defining the last optional parameters (silent and loop) both have to be defined for any to take effect. The parameter "time" accepts an integer value (in minutes) or a timestring in the format "hh:mm:ss" or "mm min".
CancelAlarm(name[,silent]) Cancel a running alarm. Set silent to true to hide the alarm notification.
ClearProperty(key[,id]) Clears a window property for the current focused window/dialog(key), or the specified window (key,id).
Dialog.Close(dialog[,force]) Close a dialog. Set force to true to bypass animations. Use (all,true) to close all opened dialogs at once.
NextChannelGroup Navigate to the next PVR channel group (in DialogPVRChannelsOSD.xml) v13 Addition
NextStereoMode Changes the stereo mode of the GUI to the next available mode. v13 Addition
Notification(header,message[,time,image]) 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.
PreviousChannelGroup Navigate to the previous PVR channel group (in DialogPVRChannelsOSD.xml) v13 Addition
PreviousStereoMode Changes the stereo mode of the GUI to the previous available mode. v13 Addition
RefreshRSS Reload RSS feeds from RSSFeeds.xml
ReplaceWindow(window,dir) Replaces the current window with the given window. This is the same as ActivateWindow() but it doesn'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's previous window.
ReplaceWindowAndFocus(id1, id2,item1, id3,item2) 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). v13 Addition
Resolution Change Kodi's Resolution.
SetGUILanguage(value) Set GUI Language, 'value' is the language file to use. SetGUILanguage(resource.language.de_de) v13 Addition
SetProperty(key,value[,id]) Sets a window property for the current window (key,value), or the specified window (key,value,id).
SetStereoMode 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) v13 Addition
SettingsLevelChange Toggles the visible settings (in SettingsCategory.xml) between 'basic', 'standard', 'advanced and 'expert' v13 Addition
TakeScreenshot([filenameandpath,sync]) Takes a Screenshot. You can optionally specify the filename (including the path). Note: only .png files are supported. Add "sync" parameter to run synchronously (slow).
ToggleDirtyRegionVisualization makes dirty regions visible for debugging proposes. v16 Addition
ToggleStereoMode Toggle the stereoscopic mode of the GUI (on/off). v13 Addition

GUI container built-in's

Function Description Version
Container.NextSortMethod Change to the next sort method.
Container.NextViewMode Select the next view mode.
Container.PreviousSortMethod Change to the previous sort method.
Container.PreviousViewMode Select the previous view mode.
Container.Refresh Refresh current listing.
Container.SetSortDirection Toggle the sort direction.
Container.SetSortMethod(id) Change to the specified sort method. (For list of ID's see [list of sort methods])
Container.SetViewMode(id) Set the current view mode (list, icons etc.) to the given container id.
Container.SortDirection Toggle the sort direction
Container.Update Update current listing. Send Container.Update(path,replace) to reset the path history.

GUI control built-in's

Function Description Version
Control.Message(id,message,[windowid]) Sends a given message to a control in a given window (or active window if omitted). Messages can be movedown, moveup, pagedown, pageup, click.
Control.Move(id,offset) Will make a Container with the "id" specified in the command move focus by "offset".
Control.SetFocus(id,position[,absolute]) Will make a list with the "id" specified in the command gain focus at "position" number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias SetFocus(id,position)
Control.SetVisible(controlId) Set the control id to visible

Parameters

[in] controlId ID of control.

Parameters

[in] controlId ID of control.

Parameters

[in] controlId ID of control.
PageDown Send a page down event to the pagecontrol with given id.
PageUp Send a page up event to the pagecontrol with given id.
SendClick(windowid,id) Sends a click to a control in a given window (or active window if omitted).
SetFocus(id,position[,absolute]) Will make a list with the "id" specified in the command gain focus at "position" number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias Control.SetFocus(id,position)

Library built-in's

Function Description Version
CleanLibrary(database) This funtion will perform a number of 'cleanup' tasks on your video database and can be run if you have moved, deleted or renamed files. Takes either "video" or "music" as a parameter to begin cleaning the corresponding database.
ExportLibrary(music,false,filepath) The music library will be exported to a single file stored at filepath location.
ExportLibrary(video,true,thumbs,overwrite,actorthumbs) The video library is exported to multiple files with the given options. Here thumbs, overwrite and actorthumbs are boolean values (true or false).
ExportLibrary2(library, exportFiletype, path [, unscraped][, overwrite][, artwork][, skipnfo] / [, albums][, albumartists][, songartists][, otherartists][, actorthumbs]) Export the video/music library with extended parameters

Parameters

[in] library "video" or "music".
[in] exportFiletype "singlefile", "separate" or "library".
[in] path Path to destination folder.
[in] unscraped Add "unscraped" to include unscraped items.
[in] overwrite Add "overwrite" to overwrite existing files.
[in] artwork Add "artwork" to include images such as thumbs and fanart.
[in] skipnfo Add "skipnfo" to not include nfo files(just art).
[in] albums Add "ablums" to include albums.
[in] albumartists Add "albumartists" to include album artists.
[in] songartists Add "songartists" to include song artists.
[in] otherartists Add "otherartists" to include other artists.
[in] actorthumbs Add "actorthumbs" to include other actor thumbs.
MusicLibrary.RefreshAlbum([albumId\]) Rescrapes additional information for a given album

Parameters

[in] albumId Album Id.
MusicLibrary.RefreshArtist([artistId\]) Rescrapes additional information for a given artist

Parameters

[in] artistId Artist Id.
UpdateLibrary(database,[path]) Takes either "video" or "music" as a parameter to begin updating the corresponding database. For "video" you can additionally specify a specific path to be scanned.
VideoLibrary.Search Brings up a search dialog which will search the library

Optical container built-in's

Function Description Version
EjectTray() Either opens or closes the DVD tray, depending on its current state
RipCD Will rip the inserted CD from the DVD-ROM drive.

Picture built-in's

Function Description Version
RecursiveSlideShow(dir) Run a slideshow from the specified directory, including all subdirs
ShowPicture(picture) Show a picture by its file path/url. v13 Addition
SlideShow(dir[,recursive][,[not]random][,pause][,beginslide="/path/to/start/slide.jpg"]) Starts a slideshow of pictures in the folder dir. Optional parameters are 'recursive', 'random' or 'notrandom', 'pause' and 'beginslide="/path/to/some/image.jpg"' parameters. The "recursive" parameter starts a recursive slideshow, adding images from sub-folders. The "random" and "notrandom" parameters override the Randomize setting found in the pictures media window. The "pause" parameter will start the slideshow paused. "beginslide" will start the slideshow with the specified image.

Player built-in's

Function Description Version
PlayDisc(param) Will play the inserted CD or DVD media from the DVD-ROM drive.
PlayDVD(param) (deprecated) Plays the inserted disc, like CD, DVD or Blu-ray, in the disc drive.

Parameters

[in] param "restart" to restart from resume point (optional)
PlayerControl(command) Allows control of music and videos. The command may be one of Play, Stop, Forward, Rewind, Next, Previous, BigSkipForward, BigSkipBackward, SmallSkipForward, SmallSkipBackward, FrameAdvance(#), TempoUp, TempoDown, Tempo(value), Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file) or Reset.

Play will either pause, resume, or stop ffwding or rewinding. Random toggles random playback and Repeat cycles through the repeat modes (these both take an optional second parameter, Notify, that notifies the user of the new state). Partymode(music/video) toggles the appropriate partymode, defaults to music if no parameter is given, besides the default music or video partymode you can also pass a path to a custom smartplaylist (.xsp) as parameter. Reset only applies to games and will reset the currently playing game.

PlayerResolutionSelect Select a different resolution v18
Playlist.Clear Clear the current playlist
Playlist.PlayOffset Start playing from a particular offset in the playlist
PlayMedia(mediaPath[,isdir][,1][,playoffset=xx][,resume][,noresume][,playlist_type_hint=x]) Plays the media. This can be a playlist, music, or video file, directory, plugin or a url. The optional parameter ",isdir" can be used for playing a directory. ",1" will start the media without switching to fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from. Set "resume" to force resuming. Set "noresume" to force not resuming.

Note: Following parameters are available from Kodi v20. If media is a playlist (e.g. STRM), you can set the type of playlist with "playlist_type_hint=x" where x can be 0 for music playlist or 1 for video playlist, if not set will be used music playlist.

PlaysDisc(parm)  
PlayWith() Play the selected item with the specified player core.
QueueMedia(media[,isdir][,1][,playnext],[playoffset=xx]) Queues the given media. This can be a playlist, music, or video file, directory, plugin, disc image stack, video file stack or an URL. The optional parameter ,isdir can be used for playing a directory. ,1 will start the media without switching to fullscreen. If media is a playlist or a disc image stack or a video file stack, you can use playoffset=xx where xx is the position to start playback from. where xx is the position to start playback from.

Parameters

[in] media URL of media to queue.
[in] isdir Set isdir if media is a directory (optional).
[in] 1 Set 1 to start playback without switching to fullscreen (optional).
[in] resume Set resume to force resuming (optional).
[in] noresume Set noresume to force not resuming (optional).
[in] playoffset Set playoffset=<offset> to start playback from a given position in a playlist or stack (optional).
[in] playnext Set playnext to play the media right after the currently playing item, if player is currently playing. If player is not playing, append media to current playlist (optional).
Seek(seconds) Seeks to the specified relative amount of seconds within the current playing media. A negative value will seek backward and a positive value forward. v15 Addition
QueueMedia() [1] Queues the given media. This can be a playlist\, music\, or video file\, directory\, plugin or an Url. The optional parameter "\,isdir" can be used for playing a directory. "\,1" will start the media without switching to fullscreen. If media is a playlist\, you can use playoffset=xx where xx is the position to start playback from.
  • @param[in] media URL of media to queue.
  • @param[in] isdir Set "isdir" if media is a directory (optional).
  • @param[in] 1 Set "1" to start playback without switching to fullscreen (optional).
  • @param[in] resume Set "resume" to force resuming (optional).
  • @param[in] noresume Set "noresume" to force not resuming (optional).
  • @param[in] playeroffset Set "playoffset=<offset>" to start playback from a given position in a playlist (optional).
  • @param[in] playnext Set "playnext" to play the media right after the currently playing item, if player is currently playing. If player is not playing, append media to current playlist (optional).

Profile built-in's

Function Description Version
LoadProfile(profilename,[prompt]) 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' is specified and a password is required, a password dialog will be shown.
Mastermode Runs Kodi in master mode
System.LogOff Log off current user.

PVR built-in's

Function Description Version
PVR.SearchMissingChannelIcons Will start a search for missing channel icons v16 Addition
PVR.SeekPercentage Performs a seek to the given percentage in timeshift buffer, if timeshifting is supported
PVR.ToggleRecordPlayingChannel Will toggle recording on playing channel, if any v18



Skin built-in's

Function Description Version
LoadSkin(skinId) Loads the skin passed as a parameter

Parameters

[in] skinId Addon skin id of the skin.
ReloadSkin() Reloads the current skin – useful for Skinners to use after they upload modified skin files (saves power cycling)
Skin.Reset(setting) 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.
Skin.ResetSettings Resets all the above skin settings to their defaults (toggles all set to false, strings all set to empty.)
Skin.SelectBool(header, label1|setting1, label2|setting2) Pops up select dialog to select between multiple skin setting options. Skin.SelectBool(424, 31411|RecentWidget, 31412|RandomWidget, 31413|InProgressWidget)
Skin.SetAddon(string,type) Pops up a select dialog and allows the user to select an add-on of the given type to be used elsewhere in the skin via the info tag Skin.String(string). The most common types are xbmc.addon.video, xbmc.addon.audio, xbmc.addon.image, xbmc.addon.executable and kodi.gameclient.
Skin.SetBool(setting) Sets the skin setting (setting) to true, for use with the conditional visibility tags containing Skin.HasSetting(setting). The settings are saved per-skin in settings.xml just like all the other Kodi settings.
Skin.SetColor(string,header[,colorfile,selectedcolor]) Pops up a color selection dialog and allows the user to select a color to be used to define the color of a label control or as a colordiffuse value for a texture elsewhere in the skin via the info tag Skin.String(string). Skinners can optionally set the color that needs to be preselected in the dialog by specifying the hex value of this color. Also optionally, skinners can include their own color definition file. If not specified, the default colorfile included with Kodi will be used.

Parameters

[in] string Name of skin setting.
[in] string Dialog header text.
[in] string Hex value of the color to preselect (optional), example: FF00FF00.
[in] string Filepath of the color definition file (optional).

Parameters

[in] numeric Name of skin setting.
[in] value Value of skin setting (optional).
Skin.SetFile(string,mask,folderpath) Pops up a folder browser and allows the user to select a file off the hard-disk to be used else where in the skin via the info tag Skin.String(string). If the mask parameter is specified, then the file browser will only search for the extension specified (.avi,.mp3,.m3u,.png,.bmp,etc.,etc.). To use multiple extensions separate them using "|" (minus quotes). If the folderpath parameter is set the file browser will start in that folder.
Skin.SetImage(string[,value,path]) Pops up a file browser and allows the user to select an image file to be used in an image control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the image path is set directly. the path option allows you to open the file browser in the specified folder.
Skin.SetNumeric(numeric[,value]) Pops up a keyboard dialog and allows the user to input a numerical.
Skin.SetPath(string[,folderpath]) Pops up a folder browser and allows the user to select a folder of images to be used in a multi image control else where in the skin via the info tag Skin.String(string). If the folderpath parameter is set the file browser will start in that folder.
Skin.SetString(string[,value]) Pops up a keyboard dialog and allows the user to input a string which can be used in a label control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the keyboard dialog does not pop up, and the string is set directly.
Skin.Theme(1) Cycles the skin theme. Skin.Theme(-1) will go backwards.
Skin.TimerStart(timer) Starts the timer with name timer

Parameters

[in] timer The name of the timer

Parameters

[in] timer The name of the timer
Skin.ToggleDebug Toggles skin debug info on/off
Skin.ToggleSetting(setting) Toggles the skin setting (setting) for use with conditional visibility tags containing Skin.HasSetting(setting).
UnloadSkin() Unloads the current skin

System built-in's

Function Description Version
ActivateScreensaver Starts the screensaver v13 Addition
Hibernate Hibernate (S4) the System
InhibitIdleShutdown(true/false) Prevent the system to shutdown on idle. v12 Addition
InhibitScreensaver(true/false) Prevent activation of the screensaver. v19 Addition
Minimize Minimizes Kodi
Powerdown Powerdown system
Quit Quits Kodi
Reboot Cold reboots the system (power cycle)
Reset Reset the system (same as reboot)
Restart Restart the system (same as reboot)
RestartApp Restarts Kodi (only implemented under Windows and Linux)
ShutDown Trigger default Shutdown action defined in System Settings
Suspend Suspends (S3 / S1 depending on bios setting) the System
System.Exec(exec) Execute shell commands. The full path to the script has to be placed inside the parentheses.
System.ExecWait(exec) Execute shell commands and freezes Kodi until shell is closed. As well as for "System.Exec(exec)", the full path to the script has to be placed inside the parentheses.

Weather built-in's

Function Description Version
Weather.LocationNext Switch to next weather location
Weather.LocationPrevious Switch to previous weather location
Weather.LocationSet Switch to given weather location (parameter can be 1-3)
Weather.Refresh Force weather data refresh



Removed functions

  • LastFM.Love - Removed in v13 Gotham
  • LastFM.Ban - Removed in v13 Gotham
  • LCD.Suspend - Removed in v13 Gotham
  • LCD.Resume - Removed in v13 Gotham
  • AllowIdleShutdown
  • Help
  • LIRC.Send(command)
  • LIRC.Start
  • LIRC.Stop
  • StartPVRManager
  • StereoModeToMono
  • StopPVRManager


List of sort methods

These ID's can be used with the Container.SetSortMethod(id) function.

The underlying mapping is defined in the Kodi C++ source file https://github.com/xbmc/xbmc/blob/master/xbmc/utils/SortUtils.h#L55-L180.

ID Description
1 Name
2 Date
3 Size
4 File
5 Path
6 DriveType
7 Title
8 TrackNumber
9 Time
10 Artist
11 ArtistThenYear
12 Album
13 AlbumType
14 Genre
15 Country
16 Year
17 Rating
18 UserRating
19 Votes
20 Top250
21 ProgramCount
22 PlaylistOrder
23 EpisodeNumber
24 Season
25 NumberOfEpisodes
26 NumberOfWatchedEpisodes
27 TvShowStatus
28 TvShowTitle
29 SortTitle
30 ProductionCode
31 MPAA
32 VideoResolution
33 VideoCodec
34 VideoAspectRatio
35 AudioChannels
36 AudioCodec
37 AudioLanguage
38 SubtitleLanguage
39 Studio
40 DateAdded
41 LastPlayed
42 Playcount
43 Listeners
44 Bitrate
45 Random
46 Channel
47 ChannelNumber
48 DateTaken
49 Relevance
50 InstallDate
51 LastUpdated
52 LastUsed
53 ClientChannelOrder
54 TotalDiscs
55 OriginalDate
56 BPM
57 OriginalTitle
58 Provider
59 UserPreference

See also


References