Jump to content

List of boolean conditions: Difference between revisions

From Official Kodi Wiki
Hitcher (talk | contribs)
Hitcher (talk | contribs)
 
(44 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]}}
{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]}}


<section begin="main content" />
Skins can use boolean conditions with the '''<visible>''' tag or with condition attributes. Scripts can read boolean conditions with <code>'''xbmc.getCondVisibility'''(condition)</code>.


{{outdated|This page has become too large and complex to maintain by volunteer editors, and has been only sporadically updated over the last few years.<br/>This page has missing data, and also shows data that has been deprecated.<br/>'''Refer to the up to date [https://xbmc.github.io/docs.kodi.tv/master/kodi-base/d5/d11/modules__infolabels_boolean_conditions.html Doxygen documentation]'''}}
=== Global ===


{|  class="wikitable sortable" width="100%"
! Labels
! style="80%" | Description
|-
| <code>true</code>
| Returns
:Always evaluates to '''true'''.
|-
| <code>false</code>
| Returns
:Always evaluates to '''false'''.
|-
| <code>yes</code>
| Returns
:same as '''true'''.
|-
| <code>no</code>
| Returns
:same as '''false'''.
|}


<section begin="main content" />
=== Addon ===
Skins can use boolean conditions with the <visible> tag or with condition attributes. Scripts can read boolean conditions with <code>xbmc.getCondVisibility(condition)</code>.
 


{|  class="wikitable sortable" width="100%"
! Labels
! style="80%" | Description
! Version
|-
|  <code>Addon.SettingBool(addon_id,setting_id)</code>
|  '''Returns'''
:'''True''' if the setting <code>setting_id</code> belonging to the addon with the id <code>addon_id</code> is '''True''', '''False''' otherwise.
'''Parameters'''
:'''addon_id''' - The id of the addon
:'''setting_id''' - The addon setting
{{highlight|'''Note'''<br>The provided setting with <code>setting_id</code> must be a boolean setting type.<br>
Otherwise it will return the boolean info default value (which is 0).}}
| [https://forum.kodi.tv/showthread.php?tid=363553&pid=3098121#pid3098121 v20]
|}


=== Container ===
=== Container ===
{| class="prettytable" width="100%"
{| class="wikitable sortable"" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Container.HasThumb</code>
| <code>Container.CanFilter</code>
| Returns true if the current container you are in has a thumb assigned to it
| '''Returns'''
|  
:'''True''' when the current container can be filtered.
|
|-
|-
| <code>Container.Content(parameter)</code>
| <code>Container.CanFilterAdvanced</code>
| Returns true if the current container you are in contains the following: '''files, songs, artists, albums, movies, tvshows, seasons, episodes, musicvideos, genres, years, actors, playlists, plugins, studios, directors, sets, tags, countries, roles, images''' (Note: these currently only work in the Video and Music Library or unless a Plugin has set the value) also available are '''Addons''' true when a list of add-ons is shown '''LiveTV''' true when a htsp (tvheadend) directory is shown
| '''Returns'''
:'''True''' when advanced filtering can be applied to the current container.
|
|
|-
|-
| <code>Container(id).OnNext</code>
| <code>Container.Content(parameter)</code>
| 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.)
| '''Returns'''
:'''True''' if the current container you are in contains the following:
:*actors
:*addons
:*albums
:*artists
:*directors
:*episodes
:*files
:*genres
:*livetv
:*movies
:*musicvideos
:*playlists
:*plugins
:*seasons
:*sets
:*songs
:*studios
:*tags
:*tvshows
:*years
{{highlight|'''Note'''<br>
These currently only work in the Video and Music Library, unless a Plugin has set the value.}}
|
|
|-
|-
| <code>Container(id).OnScrollNext</code>
| <code>Container.Filtered</code>
| 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.
| '''Returns'''
:'''True''' when a mediafilter is applied to the current container.
|
|
|-
|-
| <code>Container(id).OnPrevious</code>
| <code>Container.HasFiles</code>
| 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.)
| '''Returns'''
:'''True''' if the container contains files.
|
|
|-
|-
| <code>Container(id).OnScrollPrevious</code>
| <code>Container.HasFolders</code>
| 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.
| '''Returns'''
:'''True''' if the container contains folders.
|
|
|-
|-
| <code>Container(id).HasFocus(item_number)</code>
| <code>Container.HasThumb</code>
| 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.
| '''Returns'''
:'''True''' if the current container you are in has a thumb assigned to it.
|
|
|-
|-
| <code>Container.HasFiles</code>
| <code>Container.IsStacked</code>
| Returns true if the container contains files.
| '''Returns'''
:'''True''' if the container is currently in stacked mode.
|
|
|-
|-
| <code>Container.HasFolders</code>
| <code>Container.SortDirection(ascending)</code>
| Returns true if the container contains folders.
| '''Returns'''
:'''True''' if the sort direction of a container is ascending.
|
|
|-
|-
| <code>Container(id).HasNext</code>
| <code>Container.SortDirection(descending)</code>
| Returns true if the container or textbox with id (id) has a next page.
| '''Returns'''
:'''True''' if the sort direction of a container is descending.
|
|
|-
|-
| <code>Container(id).HasPrevious</code>
| <code>Container.Sortmethod(sortid)</code>
| Returns true if the container or textbox with id (id) has a previous page.
| '''Returns'''
:'''True''' if the current sort method matches the specified SortID [[https://kodi.wiki/view/List_of_built-in_functions#List_of_sort_methods see list of sort methods]].
|
|
|-
|-
| <code>Container(id).IsUpdating</code>
| <code>Container(id).Column(column_number)</code>
| Returns true if the container with [[Dynamic List Content|dynamic list content]] is currently updating.
| '''Returns'''
:'''True''' if the container with id is focused on the column given.
'''Parameters'''
:'''column_number''' - The column number.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container.IsStacked</code>
| <code>Container(id).HasFocus(item_number)</code>
| Returns true if the container is currently in stacked mode.
| '''Returns'''
:'''True''' if the container with id has static content and is focused on the item with id item_number.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container.CanFilter</code>
| <code>Container(id).HasNext</code>
| Returns true when the current container can be filtered.
| '''Returns'''
:'''True''' if the container or textbox with id has a next page.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container.CanFilterAdvanced</code>
| <code>Container(id).HasParent</code>
| Returns true when advanced filtering can be applied to the current container.
| '''Returns'''
:'''True''' when the container with id contains a parent ('..') item.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container.Filtered</code>
| <code>Container(id).HasPrevious</code>
| Returns true when a mediafilter is applied to the current container.
| '''Returns'''
:'''True''' if the container or textbox with id has a previous page.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container(id).HasParent</code>
| <code>Container(id).IsUpdating</code>
| Return true when the container with id (or current container if id is omitted) contains a parent ('..') item.
| '''Returns'''
:'''True''' if the container with dynamic list content is currently updating.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container.SortDirection(ascending)</code>
| <code>Container(id).OnNext</code>
| Returns true the sort direction of a container is ascending.
| '''Returns'''
:'''True''' if the container with id is moving to the next item.
:Allows views to be custom-designed, such as 3D cover views, etc.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container.SortDirection(descending)</code>
| <code>Container(id).OnPrevious</code>
| Returns true the sort direction of a container is descending.
| '''Returns'''
:'''True''' if the container with id is moving to the previous item.
:Allows views to be custom-designed, such as 3D cover views, etc.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container(id).Row(row)</code>
| <code>Container(id).OnScrollNext</code>
| Returns true if the container with id (or current container if id is omitted) is focused on the row given.
| '''Returns'''
:'''True''' if the container with id is scrolling to the next item.
:Differs from OnNext in that OnNext triggers on movement even if there is no scroll involved.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container(id).Column(col)</code>
| <code>Container(id).OnScrollPrevious</code>
| Returns true if the container with id (or current container if id is omitted) is focused on the column given.
| '''Returns'''
:'''True''' if the container with id is scrolling to the previous item.
:Differs from OnPrevious in that OnPrevious triggers on movement even if there is no scroll involved.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container(id).Position(pos)</code>
| <code>Container(id).Position(position_number)</code>
| Returns true if the container with id (or current container if id is omitted) is focused on the position given.
| '''Returns'''
:'''True''' if the container with id is focused on the position given.
'''Parameters'''
:'''position_number''' - The position number.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|-
| <code>Container(id).Scrolling</code>
| <code>Container(id).Row(row_number)</code>
| 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.
| '''Returns'''
:'''True''' if the container with id is focused on the row given.
'''Parameters'''
:'''row_number''' - The row number.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.}}
|
|
|-
|  <code>Container(id).Scrolling</code>
|  '''Returns'''
:'''True''' if the user is currently scrolling through the container with id.
{{highlight|'''Note'''<br>
If no id is specified it grabs the current container.<br>
This is slightly delayed from the actual scroll start.<br>
Use Container(id).OnScrollNext/OnScrollPrevious to trigger animations immediately on scroll.}}
|-
|-
|  <code>Container(id).SubItem</code>
|  <code>Container(id).SubItem</code>
| Returns true if the container with id (or current container if id is omitted) is focused on the specified subitem.
| '''Returns'''
|
:'''True''' if the container with id is focused on the specified subitem.
|-
{{highlight|'''Note'''<br>
<code>Container.Sortmethod(id)</code>
If no id is specified it grabs the current container.}}
| Returns true if the current sort method matches the specified SortID [[https://kodi.wiki/view/List_of_built-in_functions#List_of_sort_methods see list of sort methods]].
|
|
|}
|}


=== Control ===
=== Control ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Control.IsEnabled(id)</code>
| <code>Control.HasFocus(id)</code>
| Returns true if the control with id "id" is enabled.
| '''Returns'''
:'''True''' if the currently focused control has id "id".<br>
'''Parameters'''
:'''id''' - The id of the control.
|
|
|-
|-
| <code>Control.IsVisible(id)</code>
| <code>Control.IsEnabled(id)</code>
| Returns true if the control with id "id" is visible.
| '''Returns'''
:'''True''' if the control with id "id" is enabled.<br>
'''Parameters'''
:'''id''' - The id of the control.
|
|
|-
|-
| <code>Control.HasFocus(id)</code>
| <code>Control.IsVisible(id)</code>
| Returns true if the currently focused control has id "id".
| '''Returns'''
:'''True''' if the control with id "id" is visible.<br>
'''Parameters'''
:'''id''' - The id of the control.
|
|
|-
|-
| <code>ControlGroup(group).HasFocus(id)</code>
| <code>ControlGroup(group).HasFocus(id)</code>
| Returns true if the control group with id “group” has control id “id” as it'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”.<br />WARNING: Avoid using IDs 9000-9999 as this is the range assigned to groups with no ID value.
| '''Returns'''
:'''True''' if the control group with id “group” has control id “id” as its focused item.<br>
'''Parameters'''
:'''group''' - The id of the group.
:'''id''' - The id of the focused item.
{{highlight|'''Note'''<br>
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”.<br>
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”.<br>
'''WARNING'''<br>
Avoid using IDs 9000-9999 as this is the range assigned to groups with no ID value.}}
|
|
|}
|}


=== Integer ===
=== Integer ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Integer.IsEqual([[InfoLabels|info]],number)</code>
| <code>Integer.IsEqual([[InfoLabels|info]],number)</code>
| Returns true if the value of the [[InfoLabels|infolabel]] is equal to the supplied number.<br />Example: Integer.IsEqual(ListItem.Year,2000)
| Returns true if the value of the [[InfoLabels|infolabel]] is equal to the supplied number.<br />Example: Integer.IsEqual(ListItem.Year,2000)
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Integer.IsEven([[InfoLabels|info]])</code>
| <code>Integer.IsEven([[InfoLabels|info]])</code>
| Returns true if the value of the [[InfoLabels|infolabel]] is even.<br />Example: Integer.IsEven(ListItem.CurrentItem)
| Returns true if the value of the [[InfoLabels|infolabel]] is even.<br />Example: Integer.IsEven(ListItem.CurrentItem)
| {{nowrap|v19 Addition}}
| v19
|-
|-
| <code>Integer.IsGreater([[InfoLabels|info]],number)</code>
| <code>Integer.IsGreater([[InfoLabels|info]],number)</code>
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than to the supplied number.<br />Example: Integer.IsGreater(ListItem.Year,2000)
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than to the supplied number.<br />Example: Integer.IsGreater(ListItem.Year,2000)
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Integer.IsGreaterOrEqual([[InfoLabels|info]],number)</code>
| <code>Integer.IsGreaterOrEqual([[InfoLabels|info]],number)</code>
| Returns true if the value of the [[InfoLabels|infolabel]] is greater or equal to the supplied number.<br />Example: Integer.IsGreaterOrEqual(ListItem.Year,2000)
| Returns true if the value of the [[InfoLabels|infolabel]] is greater or equal to the supplied number.<br />Example: Integer.IsGreaterOrEqual(ListItem.Year,2000)
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Integer.IsLess([[InfoLabels|info]],number)</code>
| <code>Integer.IsLess([[InfoLabels|info]],number)</code>
| Returns true if the value of the [[InfoLabels|infolabel]] is less than the supplied number.<br />Example: Integer.IsLess(ListItem.Year,2000)
| Returns true if the value of the [[InfoLabels|infolabel]] is less than the supplied number.<br />Example: Integer.IsLess(ListItem.Year,2000)
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Integer.IsLessOrEqual([[InfoLabels|info]],number)</code>
| <code>Integer.IsLessOrEqual([[InfoLabels|info]],number)</code>
| Returns true if the value of the [[InfoLabels|infolabel]] is less or equal to the supplied number.<br />Example: Integer.IsLessOrEqual(ListItem.Year,2000)
| Returns true if the value of the [[InfoLabels|infolabel]] is less or equal to the supplied number.<br />Example: Integer.IsLessOrEqual(ListItem.Year,2000)
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Integer.IsOdd([[InfoLabels|info]])</code>
| <code>Integer.IsOdd([[InfoLabels|info]])</code>
| Returns true if the value of the [[InfoLabels|infolabel]] is odd.<br />Example: Integer.IsOdd(ListItem.CurrentItem)
| Returns true if the value of the [[InfoLabels|infolabel]] is odd.<br />Example: Integer.IsOdd(ListItem.CurrentItem)
| {{nowrap|v19 Addition}}
| v19
|}
|}


=== Library ===
=== Library ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Library.HasContent(string)</code>
| <code>Library.HasContent(string)</code>
| Returns true if the Kodi libraries have the content from string.  Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets, BoxSets)
| Returns true if the Kodi libraries have the content from string.  Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets, BoxSets)
|
|
|-
|-
| <code>Library.IsScanningMusic</code>
| <code>Library.IsScanningMusic</code>
| Returns true if the music library is being updated
| Returns true if the music library is being updated
|
|
|-
|-
| <code>Library.IsScanningVideo</code>
| <code>Library.IsScanningVideo</code>
| Returns true if the video library is being updated
| Returns true if the video library is being updated
|
|
|-
|-
| <code>Library.HasContent(Role, Composer)</code>
| <code>Library.HasContent(Role,Composer)</code>
| 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
| 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
| v17 addition
| v17
|-
|-
| <code>Library.HasNode(path)</code>
| <code>Library.HasNode(path)</code>
| Returns True if the specified node is available (example: Library.HasNode(library://video/movies/titles.xml))
| Returns True if the specified node is available (example: Library.HasNode(library://video/movies/titles.xml))
| v19 addition
| v19
|}
|}


=== ListItem ===
=== ListItem ===
{|  class="prettytable" width="100%"
{|  class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
|  ListItem.HasVideoVersions
<code>ListItem.HasVideoVersions</code>
|  Returns true if the ListItem has video versions
|  Returns true if the ListItem has video versions
|
|
|-
|-
|  ListItem.HasVideoExtras
<code>ListItem.HasVideoExtras</code>
|  Returns true if the ListItem has video extras
|  Returns true if the ListItem has video extras
|
|
|-
|-
|  ListItem.IsFolder
<code>ListItem.IsFolder</code>
|  Returns whether the current ListItem is a folder
|  Returns whether the current ListItem is a folder
|
|
|-
|-
|  ListItem.IsPlaying
<code>ListItem.IsPlaying</code>
|  Returns whether the current ListItem.* [[InfoLabels|info labels]] and images are currently Playing media
|  Returns whether the current ListItem.* [[InfoLabels|info labels]] and images are currently Playing media
|
|
|-
|-
|  ListItem.IsResumable
<code>ListItem.IsResumable</code>
|  Returns true when the current ListItem has been partially played
|  Returns true when the current ListItem has been partially played
|
|
|-
|-
|  ListItem.IsCollection
<code>ListItem.IsCollection</code>
|  Returns true when the current ListItem is a movie set
|  Returns true when the current ListItem is a movie set
|
|
|-
|-
|  ListItem.IsSelected
<code>ListItem.IsSelected</code>
|  Returns whether the current ListItem is selected (f.e. currently playing in playlist window)
|  Returns whether the current ListItem is selected (f.e. currently playing in playlist window)
|
|
|-
|-
|  ListItem.HasArchive
<code>ListItem.HasArchive</code>
returns True when the selected channel has a server-side back buffer (PVR)
Returns True when the selected channel has a server-side back buffer (PVR)
|  v19 addition
|  v19
|-
|-
|  ListItem.HasEpg
<code>ListItem.HasEpg</code>
|  Returns true when the selected programme has epg info (PVR)
|  Returns true when the selected programme has epg info (PVR)
|
|
|-
|-
|  ListItem.HasReminder
<code>ListItem.HasReminder</code>
returns True if the item has a reminder set (PVR)
Returns True if the item has a reminder set (PVR)
|  v19 addition
|  v19
|-
|-
|  ListItem.HasReminderRule
<code>ListItem.HasReminderRule</code>
returns True if the item was scheduled by a reminder timer rule (PVR)
Returns True if the item was scheduled by a reminder timer rule (PVR)
|  v19 addition
|  v19
|-
|-
|  ListItem.HasTimer
<code>ListItem.HasTimer</code>
|  Returns true when a recording timer has been set for the selected programme (PVR)
|  Returns true when a recording timer has been set for the selected programme (PVR)
|
|
|-
|-
|  ListItem.IsRecording
<code>ListItem.IsRecording</code>
|  Returns true when the selected programme is being recorded (PVR)
|  Returns true when the selected programme is being recorded (PVR)
|
|
|-
|-
|  ListItem.IsEncrypted
<code>ListItem.IsEncrypted</code>
|  Returns true when the selected programme is encrypted (PVR)
|  Returns true when the selected programme is encrypted (PVR)
|
|
|-
|-
|  ListItem.IsStereoscopic
<code>ListItem.IsStereoscopic</code>
|  Returns true when the selected video is a 3D (stereoscopic) video
|  Returns true when the selected video is a 3D (stereoscopic) video
|
|
|-
|  <code>ListItem.Property(Stream.Is3D)</code>
|  Returns true if the video stream is a 3D (stereoscopic) video, for use in dialogselect.xml
|  v22
|-
|  <code>ListItem.Property(Stream.IsDefault)</code>
|  Returns true if the audio/video/subtitle stream is default, for use in dialogselect.xml
|  v22
|-
|-
|  ListItem.Property(Stream.IsDefault)
<code>ListItem.Property(Stream.IsExternal)</code>
|  Returns true if the audio/video/subtitle stream is default
|  Returns true if the subtitle stream is external, for use in dialogselect.xml
|
| v22
|-
|-
|  ListItem.Property(Stream.IsForced)
<code>ListItem.Property(Stream.IsForced)</code>
|  Returns true if the audio/subtitle stream is forced
|  Returns true if the audio/subtitle stream is forced, for use in dialogselect.xml
|
| v22
|-
|-
|  ListItem.Property(Stream.IsHearingImpaired)
<code>ListItem.Property(Stream.IsHearingImpaired)</code>
|  Returns true if the subtitle stream is for the hearing impaired (aka SDH-Subtitles for the Deaf or Hard-of-Hearing/CC-Closed Captions)
|  Returns true if the subtitle stream is for the hearing impaired (aka SDH-Subtitles for the Deaf or Hard-of-Hearing/CC-Closed Captions), for use in dialogselect.xml
|
| v22
|-
|-
|  ListItem.Property(Stream.IsOriginal)
<code>ListItem.Property(Stream.IsOriginal)</code>
|  Returns true if the audio/subtitle stream is in the original language
|  Returns true if the audio/subtitle stream is in the original language, for use in dialogselect.xml
|
| v22
|-
|-
|  ListItem.Property(Stream.IsVisualImpaired)
<code>ListItem.Property(Stream.IsVisualImpaired)</code>
|  Returns true if the audio stream is for the visually impaired (aka AD-Audio Description)
|  Returns true if the audio stream is for the visually impaired (aka AD-Audio Description), for use in dialogselect.xml
|
| v22
|-
|-
|  ListItem.Property(IsSpecial)
<code>ListItem.Property(IsSpecial)</code>
|  Returns whether the current Season/Episode is a Special
|  Returns whether the current Season/Episode is a Special
|
|
|-
|-
|  ListItem.Property(DateLabel)
<code>ListItem.Property(DateLabel)</code>
|  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.
|  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.
|
|
|-
|-
|  ListItem.Property(Addon.IsEnabled)
<code>ListItem.Property(Addon.IsEnabled)</code>
|  Returns true when the selected addon is enabled (for use in the addon info dialog only).
|  Returns true when the selected addon is enabled (for use in the addon info dialog only).
|
|
|-
|-
|  ListItem.Property(Addon.IsInstalled)
<code>ListItem.Property(Addon.IsInstalled)</code>
|  Returns true when the selected addon is installed (for use in the addon info dialog only).
|  Returns true when the selected addon is installed (for use in the addon info dialog only).
|
|
|-
|-
|  ListItem.Property(Addon.HasUpdate)
<code>ListItem.Property(Addon.HasUpdate)</code>
|  Returns true when there's an update available for the selected addon.
|  Returns true when there's an update available for the selected addon.
|
|
|-
|-
|  ListItem.HasTimerSchedule
<code>ListItem.HasTimerSchedule</code>
|  Whether the item is part of a repeating timer schedule (PVR).
|  Whether the item is part of a repeating timer schedule (PVR).
|  v16 addition
|  v16
|-
|-
|  ListItem.TimerHasError
<code>ListItem.TimerHasError</code>
|  Whether the item has a timer and it won't be recorded because of an error (PVR).
|  Whether the item has a timer and it won't be recorded because of an error (PVR).
|  v17 addition
|  v17
|-
|-
|  ListItem.TimerHasConflict
<code>ListItem.TimerHasConflict</code>
|  Whether the item has a timer and it won't be recorded because of a conflict (PVR).
|  Whether the item has a timer and it won't be recorded because of a conflict (PVR).
|  v17 addition
|  v17
|-
|-
|  ListItem.TimerIsActive
<code>ListItem.TimerIsActive</code>
|  Whether the item has a timer that will be recorded, i.e. the timer is enabled (PVR).  
|  Whether the item has a timer that will be recorded, i.e. the timer is enabled (PVR).  
|  v17 addition
|  v17
|-
|-
|  ListItem.Property(Addon.Orphaned)
<code>ListItem.Property(Addon.Orphaned)</code>
|  Returns true if the slected addon is orphaned (not needed anymore by any other addon)
|  Returns true if the slected addon is orphaned (not needed anymore by any other addon)
|  v17 addition
|  v17
|-
|-
|  ListItem.IsParentFolder
<code>ListItem.IsParentFolder</code>
|  Returns true is the slected item is the 'up' item
|  Returns true is the slected item is the 'up' item
|  v17 addition
|  v17
|-
|-
|  ListItem.IsNew
<code>ListItem.IsNew</code>
[PVR] will return true if the item is a premiere (for example, a Live TV show that will be first aired).
Returns true if the item is a premiere (for example, a Live TV show that will be first aired) (PVR)
|  v19 addition
|  v19
|-
|-
|  ListItem.IsPlayable
<code>ListItem.IsPlayable</code>
|  Returns True when the selected programme can be played (PVR)
|  Returns True when the selected programme can be played (PVR)
|  v19 addition
|  v19
|-
|-
|  ListItem.IsBoxset
<code>ListItem.IsBoxset</code>
|  Returns True if the item is part of a boxset album
|  Returns True if the item is part of a boxset album
|  v19 addition
|  v19
|-
|-
|  ListItem.IsPremiere
<code>ListItem.IsPremiere</code>
|  Returns true if the item is a premiere (for example, a Movie first showing or season first on Live TV)
|  Returns true if the item is a premiere (for example, a Movie first showing or season first on Live TV)
|  v19 addition
|  v19
|-
|-
|  ListItem.IsFinale
<code>ListItem.IsFinale</code>
|  Returns true if the item is a finale (for example, a season finale showing on Live TV)
|  Returns true if the item is a finale (for example, a season finale showing on Live TV)
|  v19 addition
|  v19
|-
|-
|  ListItem.IsLive
<code>ListItem.IsLive</code>
|  Returns true if the item is live (for example, a Live TV sports event)
|  Returns true if the item is live (for example, a Live TV sports event)
|  v19 addition
|  v19
|-
|-
|  ListItem.Property(Addon.IsFromOfficialRepo)
<code>ListItem.Property(Addon.IsFromOfficialRepo)</code>
|  Returns true if the addon is from an official repository
|  Returns true if the addon is from an official repository
|  v19 addition
|  v19
|-
|-
|  ListItem.Property(Addon.IsBinary)
<code>ListItem.Property(Addon.IsBinary)</code>
|  Returns true for binary addons
|  Returns true for binary addons
|  v19 addition
|  v19
|-
|-
|  ListItem.Property(Addon.IsUpdate)
<code>ListItem.Property(Addon.IsUpdate)</code>
|  Returns True if this add-on is a valid update of an installed outdated add-on
|  Returns True if this add-on is a valid update of an installed outdated add-on
|  v19 addition
|  v19
|-
|-
|  ListItem.IsAutoUpdateable
<code>ListItem.IsAutoUpdateable</code>
|  Returns True if this add-on can be updated automatically
|  Returns True if this add-on can be updated automatically
|  v19 addition
|  v19
|}
|}


=== Player ===
=== Network ===
{| class="prettytable" width="100%"
 
{| class="wikitable sortable" width="100%"
! InfoLabels
! InfoLabels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Player.HasMedia</code>
| <code>Network.IsDHCP</code>
| Returns true if the player has an audio or video file.
| '''Returns'''
:'''True''' if the network type is DHCP.
{{highlight|'''Note'''<br>
Network type can be either DHCP or FIXED.}}
|
|
|}
=== Player ===
{|  class="wikitable sortable" width="100%"
! Labels
! style="80%" | Description
! Version
|-
|  <code>Player.HasMedia</code>
|  Returns true if the player has an audio or video file.
|-
|-
| <code>Player.HasAudio</code>
| <code>Player.HasAudio</code>
| Returns true if the player has an audio file.
| Returns true if the player has an audio file.
|
|
|-
|  <code>Player.HasDuration</code>
|  Returns true if Media isn't a true stream
|-
|-
| <code>Player.HasDuration</code>
| <code>Player.HasVideo</code>
| Returns true if Media isn't a true stream
| Returns true if the player has a video file.
|
|
|-
|-
| <code>Player.HasVideo</code>
| <code>Player.Passthrough</code>
| Returns true if the player has a video file.
| Returns true if the player is using audio passthrough.
|
|
|-
|-
| <code>Player.Passthrough</code>
| <code>Player.Playing</code>
| Returns true if the player is using audio passthrough.
| Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)
|
|
|-
|-
| <code>Player.Playing</code>
| <code>Player.Paused</code>
| Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)
| Returns true if the player is paused.
|
|
|-
|-
| <code>Player.Paused</code>
| <code>Player.Forwarding</code>
| Returns true if the player is paused.
| Returns true if the player is fast forwarding.
|
|
|-
|-
| <code>Player.Forwarding</code>
| <code>Player.Forwarding2x</code>
| Returns true if the player is fast forwarding.
| Returns true if the player is fast forwarding at 2x.
|
|
|-
|-
| <code>Player.Forwarding2x</code>
| <code>Player.Forwarding4x</code>
| Returns true if the player is fast forwarding at 2x.
| Returns true if the player is fast forwarding at 4x.
|
|
|-
|-
| <code>Player.Forwarding4x</code>
| <code>Player.Forwarding8x</code>
| Returns true if the player is fast forwarding at 4x.
| Returns true if the player is fast forwarding at 8x.
|
|
|-
|-
| <code>Player.Forwarding8x</code>
| <code>Player.Forwarding16x</code>
| Returns true if the player is fast forwarding at 8x.
| Returns true if the player is fast forwarding at 16x.
|
|
|-
|-
| <code>Player.Forwarding16x</code>
| <code>Player.IsLive</code>
| Returns true if the player is fast forwarding at 16x.
| Returns if the inputstream of the player is a live stream (a.k.a. real time stream).
|
| v22
|-
|-
| <code>Player.Forwarding32x</code>
| <code>Player.Forwarding32x</code>
| Returns true if the player is fast forwarding at 32x.
| Returns true if the player is fast forwarding at 32x.
|
|
|-
|-
| <code>Player.Rewinding</code>
| <code>Player.Rewinding</code>
| Returns true if the player is rewinding.
| Returns true if the player is rewinding.
|
|
|-
|-
| <code>Player.Rewinding2x</code>
| <code>Player.Rewinding2x</code>
| Returns true if the player is rewinding at 2x.
| Returns true if the player is rewinding at 2x.
|
|
|-
|-
| <code>Player.Rewinding4x</code>
| <code>Player.Rewinding4x</code>
| Returns true if the player is rewinding at 4x.
| Returns true if the player is rewinding at 4x.
|
|
|-
|-
| <code>Player.Rewinding8x</code>
| <code>Player.Rewinding8x</code>
| Returns true if the player is rewinding at 8x.
| Returns true if the player is rewinding at 8x.
|
|
|-
|-
| <code>Player.Rewinding16x</code>
| <code>Player.Rewinding16x</code>
| Returns true if the player is rewinding at 16x.
| Returns true if the player is rewinding at 16x.
|
|
|-
|-
| <code>Player.Rewinding32x</code>
| <code>Player.Rewinding32x</code>
| Returns true if the player is rewinding at 32x.
| Returns true if the player is rewinding at 32x.
|
|
|-
|-
| <code>Player.PauseEnabled</code>
| <code>Player.PauseEnabled</code>
| Returns true if the currently playing stream can be paused.
| Returns true if the currently playing stream can be paused.
|
|
|-
|-
| <code>Player.Caching</code>
| <code>Player.Caching</code>
| Returns true if the player is current <span class="nobr">re-caching</span> data (internet based video playback).
| Returns true if the player is current <span class="nobr">re-caching</span> data (internet based video playback).
|
|
|-
|-
| <code>Player.DisplayAfterSeek</code>
| <code>Player.DisplayAfterSeek</code>
| Returns true for the first 2.5 seconds after a seek.
| Returns true for the first 2.5 seconds after a seek.
|
|
|-
|-
| <code>Player.Seeking</code>
| <code>Player.Seeking</code>
| Returns true if a seek is in progress
| Returns true if a seek is in progress
|
|
|-
|-
| <code>Player.SeekEnabled</code>
| <code>Player.SeekEnabled</code>
| Returns true if player can seek
| Returns true if player can seek
|
|
|-
|-
| <code>Player.ShowTime</code>
| <code>Player.ShowTime</code>
| Returns true if the user has requested the time to show (occurs in video fullscreen)
| Returns true if the user has requested the time to show (occurs in video fullscreen)
|
|
|-
|-
| <code>Player.ShowInfo</code>
| <code>Player.ShowInfo</code>
| Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)
| Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)
|
|
|-
|-
| <code>Player.IsInternetStream</code>
| <code>Player.IsInternetStream</code>
| Returns true if the player is playing an internet stream.
| Returns true if the player is playing an internet stream.
|
|
|-
|-
| <code>Player.Muted</code>
| <code>Player.Muted</code>
| Returns true if the volume is muted.
| Returns true if the volume is muted.
|
|
|-
|-
| <code>Player.Process(videohwdecoder)</code>
| <code>Player.Process(videohwdecoder)</code>
| Returns true if the currently playing video is decoded in hardware
| Returns true if the currently playing video is decoded in hardware
| v17 addition
| v17
|-
|-
| <code>Player.TempoEnabled</code>
| <code>Player.TempoEnabled</code>
| Returns true if the current player supports changing the playback speed
| Returns true if the current player supports changing the playback speed
| v17 addition
| v17
|-
|-
| <code>Player.IsTempo</code>
| <code>Player.IsTempo</code>
| Returns true if the current playbackspeed is not equal to 1
| Returns true if the current playbackspeed is not equal to 1
| v17 addition
| v17
|-
|-
| <code>Player.HasGame</code>
| <code>Player.HasGame</code>
| Returns true if the player is playing a game
| Returns true if the player is playing a game
| v18
| v18
|-
|-
| <code>Player.HasResolutions</code>
| <code>Player.HasResolutions</code>
| Returns true when multiple resolutions are available
| Returns true when multiple resolutions are available
| v18
| v18
|-
|-
| <code>Player.FrameAdvance</code>
| <code>Player.FrameAdvance</code>
| Returns true if player is in frame advance mode
| Returns true if player is in frame advance mode
| v18
| v18
|-
|-
| <code>Player.ChannelPreviewActive</code>
| <code>Player.ChannelPreviewActive</code>
| Returns true if PVR channel preview is active (used channel tag different from played tag)
| Returns true if PVR channel preview is active (used channel tag different from played tag)
|  
|
|}
|}


==== MusicPlayer ====
==== MusicPlayer ====
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>MusicPlayer.HasNext</code>
| <code>MusicPlayer.HasNext</code>
| Returns true if the music player has a next song queued in the Playlist.
| Returns true if the music player has a next song queued in the Playlist.
|
|
|-
|-
| <code>MusicPlayer.HasPrevious</code>
| <code>MusicPlayer.HasPrevious</code>
| Returns true if the music player has a a Previous Song in the Playlist .
| Returns true if the music player has a a Previous Song in the Playlist .
|
|
|-
|-
| <code>MusicPlayer.Offset(number).Exists</code>
| <code>MusicPlayer.Offset(number).Exists</code>
| Returns true if the music players playlist has a song queued in position (number).
| Returns true if the music players playlist has a song queued in position (number).
|
|
|-
|-
| <code>MusicPlayer.Content(parameter)</code>
| <code>MusicPlayer.Content(parameter)</code>
| Returns true if the current audio you are playing matches the specified content. The following values are accepted: files, livetv
| Returns true if the current audio you are playing matches the specified content. The following values are accepted: files, livetv
|
|
|-
|-
| <code>MusicPartyMode.Enabled</code>
| <code>MusicPartyMode.Enabled</code>
| Returns true if Party Mode is enabled
| Returns true if Party Mode is enabled
|
|
|-
|-
|<code>MusicPlayer.IsMultiDisc</code>
| <code>MusicPlayer.IsMultiDisc</code>
| Returns true if the current album consists of two or more discs
| Returns true if the current album consists of two or more discs
| v19 addition
| v19
|}
|}


==== VideoPlayer ====
==== VideoPlayer ====
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>VideoPlayer.HasVideoVersions</code>
| <code>VideoPlayer.HasVideoVersions</code>
| Returns true if the currently playing video has versions.
| Returns true if the currently playing video has versions.
| v21
| v21
|
|
|-
|-
| <code>VideoPlayer.UsingOverlays</code>
| <code>VideoPlayer.UsingOverlays</code>
| 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.
| 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.
|
|
|-
|-
| <code>VideoPlayer.IsFullscreen</code>
| <code>VideoPlayer.IsFullscreen</code>
| Returns true if the video player is in fullscreen mode.
| Returns true if the video player is in fullscreen mode.
|
|
|-
|-
| <code>VideoPlayer.HasMenu</code>
| <code>VideoPlayer.HasMenu</code>
| Returns true if the video player has a menu (ie is playing a DVD)
| Returns true if the video player has a menu (ie is playing a DVD)
|
|
|-
|-
| <code>VideoPlayer.HasInfo</code>
| <code>VideoPlayer.HasInfo</code>
| Returns true if the current playing video has information from the library or from a plugin (eg director/plot etc.)
| Returns true if the current playing video has information from the library or from a plugin (e.g. director, plot, etc).
|
|
|-
|-
| <code>VideoPlayer.Content(parameter)</code>
| <code>VideoPlayer.Content(parameter)</code>
| 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
| 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
|
|
|-
|-
| <code>VideoPlayer.HasSubtitles</code>
| <code>VideoPlayer.HasSubtitles</code>
| Returns true if there are subtitles available for video. (available for version 11.0 and above)
| Returns true if there are subtitles available for video. (available for version 11.0 and above)
|
|
|-
|-
| <code>VideoPlayer.IsStereoscopic</code>
| <code>VideoPlayer.IsStereoscopic</code>
|  Returns true when the currently playing video is a 3D (stereoscopic) video
|  Returns true when the currently playing video is a 3D (stereoscopic) video
|
|
|-
|-
| <code>VideoPlayer.SubtitlesEnabled</code>
| <code>VideoPlayer.SubtitlesEnabled</code>
| Returns true if subtitles are turned on for video. (available for version 11.0 and above)
| Returns true if subtitles are turned on for video. (available for version 11.0 and above)
|
|
|-
|-
| <code>VideoPlayer.HasEpg</code>
| <code>VideoPlayer.HasEpg</code>
| Returns true when epg information is available for the currently playing programme (PVR).
| Returns true when epg information is available for the currently playing programme (PVR).
|
|
|-
|-
| <code>VideoPlayer.HasTeletext</code>
| <code>VideoPlayer.HasTeletext</code>
| Returns true when teletext is available.
| Returns true when teletext is available.
|
|
|}
|}


=== PlayList ===
=== PlayList ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Playlist.IsRandom</code>
| <code>Playlist.IsRandom</code>
| Returns true if the player is in random mode.
| Returns true if the player is in random mode.
|
|
|-
|-
| <code>Playlist.IsRepeat</code>
| <code>Playlist.IsRepeat</code>
| Returns true if the player is in repeat all mode.
| Returns true if the player is in repeat all mode.
|
|
|-
|-
| <code>Playlist.IsRepeatOne</code>
| <code>Playlist.IsRepeatOne</code>
| Returns true if the player is in repeat one mode.
| Returns true if the player is in repeat one mode.
|
|
|}
|}


=== PVR ===
=== PVR ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Pvr.HasTimer</code>
| <code>Pvr.HasTimer</code>
| Returns true when a recording timer is active.
| Returns true when a recording timer is active.
|
|
|-
|-
| <code>Pvr.HasNonRecordingTimer</code>
| <code>Pvr.HasNonRecordingTimer</code>
| Returns true when a non recording timer is active.
| Returns true when a non recording timer is active.
|
|
|-
|-
| <code>Pvr.HasTVChannels</code>
| <code>Pvr.HasTVChannels</code>
| Returns true if there are tv channels available
| Returns true if there are tv channels available
|
|
|-
|-
| <code>Pvr.HasRadioChannels</code>
| <code>Pvr.HasRadioChannels</code>
| Returns true if there are radio channels available
| Returns true if there are radio channels available
|
|
|-
|-
| <code>Pvr.IsPlayingTv</code>
| <code>Pvr.IsPlayingTv</code>
| Returns true when live tv is being watched.
| Returns true when live tv is being watched.
|
|
|-
|-
| <code>Pvr.IsPlayingRadio</code>
| <code>Pvr.IsPlayingRadio</code>
| Returns true when live radio is being listened to.
| Returns true when live radio is being listened to.
|
|
|-
|-
| <code>Pvr.IsPlayingRecording</code>
| <code>Pvr.IsPlayingRecording</code>
| Returns true when a recording is being watched.
| Returns true when a recording is being watched.
|
|
|-
|-
| <code>Pvr.IsRecording</code>
| <code>Pvr.IsRecording</code>
| Returns true when the system is recording a tv programme.
| Returns true when the system is recording a tv programme.
|
|
|-
|-
| <code>Pvr.IsTimeShift</code>
| <code>Pvr.IsTimeShift</code>
| Returns true when the playback is timeshifted.
| Returns true when the playback is timeshifted.
|
|
|-
|-
| <code>Pvr.ActStreamIsEncrypted</code>
| <code>Pvr.ActStreamIsEncrypted</code>
|  Returns true if the stream is encrypted
|  Returns true if the stream is encrypted
|
|
|-
|-
| <code>Pvr.RadioNextRecordingChannelIcon</code>
| <code>Pvr.RadioNextRecordingChannelIcon</code>
| Icon of the next recording radio channel
| Icon of the next recording radio channel
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Pvr.IsRecordingTV</code>
| <code>Pvr.IsRecordingTV</code>
| Returns true when the system is recording a tv programme.
| Returns true when the system is recording a tv programme.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Pvr.HasTVTimer</code>
| <code>Pvr.HasTVTimer</code>
| Returns true if at least one tv timer is active.
| Returns true if at least one tv timer is active.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Pvr.HasNonRecordingTVTimer</code>
| <code>Pvr.HasNonRecordingTVTimer</code>
| Returns true if there are tv timers present who currently not do recording
| Returns true if there are tv timers present who currently not do recording
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Pvr.IsRecordingRadio</code>
| <code>Pvr.IsRecordingRadio</code>
| Returns true when the system is recording a radio programme.
| Returns true when the system is recording a radio programme.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Pvr.HasRadioTimer</code>
| <code>Pvr.HasRadioTimer</code>
| Returns true if at least one radio timer is active.
| Returns true if at least one radio timer is active.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>Pvr.HasNonRecordingRadioTimer</code>
| <code>Pvr.HasNonRecordingRadioTimer</code>
| Returns true if there are radio timers present who currently not do recording
| Returns true if there are radio timers present who currently not do recording
| {{nowrap|v17 Addition}}
| v17
|
|
|-
|-
| <code>Pvr.CanRecordPlayingChannel</code>
| <code>Pvr.CanRecordPlayingChannel</code>
| Returns true if the player can record the current internet stream.
| Returns true if the player can record the current internet stream.
| {{nowrap|v18 Addition}}
| v18
|-
|-
| <code>Pvr.IsRecordingPlayingChannel</code>
| <code>Pvr.IsRecordingPlayingChannel</code>
| Returns true if the player is recording the current internet stream.
| Returns true if the player is recording the current internet stream.
| {{nowrap|v18 Addition}}
| v18
|-
|-
| <code>Pvr.IsPlayingActiveRecording</code>
| <code>Pvr.IsPlayingActiveRecording</code>
| Returns true when Kodi is currently playing a recording that is in progress.
| Returns true when Kodi is currently playing a recording that is in progress.
| {{nowrap|v19 Addition}}
| v19
|}
|}


=== RDS ===
=== RDS ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>RDS.HasRds</code>
| <code>RDS.HasRds</code>
| Returns true if RDS is present
| Returns true if RDS is present
|
|
|-
|-
| <code>RDS.HasRadioText</code>
| <code>RDS.HasRadioText</code>
| Returns true if RDS contains also Radiotext
| Returns true if RDS contains also Radiotext
|
|
|-
|-
| <code>RDS.HasRadioTextPlus</code>
| <code>RDS.HasRadioTextPlus</code>
| Returns true if RDS with Radiotext contains also the plus information
| Returns true if RDS with Radiotext contains also the plus information
|
|
|-
|-
| <code>RDS.HasHotline</code>
| <code>RDS.HasHotline</code>
| Returns true if a hotline phone number is present (Only be available on RadiotextPlus)
| Returns true if a hotline phone number is present (Only be available on RadiotextPlus)
|
|
|-
|-
| <code>RDS.HasStudio</code>
| <code>RDS.HasStudio</code>
| Returns true if a studio name is present (Only be available on RadiotextPlus)
| Returns true if a studio name is present (Only be available on RadiotextPlus)
|
|
|}
|}


=== Skin ===
=== Skin ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Skin.HasTheme(theme)</code>
| <code>Skin.HasTheme(theme)</code>
| Returns true if the user has selected the theme with name ?theme?.
| Returns true if the user has selected the theme with name ?theme?.
|
|
|-
|-
| <code>Skin.HasSetting(setting)</code>
| <code>Skin.HasSetting(setting)</code>
| Returns the state of the <span class="nobr">skin-specified</span> setting ?setting?. You can toggle a setting from a button by using <onclick>Skin.ToggleSetting(setting)</onclick>.
| Returns the state of the <span class="nobr">skin-specified</span> setting ?setting?. You can toggle a setting from a button by using <onclick>Skin.ToggleSetting(setting)</onclick>.
|
|
|-
|-
| <code>Skin.String(string)</code>
| <code>Skin.String(string)</code>
| Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is <span class="nobr">non-empty</span>.
| Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is <span class="nobr">non-empty</span>.
|
|
|-
|-
| <code>Skin.String(string1,string2)</code>
| <code>Skin.String(string1,string2)</code>
| Same as String.IsEqual(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.
| Same as String.IsEqual(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.
|
|
|}
|}


=== SlideShow ===
=== SlideShow ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Slideshow.IsActive</code>
| <code>Slideshow.IsActive</code>
| Returns true if the picture slideshow is running
| Returns true if the picture slideshow is running
|
|
|-
|-
| <code>Slideshow.IsPaused</code>
| <code>Slideshow.IsPaused</code>
| Returns true if the picture slideshow is paused
| Returns true if the picture slideshow is paused
|
|
|-
|-
| <code>Slideshow.IsRandom</code>
| <code>Slideshow.IsRandom</code>
| Returns true if the picture slideshow is in random mode
| Returns true if the picture slideshow is in random mode
|
|
|-
|-
| <code>Slideshow.IsVideo</code>
| <code>Slideshow.IsVideo</code>
| Returns true if the picture slideshow is playing a video
| Returns true if the picture slideshow is playing a video
|
|
|}
|}


=== String ===
=== String ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>String.IsEmpty([[InfoLabels|info]])</code>
| <code>String.IsEmpty([[InfoLabels|info]])</code>
| Returns true if the [[InfoLabels|info]] is empty.<br />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.
| Returns true if the [[InfoLabels|info]] is empty.<br />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.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>String.IsEqual([[InfoLabels|info]],string)</code>
| <code>String.IsEqual([[InfoLabels|info]],string)</code>
| Returns true if the [[InfoLabels|info]] is equal to the given string.<br />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.
| Returns true if the [[InfoLabels|info]] is equal to the given string.<br />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.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>String.StartsWith([[InfoLabels|info]],substring)</code>
| <code>String.StartsWith([[InfoLabels|info]],substring)</code>
| Returns true if the [[InfoLabels|info]] starts with the given substring.<br />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.
| Returns true if the [[InfoLabels|info]] starts with the given substring.<br />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.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>String.EndsWith([[InfoLabels|info]],substring)</code>
| <code>String.EndsWith([[InfoLabels|info]],substring)</code>
| Returns true if the [[InfoLabels|info]] ends with the given substring.<br />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.
| Returns true if the [[InfoLabels|info]] ends with the given substring.<br />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.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>String.Contains([[InfoLabels|info]],substring)</code>
| <code>String.Contains([[InfoLabels|info]],substring)</code>
| Returns true if the [[InfoLabels|info]] contains the given substring.<br />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.
| Returns true if the [[InfoLabels|info]] contains the given substring.<br />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.
| {{nowrap|v17 Addition}}
| v17
|}
|}


=== System ===
=== System ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>System.AddonIsEnabled(id)</code>
| <code>System.AddonIsEnabled(id)</code>
| Returns true if the specified addon is enabled on the system
| Returns true if the specified addon is enabled on the system
| v19 addition
| v19
|-
|-
| <code>System.HasAddon(id)</code>
| <code>System.HasAddon(id)</code>
| Returns true if the specified addon is installed on the system.
| Returns true if the specified addon is installed on the system.
|
|
|-
|-
| <code>System.HasPVRAddon</code>
| <code>System.HasPVRAddon</code>
| Returns true if at least one PVR addon is installed on the system.
| Returns true if at least one PVR addon is installed on the system.
|
|
|-
|-
| <code>System.HasAlarm(alarm)</code>
| <code>System.HasAlarm(alarm)</code>
| Returns true if the system has the ?alarm? alarm set.
| Returns true if the system has the ?alarm? alarm set.
|
|
|-
|-
| <code>System.AlarmLessOrEqual(alarmname,seconds)</code>
| <code>System.AlarmLessOrEqual(alarmname,seconds)</code>
| 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.
| 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.
|
|
|-
|-
| <code>System.HasNetwork</code>
| <code>System.HasNetwork</code>
| Returns true if the ethernet cable is plugged in.
| Returns true if the ethernet cable is plugged in.
|
|
|-
|-
| <code>System.InternetState</code>
| <code>System.InternetState</code>
| Returns true if the system is connected to the internet, returns false in case no internet connection is available.
| Returns true if the system is connected to the internet, returns false in case no internet connection is available.
|
|
|-
|-
| <code>System.HasMediadvd</code>
| <code>System.HasMediadvd</code>
| Returns true if there is a CD or DVD in the <span class="nobr">DVD-ROM</span> drive.
| Returns true if there is a CD or DVD in the <span class="nobr">DVD-ROM</span> drive.
|  
|
|-
|-
| <code>System.HasMediaAudioCD</code>
| <code>System.HasMediaAudioCD</code>
| Returns true if there is an audio CD in the optical drive. False if no drive available, empty drive or other medium.
| Returns true if there is an audio CD in the optical drive. False if no drive available, empty drive or other medium.
| v18 Addition
| v18
|-
|-
| <code>System.IdleTime(time)</code>
| <code>System.IdleTime(time)</code>
| Returns true if Kodi has had no input for ?time? amount of seconds.
| Returns true if Kodi has had no input for ?time? amount of seconds.
|
|
|-
|-
| <code>System.IsStandalone</code>
| <code>System.IsStandalone</code>
| Returns true if Kodi is running in standalone mode.
| Returns true if Kodi is running in standalone mode.
|
|
|-
|-
| <code>System.IsFullscreen</code>
| <code>System.IsFullscreen</code>
| Returns true if Kodi is running fullscreen.
| Returns true if Kodi is running fullscreen.
|
|
|-
|-
| <code>System.IsLoggedOn</code>
| <code>System.IsLoggedOn</code>
| Returns true if a user is currently logged on under a [[Profiles|profile]]
| Returns true if a user is currently logged on under a [[Profiles| profile]]
|
|
|-
|-
| <code>System.HasLoginScreen</code>
| <code>System.HasLoginScreen</code>
| Returns true if the [[Profiles|profile]] login screen is enabled
| Returns true if the [[Profiles| profile]] login screen is enabled
|
|
|-
|-
| <code>System.HasActiveModalDialog</code>
| <code>System.HasActiveModalDialog</code>
| Returns true true when a modal dialog is active, disregarding any animations (Leia (v18) and newer versions)
| Returns true true when a modal dialog is active, disregarding any animations (Leia (v18) and newer versions)
| v18
| v18
|-
|-
| <code>System.HasVisibleModalDialog</code>
| <code>System.HasVisibleModalDialog</code>
| Returns true if a modal dialog is visible, eg when the animations are finished (Leia (v18) and newer versions)
| Returns true if a modal dialog is visible, e.g. when the animations are finished (Leia (v18) and newer versions)
| v18
| v18
|-
|-
| <code>System.Time(startTime,endTime)</code>
| <code>System.Time(startTime,endTime)</code>
| Returns true if the current system time is >= startTime and < endTime.  endTime is optional.  Time must be specified in the format HH:mm, using a 24 hour clock.
| Returns true if the current system time is >= startTime and < endTime.  endTime is optional.  Time must be specified in the format HH:mm, using a 24 hour clock.
|
|
|-
|-
| <code>System.Date(startDate,endDate)</code>
| <code>System.Date(startDate,endDate)</code>
| Returns true if the current system date is >= startDate and < endDate.  endDate is optional.  Date must be specified in the format MM-DD.
| Returns true if the current system date is >= startDate and < endDate.  endDate is optional.  Date must be specified in the format MM-DD.
|
|
|-
|-
| <code>System.Platform.Linux</code>
| <code>System.Platform.Linux</code>
| Returns true if Kodi is running on a linux/unix based computer.
| Returns true if Kodi is running on a linux/unix based computer.
|
|
|-
|-
| <code>System.Platform.Windows</code>
| <code>System.Platform.Windows</code>
| Returns true if Kodi is running on a windows based computer.
| Returns true if Kodi is running on a windows based computer.
|
|
|-
|-
| <code>System.Platform.OSX</code>
| <code>System.Platform.OSX</code>
| Returns true if Kodi is running on an OSX based computer.
| Returns true if Kodi is running on an OSX based computer.
|
|
|-
|-
| <code>System.Platform.IOS</code>
| <code>System.Platform.IOS</code>
| Returns true if Kodi is running on an IOS device.
| Returns true if Kodi is running on an IOS device.
|
|
|-
|-
| <code>System.Platform.Darwin</code>
| <code>System.Platform.Darwin</code>
| Returns true if Kodi is running on an OSX or IOS system.
| Returns true if Kodi is running on an OSX or IOS system.
|
|
|-
|-
| <code>System.Platform.Android</code>
| <code>System.Platform.Android</code>
| Returns true if Kodi is running on an android device.
| Returns true if Kodi is running on an android device.
|
|
|-
|-
| <code>System.Platform.UWP</code>
| <code>System.Platform.UWP</code>
| Returns true if Kodi is running on Universal Windows Platform (UWP).
| Returns true if Kodi is running on Universal Windows Platform (UWP).
| {{nowrap|v18 Addition}}
| v18
|-
|-
| <code>System.CanPowerDown</code>
| <code>System.CanPowerDown</code>
| Returns true if Kodi can powerdown the system.
| Returns true if Kodi can powerdown the system.
|
|
|-
|-
| <code>System.CanSuspend</code>
| <code>System.CanSuspend</code>
| Returns true if Kodi can suspend the system.
| Returns true if Kodi can suspend the system.
|
|
|-
|-
| <code>System.CanHibernate</code>
| <code>System.CanHibernate</code>
| Returns true if Kodi can hibernate the system.
| Returns true if Kodi can hibernate the system.
|
|
|-
|-
| <code>System.HasHiddenInput</code>
| <code>System.HasHiddenInput</code>
| Return true when to osd keyboard/numeric dialog requests a password/pincode.
| Return true when to osd keyboard/numeric dialog requests a password/pincode.
|
|
|-
|-
| <code>System.CanReboot</code>
| <code>System.CanReboot</code>
| Returns true if Kodi can reboot the system.
| Returns true if Kodi can reboot the system.
|
|
|-
|-
| <code>System.ScreenSaverActive</code>
| <code>System.ScreenSaverActive</code>
| Returns true if ScreenSaver is active.
| Returns true if ScreenSaver is active.
|
|
|-
|-
| <code>System.Setting(hidewatched)</code>
| <code>System.Setting(hidewatched)</code>
| Returns true if 'hide watched items' is selected.
| Returns true if 'hide watched items' is selected.
|
|
|-
|-
| <code>System.IsInhibit</code>
| <code>System.IsInhibit</code>
| Returns true when shutdown on idle is disabled.
| Returns true when shutdown on idle is disabled.
|
|
|-
|-
| <code>System.HasShutdown</code>
| <code>System.HasShutdown</code>
| Returns true when shutdown on idle is enabled.
| Returns true when shutdown on idle is enabled.
|
|
|-
|-
| <code>System.HasCMS</code>
| <code>System.HasCMS</code>
| Returns true if colour management is supported in Kodi.
| Returns true if colour management is supported in Kodi.
| {{nowrap|v17 Addition}}
| v17
|-
|-
| <code>System.GetBool(boolean)</code>
| <code>System.GetBool(boolean)</code>
| Returns the value of any standard system boolean setting.  Will not work with settings in advancedsettings.xml
| Returns the value of any standard system boolean setting.  Will not work with settings in advancedsettings.xml
|
|
|-
|-
| <code>System.HasLocks</code>
| <code>System.HasLocks</code>
| Returns true if the profile has lock preferences configured
| Returns true if the profile has lock preferences configured
|
|
|-
|-
| <code>System.IsMaster</code>
| <code>System.IsMaster</code>
| Returns true if the profile has entered the master mode
| Returns true if the profile has entered the master mode
|
|
|-
|-
| <code>System.SupportsCPUUsage</code>
| <code>System.SupportsCPUUsage</code>
| Return True if the system provides CPU info
| Return True if the system provides CPU info
| {{nowrap|v19 Addition}}
| v19
|}
|}


=== Visualisation ===
=== Visualisation ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Visualisation.Enabled</code>
| <code>Visualisation.Enabled</code>
| Returns true if any visualisation has been set in settings (so not None).
| Returns true if any visualisation has been set in settings (so not None).
|
|
|-
|-
| <code>Visualisation.HasPresets</code>
| <code>Visualisation.HasPresets</code>
| Returns true if the visualisation has built in presets.
| Returns true if the visualisation has built in presets.
|
|
|-
|-
| <code>Visualisation.Locked</code>
| <code>Visualisation.Locked</code>
| Returns true if the current visualisation preset is locked (eg in Milkdrop.)
| Returns true if the current visualisation preset is locked (e.g. in Milkdrop.)
|
|
|}
|}


=== Weather ===
=== Weather ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Weather.IsFetched</code>
| <code>Weather.IsFetched</code>
| Returns true if the weather data has been downloaded.
| Returns true if the weather data has been downloaded.
|
|
|}
|}


=== Window ===
=== Window ===
{| class="prettytable" width="100%"
{| class="wikitable sortable" width="100%"
! InfoLabels
! Labels
! style="80%" | Definition
! style="80%" | Description
! Version
! Version
|-
|-
| <code>Window.IsVisible(window)</code>
| <code>Window.IsVisible(window)</code>
| Returns true if the window is visible (includes fade out time on dialogs)
| Returns true if the window is visible (includes fade out time on dialogs)
|
|
|-
|-
| <code>Window.IsActive(window)</code>
| <code>Window.IsActive(window)</code>
| 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]]
| 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]]
|
|
|-
|-
| <code>Window.IsTopMost(window)</code>
| <code>Window.IsTopMost(window)</code>
| 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]]
| 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]]
|
|
|-
|-
| <code>Window.IsMedia</code>
| <code>Window.IsMedia</code>
| Returns true if this window is a media window (programs, music, video, scripts, pictures)
| Returns true if this window is a media window (programs, music, video, scripts, pictures)
|
|
|-
|-
| <code>Window.Next(window)</code>
| <code>Window.Next(window)</code>
| 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.
| 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.
|
|
|-
|-
| <code>Window.Previous(window)</code>
| <code>Window.Previous(window)</code>
| 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.
| 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.
|
|
|-
|-
| <code>Window.Is(name)</code>
| <code>Window.Is(name)</code>
| Useful in xml files that are shared between multiple windows/dialogs. Will return true if the window with the given name is visible
| Useful in xml files that are shared between multiple windows/dialogs. Will return true if the window with the given name is visible
| v17 addition
| v17
|}
|}
<section end="main content" />
<section end="main content" />

Latest revision as of 10:08, 22 June 2025

  ▶ Development ▶ Add-on development ▶ Skinning ▶ List of boolean conditions


Skins can use boolean conditions with the <visible> tag or with condition attributes. Scripts can read boolean conditions with xbmc.getCondVisibility(condition).

Global

Labels Description
true Returns
Always evaluates to true.
false Returns
Always evaluates to false.
yes Returns
same as true.
no Returns
same as false.

Addon

Labels Description Version
Addon.SettingBool(addon_id,setting_id) Returns
True if the setting setting_id belonging to the addon with the id addon_id is True, False otherwise.

Parameters

addon_id - The id of the addon
setting_id - The addon setting

Note
The provided setting with setting_id must be a boolean setting type.
Otherwise it will return the boolean info default value (which is 0).

v20

Container

Labels Description Version
Container.CanFilter Returns
True when the current container can be filtered.
Container.CanFilterAdvanced Returns
True when advanced filtering can be applied to the current container.
Container.Content(parameter) Returns
True if the current container you are in contains the following:
  • actors
  • addons
  • albums
  • artists
  • directors
  • episodes
  • files
  • genres
  • livetv
  • movies
  • musicvideos
  • playlists
  • plugins
  • seasons
  • sets
  • songs
  • studios
  • tags
  • tvshows
  • years

Note
These currently only work in the Video and Music Library, unless a Plugin has set the value.

Container.Filtered Returns
True when a mediafilter is applied to the current container.
Container.HasFiles Returns
True if the container contains files.
Container.HasFolders Returns
True if the container contains folders.
Container.HasThumb Returns
True if the current container you are in has a thumb assigned to it.
Container.IsStacked Returns
True if the container is currently in stacked mode.
Container.SortDirection(ascending) Returns
True if the sort direction of a container is ascending.
Container.SortDirection(descending) Returns
True if the sort direction of a container is descending.
Container.Sortmethod(sortid) Returns
True if the current sort method matches the specified SortID [see list of sort methods].
Container(id).Column(column_number) Returns
True if the container with id is focused on the column given.

Parameters

column_number - The column number.

Note
If no id is specified it grabs the current container.

Container(id).HasFocus(item_number) Returns
True if the container with id has static content and is focused on the item with id item_number.

Note
If no id is specified it grabs the current container.

Container(id).HasNext Returns
True if the container or textbox with id has a next page.

Note
If no id is specified it grabs the current container.

Container(id).HasParent Returns
True when the container with id contains a parent ('..') item.

Note
If no id is specified it grabs the current container.

Container(id).HasPrevious Returns
True if the container or textbox with id has a previous page.

Note
If no id is specified it grabs the current container.

Container(id).IsUpdating Returns
True if the container with dynamic list content is currently updating.

Note
If no id is specified it grabs the current container.

Container(id).OnNext Returns
True if the container with id is moving to the next item.
Allows views to be custom-designed, such as 3D cover views, etc.

Note
If no id is specified it grabs the current container.

Container(id).OnPrevious Returns
True if the container with id is moving to the previous item.
Allows views to be custom-designed, such as 3D cover views, etc.

Note
If no id is specified it grabs the current container.

Container(id).OnScrollNext Returns
True if the container with id is scrolling to the next item.
Differs from OnNext in that OnNext triggers on movement even if there is no scroll involved.

Note
If no id is specified it grabs the current container.

Container(id).OnScrollPrevious Returns
True if the container with id is scrolling to the previous item.
Differs from OnPrevious in that OnPrevious triggers on movement even if there is no scroll involved.

Note
If no id is specified it grabs the current container.

Container(id).Position(position_number) Returns
True if the container with id is focused on the position given.

Parameters

position_number - The position number.

Note
If no id is specified it grabs the current container.

Container(id).Row(row_number) Returns
True if the container with id is focused on the row given.

Parameters

row_number - The row number.

Note
If no id is specified it grabs the current container.

Container(id).Scrolling Returns
True if the user is currently scrolling through the container with id.

Note
If no id is specified it grabs the current container.
This is slightly delayed from the actual scroll start.
Use Container(id).OnScrollNext/OnScrollPrevious to trigger animations immediately on scroll.

Container(id).SubItem Returns
True if the container with id is focused on the specified subitem.

Note
If no id is specified it grabs the current container.

Control

Labels Description Version
Control.HasFocus(id) Returns
True if the currently focused control has id "id".

Parameters

id - The id of the control.
Control.IsEnabled(id) Returns
True if the control with id "id" is enabled.

Parameters

id - The id of the control.
Control.IsVisible(id) Returns
True if the control with id "id" is visible.

Parameters

id - The id of the control.
ControlGroup(group).HasFocus(id) Returns
True if the control group with id “group” has control id “id” as its focused item.

Parameters

group - The id of the group.
id - The id of the focused item.

Note
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”.
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”.
WARNING
Avoid using IDs 9000-9999 as this is the range assigned to groups with no ID value.

Integer

Labels Description Version
Integer.IsEqual(info,number) Returns true if the value of the infolabel is equal to the supplied number.
Example: Integer.IsEqual(ListItem.Year,2000)
v17
Integer.IsEven(info) Returns true if the value of the infolabel is even.
Example: Integer.IsEven(ListItem.CurrentItem)
v19
Integer.IsGreater(info,number) Returns true if the value of the infolabel is greater than to the supplied number.
Example: Integer.IsGreater(ListItem.Year,2000)
v17
Integer.IsGreaterOrEqual(info,number) Returns true if the value of the infolabel is greater or equal to the supplied number.
Example: Integer.IsGreaterOrEqual(ListItem.Year,2000)
v17
Integer.IsLess(info,number) Returns true if the value of the infolabel is less than the supplied number.
Example: Integer.IsLess(ListItem.Year,2000)
v17
Integer.IsLessOrEqual(info,number) Returns true if the value of the infolabel is less or equal to the supplied number.
Example: Integer.IsLessOrEqual(ListItem.Year,2000)
v17
Integer.IsOdd(info) Returns true if the value of the infolabel is odd.
Example: Integer.IsOdd(ListItem.CurrentItem)
v19

Library

Labels Description Version
Library.HasContent(string) Returns true if the Kodi libraries have the content from string. Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets, BoxSets)
Library.IsScanningMusic Returns true if the music library is being updated
Library.IsScanningVideo Returns true if the video library is being updated
Library.HasContent(Role,Composer) 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 v17
Library.HasNode(path) Returns True if the specified node is available (example: Library.HasNode(library://video/movies/titles.xml)) v19

ListItem

Labels Description Version
ListItem.HasVideoVersions Returns true if the ListItem has video versions
ListItem.HasVideoExtras Returns true if the ListItem has video extras
ListItem.IsFolder Returns whether the current ListItem is a folder
ListItem.IsPlaying Returns whether the current ListItem.* info labels and images are currently Playing media
ListItem.IsResumable Returns true when the current ListItem has been partially played
ListItem.IsCollection Returns true when the current ListItem is a movie set
ListItem.IsSelected Returns whether the current ListItem is selected (f.e. currently playing in playlist window)
ListItem.HasArchive Returns True when the selected channel has a server-side back buffer (PVR) v19
ListItem.HasEpg Returns true when the selected programme has epg info (PVR)
ListItem.HasReminder Returns True if the item has a reminder set (PVR) v19
ListItem.HasReminderRule Returns True if the item was scheduled by a reminder timer rule (PVR) v19
ListItem.HasTimer Returns true when a recording timer has been set for the selected programme (PVR)
ListItem.IsRecording Returns true when the selected programme is being recorded (PVR)
ListItem.IsEncrypted Returns true when the selected programme is encrypted (PVR)
ListItem.IsStereoscopic Returns true when the selected video is a 3D (stereoscopic) video
ListItem.Property(Stream.Is3D) Returns true if the video stream is a 3D (stereoscopic) video, for use in dialogselect.xml v22
ListItem.Property(Stream.IsDefault) Returns true if the audio/video/subtitle stream is default, for use in dialogselect.xml v22
ListItem.Property(Stream.IsExternal) Returns true if the subtitle stream is external, for use in dialogselect.xml v22
ListItem.Property(Stream.IsForced) Returns true if the audio/subtitle stream is forced, for use in dialogselect.xml v22
ListItem.Property(Stream.IsHearingImpaired) Returns true if the subtitle stream is for the hearing impaired (aka SDH-Subtitles for the Deaf or Hard-of-Hearing/CC-Closed Captions), for use in dialogselect.xml v22
ListItem.Property(Stream.IsOriginal) Returns true if the audio/subtitle stream is in the original language, for use in dialogselect.xml v22
ListItem.Property(Stream.IsVisualImpaired) Returns true if the audio stream is for the visually impaired (aka AD-Audio Description), for use in dialogselect.xml v22
ListItem.Property(IsSpecial) Returns whether the current Season/Episode is a Special
ListItem.Property(DateLabel) 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.
ListItem.Property(Addon.IsEnabled) Returns true when the selected addon is enabled (for use in the addon info dialog only).
ListItem.Property(Addon.IsInstalled) Returns true when the selected addon is installed (for use in the addon info dialog only).
ListItem.Property(Addon.HasUpdate) Returns true when there's an update available for the selected addon.
ListItem.HasTimerSchedule Whether the item is part of a repeating timer schedule (PVR). v16
ListItem.TimerHasError Whether the item has a timer and it won't be recorded because of an error (PVR). v17
ListItem.TimerHasConflict Whether the item has a timer and it won't be recorded because of a conflict (PVR). v17
ListItem.TimerIsActive Whether the item has a timer that will be recorded, i.e. the timer is enabled (PVR). v17
ListItem.Property(Addon.Orphaned) Returns true if the slected addon is orphaned (not needed anymore by any other addon) v17
ListItem.IsParentFolder Returns true is the slected item is the 'up' item v17
ListItem.IsNew Returns true if the item is a premiere (for example, a Live TV show that will be first aired) (PVR) v19
ListItem.IsPlayable Returns True when the selected programme can be played (PVR) v19
ListItem.IsBoxset Returns True if the item is part of a boxset album v19
ListItem.IsPremiere Returns true if the item is a premiere (for example, a Movie first showing or season first on Live TV) v19
ListItem.IsFinale Returns true if the item is a finale (for example, a season finale showing on Live TV) v19
ListItem.IsLive Returns true if the item is live (for example, a Live TV sports event) v19
ListItem.Property(Addon.IsFromOfficialRepo) Returns true if the addon is from an official repository v19
ListItem.Property(Addon.IsBinary) Returns true for binary addons v19
ListItem.Property(Addon.IsUpdate) Returns True if this add-on is a valid update of an installed outdated add-on v19
ListItem.IsAutoUpdateable Returns True if this add-on can be updated automatically v19

Network

InfoLabels Description Version
Network.IsDHCP Returns
True if the network type is DHCP.

Note
Network type can be either DHCP or FIXED.

Player

Labels Description Version
Player.HasMedia Returns true if the player has an audio or video file.
Player.HasAudio Returns true if the player has an audio file.
Player.HasDuration Returns true if Media isn't a true stream
Player.HasVideo Returns true if the player has a video file.
Player.Passthrough Returns true if the player is using audio passthrough.
Player.Playing Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)
Player.Paused Returns true if the player is paused.
Player.Forwarding Returns true if the player is fast forwarding.
Player.Forwarding2x Returns true if the player is fast forwarding at 2x.
Player.Forwarding4x Returns true if the player is fast forwarding at 4x.
Player.Forwarding8x Returns true if the player is fast forwarding at 8x.
Player.Forwarding16x Returns true if the player is fast forwarding at 16x.
Player.IsLive Returns if the inputstream of the player is a live stream (a.k.a. real time stream). v22
Player.Forwarding32x Returns true if the player is fast forwarding at 32x.
Player.Rewinding Returns true if the player is rewinding.
Player.Rewinding2x Returns true if the player is rewinding at 2x.
Player.Rewinding4x Returns true if the player is rewinding at 4x.
Player.Rewinding8x Returns true if the player is rewinding at 8x.
Player.Rewinding16x Returns true if the player is rewinding at 16x.
Player.Rewinding32x Returns true if the player is rewinding at 32x.
Player.PauseEnabled Returns true if the currently playing stream can be paused.
Player.Caching Returns true if the player is current re-caching data (internet based video playback).
Player.DisplayAfterSeek Returns true for the first 2.5 seconds after a seek.
Player.Seeking Returns true if a seek is in progress
Player.SeekEnabled Returns true if player can seek
Player.ShowTime Returns true if the user has requested the time to show (occurs in video fullscreen)
Player.ShowInfo Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)
Player.IsInternetStream Returns true if the player is playing an internet stream.
Player.Muted Returns true if the volume is muted.
Player.Process(videohwdecoder) Returns true if the currently playing video is decoded in hardware v17
Player.TempoEnabled Returns true if the current player supports changing the playback speed v17
Player.IsTempo Returns true if the current playbackspeed is not equal to 1 v17
Player.HasGame Returns true if the player is playing a game v18
Player.HasResolutions Returns true when multiple resolutions are available v18
Player.FrameAdvance Returns true if player is in frame advance mode v18
Player.ChannelPreviewActive Returns true if PVR channel preview is active (used channel tag different from played tag)

MusicPlayer

Labels Description Version
MusicPlayer.HasNext Returns true if the music player has a next song queued in the Playlist.
MusicPlayer.HasPrevious Returns true if the music player has a a Previous Song in the Playlist .
MusicPlayer.Offset(number).Exists Returns true if the music players playlist has a song queued in position (number).
MusicPlayer.Content(parameter) Returns true if the current audio you are playing matches the specified content. The following values are accepted: files, livetv
MusicPartyMode.Enabled Returns true if Party Mode is enabled
MusicPlayer.IsMultiDisc Returns true if the current album consists of two or more discs v19

VideoPlayer

Labels Description Version
VideoPlayer.HasVideoVersions Returns true if the currently playing video has versions. v21
VideoPlayer.UsingOverlays 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.
VideoPlayer.IsFullscreen Returns true if the video player is in fullscreen mode.
VideoPlayer.HasMenu Returns true if the video player has a menu (ie is playing a DVD)
VideoPlayer.HasInfo Returns true if the current playing video has information from the library or from a plugin (e.g. director, plot, etc).
VideoPlayer.Content(parameter) 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
VideoPlayer.HasSubtitles Returns true if there are subtitles available for video. (available for version 11.0 and above)
VideoPlayer.IsStereoscopic Returns true when the currently playing video is a 3D (stereoscopic) video
VideoPlayer.SubtitlesEnabled Returns true if subtitles are turned on for video. (available for version 11.0 and above)
VideoPlayer.HasEpg Returns true when epg information is available for the currently playing programme (PVR).
VideoPlayer.HasTeletext Returns true when teletext is available.

PlayList

Labels Description Version
Playlist.IsRandom Returns true if the player is in random mode.
Playlist.IsRepeat Returns true if the player is in repeat all mode.
Playlist.IsRepeatOne Returns true if the player is in repeat one mode.

PVR

Labels Description Version
Pvr.HasTimer Returns true when a recording timer is active.
Pvr.HasNonRecordingTimer Returns true when a non recording timer is active.
Pvr.HasTVChannels Returns true if there are tv channels available
Pvr.HasRadioChannels Returns true if there are radio channels available
Pvr.IsPlayingTv Returns true when live tv is being watched.
Pvr.IsPlayingRadio Returns true when live radio is being listened to.
Pvr.IsPlayingRecording Returns true when a recording is being watched.
Pvr.IsRecording Returns true when the system is recording a tv programme.
Pvr.IsTimeShift Returns true when the playback is timeshifted.
Pvr.ActStreamIsEncrypted Returns true if the stream is encrypted
Pvr.RadioNextRecordingChannelIcon Icon of the next recording radio channel v17
Pvr.IsRecordingTV Returns true when the system is recording a tv programme. v17
Pvr.HasTVTimer Returns true if at least one tv timer is active. v17
Pvr.HasNonRecordingTVTimer Returns true if there are tv timers present who currently not do recording v17
Pvr.IsRecordingRadio Returns true when the system is recording a radio programme. v17
Pvr.HasRadioTimer Returns true if at least one radio timer is active. v17
Pvr.HasNonRecordingRadioTimer Returns true if there are radio timers present who currently not do recording v17
Pvr.CanRecordPlayingChannel Returns true if the player can record the current internet stream. v18
Pvr.IsRecordingPlayingChannel Returns true if the player is recording the current internet stream. v18
Pvr.IsPlayingActiveRecording Returns true when Kodi is currently playing a recording that is in progress. v19

RDS

Labels Description Version
RDS.HasRds Returns true if RDS is present
RDS.HasRadioText Returns true if RDS contains also Radiotext
RDS.HasRadioTextPlus Returns true if RDS with Radiotext contains also the plus information
RDS.HasHotline Returns true if a hotline phone number is present (Only be available on RadiotextPlus)
RDS.HasStudio Returns true if a studio name is present (Only be available on RadiotextPlus)

Skin

Labels Description Version
Skin.HasTheme(theme) Returns true if the user has selected the theme with name ?theme?.
Skin.HasSetting(setting) Returns the state of the skin-specified setting ?setting?. You can toggle a setting from a button by using <onclick>Skin.ToggleSetting(setting)</onclick>.
Skin.String(string) Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is non-empty.
Skin.String(string1,string2) Same as String.IsEqual(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.

SlideShow

Labels Description Version
Slideshow.IsActive Returns true if the picture slideshow is running
Slideshow.IsPaused Returns true if the picture slideshow is paused
Slideshow.IsRandom Returns true if the picture slideshow is in random mode
Slideshow.IsVideo Returns true if the picture slideshow is playing a video

String

Labels Description Version
String.IsEmpty(info) Returns true if the info is empty.
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.
v17
String.IsEqual(info,string) Returns true if the info is equal to the given string.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.
v17
String.StartsWith(info,substring) Returns true if the info starts with the given substring.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.
v17
String.EndsWith(info,substring) Returns true if the info ends with the given substring.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.
v17
String.Contains(info,substring) Returns true if the info contains the given substring.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.
v17

System

Labels Description Version
System.AddonIsEnabled(id) Returns true if the specified addon is enabled on the system v19
System.HasAddon(id) Returns true if the specified addon is installed on the system.
System.HasPVRAddon Returns true if at least one PVR addon is installed on the system.
System.HasAlarm(alarm) Returns true if the system has the ?alarm? alarm set.
System.AlarmLessOrEqual(alarmname,seconds) 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.
System.HasNetwork Returns true if the ethernet cable is plugged in.
System.InternetState Returns true if the system is connected to the internet, returns false in case no internet connection is available.
System.HasMediadvd Returns true if there is a CD or DVD in the DVD-ROM drive.
System.HasMediaAudioCD Returns true if there is an audio CD in the optical drive. False if no drive available, empty drive or other medium. v18
System.IdleTime(time) Returns true if Kodi has had no input for ?time? amount of seconds.
System.IsStandalone Returns true if Kodi is running in standalone mode.
System.IsFullscreen Returns true if Kodi is running fullscreen.
System.IsLoggedOn Returns true if a user is currently logged on under a profile
System.HasLoginScreen Returns true if the profile login screen is enabled
System.HasActiveModalDialog Returns true true when a modal dialog is active, disregarding any animations (Leia (v18) and newer versions) v18
System.HasVisibleModalDialog Returns true if a modal dialog is visible, e.g. when the animations are finished (Leia (v18) and newer versions) v18
System.Time(startTime,endTime) Returns true if the current system time is >= startTime and < endTime. endTime is optional. Time must be specified in the format HH:mm, using a 24 hour clock.
System.Date(startDate,endDate) Returns true if the current system date is >= startDate and < endDate. endDate is optional. Date must be specified in the format MM-DD.
System.Platform.Linux Returns true if Kodi is running on a linux/unix based computer.
System.Platform.Windows Returns true if Kodi is running on a windows based computer.
System.Platform.OSX Returns true if Kodi is running on an OSX based computer.
System.Platform.IOS Returns true if Kodi is running on an IOS device.
System.Platform.Darwin Returns true if Kodi is running on an OSX or IOS system.
System.Platform.Android Returns true if Kodi is running on an android device.
System.Platform.UWP Returns true if Kodi is running on Universal Windows Platform (UWP). v18
System.CanPowerDown Returns true if Kodi can powerdown the system.
System.CanSuspend Returns true if Kodi can suspend the system.
System.CanHibernate Returns true if Kodi can hibernate the system.
System.HasHiddenInput Return true when to osd keyboard/numeric dialog requests a password/pincode.
System.CanReboot Returns true if Kodi can reboot the system.
System.ScreenSaverActive Returns true if ScreenSaver is active.
System.Setting(hidewatched) Returns true if 'hide watched items' is selected.
System.IsInhibit Returns true when shutdown on idle is disabled.
System.HasShutdown Returns true when shutdown on idle is enabled.
System.HasCMS Returns true if colour management is supported in Kodi. v17
System.GetBool(boolean) Returns the value of any standard system boolean setting. Will not work with settings in advancedsettings.xml
System.HasLocks Returns true if the profile has lock preferences configured
System.IsMaster Returns true if the profile has entered the master mode
System.SupportsCPUUsage Return True if the system provides CPU info v19

Visualisation

Labels Description Version
Visualisation.Enabled Returns true if any visualisation has been set in settings (so not None).
Visualisation.HasPresets Returns true if the visualisation has built in presets.
Visualisation.Locked Returns true if the current visualisation preset is locked (e.g. in Milkdrop.)

Weather

Labels Description Version
Weather.IsFetched Returns true if the weather data has been downloaded.

Window

Labels Description Version
Window.IsVisible(window) Returns true if the window is visible (includes fade out time on dialogs)
Window.IsActive(window) Returns true if the window with id or title ?window? is active (excludes fade out time on dialogs) See here for a list of windows
Window.IsTopMost(window) Returns true if the window with id or title ?window? is on top of the window stack (excludes fade out time on dialogs) See here for a list of windows
Window.IsMedia Returns true if this window is a media window (programs, music, video, scripts, pictures)
Window.Next(window) Returns true if the window with id or title ?window? is being moved to. See here for a list of windows. Only valid while windows are changing.
Window.Previous(window) Returns true if the window with id or title ?window? is being moved from. See here for a list of windows. Only valid while windows are changing.
Window.Is(name) Useful in xml files that are shared between multiple windows/dialogs. Will return true if the window with the given name is visible v17


See also

Development:


Return to top