XBMC will be renamed to Kodi for v14. Read here for more details

advancedsettings.xml

From Kodi
(Redirected from AdvancedSettings.xml)
Jump to: navigation, search

Contents

Home icon grey.png   ▶ Settings ▶ advancedsettings.xml
Note: The advancedsettings.xml file does not exist by default. You have to create it first!

The advancedsettings.xml file, which does not exist by default, can be created by a user in their userdata folder. This file is used for advanced settings and options that do not have GUI controls inside of XBMC. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is "advancedsettings.xml". These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.

The following page will describe the structure of the advancedsettings.xml file and the various individual settings.

Note:
  1. All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the <advancedsettings> and </advancedsettings> tags.
  2. XBMC will only read the advancedsettings.xml file when it starts up. If you make changes while XBMC is running then you must restart XBMC.
  3. For some Windows versions, XBMC has two \userdata\ folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in %appdata%\XBMC\userdata\.

1 Layout

The layout of advancedsettings.xml is as follows:

<advancedsettings>
    <setting>value</setting>
    ...
    <setting>value</setting>
</advancedsettings>

where "setting" gives the name of the setting, and "value" gives it's value.

A list of the available "setting" strings and their values is given below.

2 List of available settings

2.1 Troubleshooting settings

2.1.1 loglevel

<loglevel hide="attribute">options</loglevel>

The logging level that XBMC will use to log errors and information. The "hide" attribute is optional.

Attribute options:

true Hides "enable debugging" guisetting.
false "enable debugging" guisetting will switch between min(loglevel, 0) and max(loglevel, 2) for off and on respectively. (Default)

Main options:

-1 No logging, suppresses all log output
0 Normal logging, only logging errors (Default)
1 Debug logging (without showing text on screen)
2 Debug logging with freemem, fps and cpu usage shown on screen
3 Debug logging with freemem, fps and cpu usage and full smb logging
Example:
    <loglevel hide="false">1</loglevel>


Note: If debugging is switched on in the GUI, loglevel will be set to 2 (log to both file and on-screen information); this will over-ride any advancedsettings.xml setting.

Note: If debugging is switched on in the GUI when XBMC is shut down, then it will be automatically be re-enabled at level 2 when XBMC is re-started. This is true even if 'hide' is subsequently set to 'true' - in other words, if you enable it in the GUI and then hide the GUI toggle, it will stay on level 2 irrespective of what you subsequently set in advancedsettings.xml.


2.1.2 jsonrpc

To make it easier for developers using the JSON RPC API in their (third party) applications to debug during development the json output of XBMC can be prettified by setting compactoutput to false. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans. Furthermore using the tcpport setting it is possible to change the default TCP port used by XBMC for JSON RPC (which is 9090) to any other valid port.

Example:

<jsonrpc>
    <compactoutput>false</compactoutput>
    <tcpport>9999</tcpport>
</jsonrpc>

2.1.3 other - enableairtunesdebuglog

See: #enableairtunesdebuglog

2.2 Audio/video playback settings

2.2.1 skiploopfilter

The amount of the loop filter to skip on h264 decoding. This can help the performance of slower machines when decoding h264 content. Values, in decreasing CPU usage (and decreasing quality)

  • -16 None
  • 0 Skip only empty frames (default)
  • 8 Skip non-reference frames (default on ATV)
  • 16 Skip bi-dir frames
  • 32 Skip all non-key frames
  • 48 Skip all frames

Example:

  <skiploopfilter>8</skiploopfilter>

2.2.2 video

<video>
  <subsdelayrange>10</subsdelayrange>  <!-- Delay range for subtitles, in seconds. -->
  <audiodelayrange>10</audiodelayrange>  <!-- Delay range for audio/video sync, in seconds. -->
  <smallstepbackseconds>7</smallstepbackseconds>  <!-- Length of the small skip back when playing a video -->
  <usetimeseeking>true</usetimeseeking>  <!-- Whether to use time based or percentage based seeking. -->
  <timeseekforward>30</timeseekforward>  <!-- Time to seek forward in seconds when doing a short seek.  Defaults to 30. -->
  <timeseekbackward>-30</timeseekbackward>  <!-- Time to seek backward in seconds when doing a short seek.  Defaults to -30. -->
  <timeseekforwardbig>600</timeseekforwardbig>  <!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes). -->
  <timeseekbackwardbig>-600</timeseekbackwardbig>  <!-- Time to seek forward in seconds when doing a long seek.  Defaults to -600 (10 minutes). -->
  <percentseekforward>2</percentseekforward>  <!-- Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2. -->
  <percentseekbackward>-2</percentseekbackward>  <!-- Amount to seek backward as a percentage, when doing a short seek.  Defaults to -2. -->
  <percentseekforwardbig>10</percentseekforwardbig>  <!-- Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10. -->
  <percentseekbackwardbig>-10</percentseekbackwardbig>  <!-- Amount to seek forward as a percentage, when doing a long seek.  Defaults to -10. -->
  <blackbarcolour>1</blackbarcolour>  <!-- colour of the black bars (0->255), (black->white) on videos. -->
  <fullscreenonmoviestart>true</fullscreenonmoviestart> <!-- Whether to go to fullscreen or not when starting a movie. Defaults to true. -->
  <defaultplayer>dvdplayer</defaultplayer> <!-- Set the default video player: dvdplayer or extplayer. -->
  <excludefromscan> <!-- Regular expressions that if evaluated to true won't be added to library. -->
    <regexp>[-\._ ](sample|trailer)[-\._ ]</regexp>
  </excludefromscan>
  <excludefromlisting> <!-- Regular expressions that if evaluated to true won't be displayed in Files View -->
    <regexp>[-\._ ](sample|trailer)[-\._ ]</regexp>
  </excludefromlisting>
  <playcountminimumpercent>90</playcountminimumpercent> <!--Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched -->
  <ignoresecondsatstart>180</ignoresecondsatstart> <!-- Number of seconds to ignore at video start after which a resume point is created -->
  <ignorepercentatend>8</ignorepercentatend>
  <!-- percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. -->
 
  <vdpauscaling>true</vdpauscaling>
  <!-- scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems,
 this setting requires a vdpau feature set C gpu-->
 
  <enablehighqualityhwscalers>true</enablehighqualityhwscalers> <!-- allow turning on the spline36 and lanczos3 shader (for GL builds) -->
  <ppffmpegdeinterlacing>linblenddeint</ppffmpegdeinterlacing> <!-- override the deinterlacing options passed to libpostproc -->
  <ppffmpegpostprocessing>ha:128:7,va,dr</ppffmpegpostprocessing> <!-- override the post processing options passed to libpostproc when 'Video post-processing' is activated in GUI Videos-Settings-Playback -->
  <allowmpeg4vdpau>true</allowmpeg4vdpau> <!-- allows mpeg4 decoding with vdpau, currently broken -->
  <allowmpeg4vaapi>true</allowmpeg4vaapi> <!-- allows mpeg4 decoding with vaapi, currently broken on Nvidia cards, not implemented on Intel -->
  <autoscalemaxfps>30</autoscalemaxfps> <!-- when scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30 -->


  <!-- Settings for when "Adjust refreshrate to match video fps" is enabled, available since r33806. -->
  <!-- NOT available in the Dharma release or any release before that -->
  <adjustrefreshrate>

    <!-- "Adjust refreshrate to match video fps" will try to select the best refreshrate for the video fps -->
    <!-- but it doesn't always get it right, for example it might switch to an unsupported refreshrate. -->

    <!-- You can add overrides here to switch to a certain refreshrate based on video fps -->
    <!-- It's possible to add as many overrides as you need. -->
    <!-- Overrides are processed in order, if the first one doesn't match the fps or no refreshrates match -->
    <!-- that override, it will try the next one until no overrides are left -->

    <override>
      <fps>23.976</fps>       <!-- if the fps is between 23.966 and 23.986 -->
      <refresh>60.0</refresh> <!-- switch to the first found refreshrate that is between 59.99 and 60.01 -->
    </override>

    <override>
      <fpsmin>29.96</fpsmin>        <!-- You can also specify the fps range yourself -->
      <fpsmax>30.01</fpsmax>
      <refreshmin>59.0</refreshmin> <!-- Same for the refreshrate -->
      <refreshmax>61.0</refreshmax>
    </override>
   
    <!-- It none of the overrides match, or none of the refreshrates match any of the fps matching overrides, -->
    <!-- it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn't match -->
    <!-- any refreshrate, it will try the next one until no fallbacks are left -->
    <fallback>
      <refresh>50.0</refresh> <!-- switch to the first found refreshrate that is between 49.99 and 50.01. -->
    </fallback>

    <!-- You can also specify the range for the fallback yourself -->
    <fallback>
      <refreshmin>49.0</refreshmin>
      <refreshmax>51.0</refreshmax>
    </fallback>

    <!-- If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, -->
    <!-- and no fallbacks are specified or no refreshrates match any fallbacks, -->
    <!-- it will automatically choose the best refreshrate (same as having no overrides and fallbacks). -->
  </adjustrefreshrate>
 
  <checkdxvacompatibility>value</checkdxvacompatibility>
  <!-- Advanced setting not present: let xbmc autodetect cards that support H264 profile > L4.1. Set value to false to enable DXVA no matter what.
 Set value to true if xbmc doesn't autodetect that the graphics card doesn't support > L4.1 -->

  <useocclusionquery>-1</useocclusionquery> <!--Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.-->
  <fpsdetect>1</fpsdetect> <!-- fps detection for video playback, 0 = trust codec fps, 1 = recalculate from video timestamps with uniform spacing, 2 = recalculate from video timestamps always -->

  <!-- Compensate display latency (video lag). Latency is given in msecs. -->
  <!-- Requires {{subst:Name}} 11.0 (Eden) or later. -->
  <latency>

    <!-- Global default display latency -->
    <delay>0</delay>

    <!--
     Override latency for given display (not video) refresh rates.
     When {{subst:Name}} is in windowed mode, override is ignored. Multiple
     overrides are allowed.

     Syntax of an override entry:
       <refresh>
         <min>, <max> refresh rate range, OR
         <rate> exact refresh rate
         <delay> display latency for the given refresh rate
       </refresh>
    -->

    <!-- Example: display has 125 msec latency at 23-24 Hz -->
    <refresh>
      <min>23</min>
      <max>24</max>
      <delay>125</delay>
    </refresh>

    <!-- Example: display has 50 msec latency at 50 (+/-0.01) Hz -->
    <refresh>
      <rate>50</rate>
      <delay>50</delay>
    </refresh>

  </latency>
    <!-- Filename triggers for 3D (stereoscopic) mode. -->
    <stereoscopicregex3d>[-. _]3d[-. _]</stereoscopicregex3d>
    <stereoscopicregexsbs>[-. _]h?sbs[-. _]</stereoscopicregexsbs>
    <stereoscopicregextab>[-. _]h?tab[-. _]</stereoscopicregextab>
    <stagefright>
      <!--  -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist -->
      <useavccodec>-1</useavccodec>
      <usevc1codec>-1</usevc1codec>
      <usevpxcodec>-1</usevpxcodec>
      <usemp4codec>-1</usemp4codec>
      <usempeg2codec>-1</usempeg2codec>
      <useswrenderer>false</useswrenderer>
    </stagefright>
    <mediacodec>
      <!--  -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist -->
      <useavccodec>-1</useavccodec>
      <usevc1codec>-1</usevc1codec>
      <usevpxcodec>-1</usevpxcodec>
      <usemp4codec>-1</usemp4codec>
      <usempeg2codec>-1</usempeg2codec>
      <useswrenderer>false</useswrenderer>
    </mediacodec>
    <disablehi10pmultithreading>false</disablehi10pmultithreading> <!-- If you want hi10p decoded only on one CPU, set this to true. It will be renamed to disableswmultithreading in v14 Helix -->
Added in v14 Helix:
     <dxvaallowhqscaling>false</dxvaallowhqscaling>
</video>

Future Helix feature: <disablehi10pmultithreading> will be renamed to <disableswmultithreading> in v14 Helix, as more codecs will have default multithread decoding in v14

2.2.3 audio

<audio>
  <!-- Amount of headroom {{subst:Name}} should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. -->
  <headroom>0</headroom>
  <!-- Default audio player: paplayer or dvdplayer -->
  <defaultplayer>paplayer</defaultplayer>
  <!-- Regular expressions that if evaluated to true won't be added to library. -->
  <excludefromscan>
    <regexp>[-\._ ](podcast)[-\._ ]</regexp>
  </excludefromscan>
  <!-- Regular expressions that if evaluated to true won't be displayed in Files View -->
  <excludefromlisting>
    <regexp>[-\._ ](podcast)[-\._ ]</regexp>
  </excludefromlisting>
  <!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. -->
  <ac3downmixgain>12.0</ac3downmixgain>
  <!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal -->
  <playcountminimumpercent>99</playcountminimumpercent>
  <!-- Whether to use DRC on AC3 and DTS streams -->
  <applydrc>true</applydrc>
  <!-- set to true to skip decoding of DTS in wav files when using dvdplayer (10.10 only) -->
  <dvdplayerignoredtsinwav>false</dvdplayerignoredtsinwav>
  <!-- default values for limiter/compressor -->
  <limiterhold>0.025</limiterhold>
  <!-- default values for limiter/compressor -->
  <limiterrelease>0.1</limiterrelease>
</audio>

For more information on the configuration of audio under Frodo see AudioEngine/HOW-TO: Configure audio

2.2.4 measurerefreshrate

When using "Sync playback to display" on Windows, the detected refreshrate might be wrong. When enabling measurerefreshrate, the refreshrate is measured instead, which makes it more accurate.

<measurerefreshrate>true</measurerefreshrate>

2.2.5 edl

Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.

<edl>
  <!-- if true, commercial breaks will be merged according to the remaining options. -->
  <mergeshortcommbreaks>false</mergeshortcommbreaks>
  <!-- Commercial breaks won't be merged if the total length of the commercial break would be greater than this (seconds) -->
  <maxcommbreaklength>250</maxcommbreaklength>
  <!-- After merging, commercial breaks shorter than this will be removed (seconds) -->
  <mincommbreaklength>90</mincommbreaklength>
  <!-- Commercial breaks that are further apart than this won't be merged (seconds) -->
  <maxcommbreakgap>120</maxcommbreakgap>
  <!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds) -->
  <commbreakautowait>0</commbreakautowait>
  <!-- How long to rewind after automatically skipping to the end of the commercial break (seconds) -->
  <commbreakautowind>0</commbreakautowind>
</edl>

2.2.6 pvr

<pvr>
  <timecorrection>0</timecorrection>  <!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. -->
  <infotoggleinterval>3000</infotoggleinterval>  <!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. -->
  <minvideocachelevel>5</minvideocachelevel> <!-- Cache up to this level in the video buffer buffer before resuming playback if the buffers run dry. -->
  <minaudiocachelevel>10</minaudiocachelevel> <!-- Cache up to this level in the audio buffer before resuming playback if the buffers run dry. -->
  <cacheindvdplayer>true</cacheindvdplayer> <!-- Cache PVR stream in DVDPlayer. -->
  <channeliconsautoscan>true</channeliconsautoscan> <!-- Automatically scan user defined folder for channel icons when loading internal channel groups. -->
  <autoscaniconsuserset>false</autoscaniconsuserset> <!-- Mark channel icons populated by auto scan as "user set". -->
  <numericchannelswitchtimeout>1000</numericchannelswitchtimeout> <!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. -->
</pvr>

2.2.7 epg

<epg>
  <lingertime>1440</lingertime>  <!-- keep X minutes of past epg data (default: 24h) -->
  <updatecheckinterval>300</updatecheckinterval>  <!-- check if tables need to be updated every X minutes -->
  <lingercleanupintervaltime>900</cleanupinterval>  <!-- remove old entries from the EPG every X minutes -->
  <activetagcheckinterval>60</activetagcheckinterval>  <!-- check for updated active tags every X minute -->
  <retryinterruptedupdateinterval>30</retryinterruptedupdateinterval>  <!-- retry an interrupted epg update after X seconds -->
  <updateemptytagsinterval>60</updateemptytagsinterval>  <!-- override user selectable EPG update interval (minutes) for empty EPG tags -->
  <displayupdatepopup>true</displayupdatepopup>  <!-- display a progress popup while updating EPG data from clients -->
  <displayincrementalupdatepopup>false</displayincrementalupdatepopup>  <!-- also display a progress popup while doing incremental EPG updates -->
</epg>

2.2.8 forcedswaptime

Use to force a backbuffer->frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. <forcedswaptime>1</forcedswaptime> is typical).

Default: Off

2.3 Video library settings

2.3.1 videoextensions

A list of additional file-extensions to allow (add) or exclude (remove) in the My Video windows.

Default extensions for VIDEOS:

.m4v .3gp .nsv .ts .ty .strm .rm .rmvb .m3u .ifo .mov .qt .divx .xvid .bivx .vob .nrg .img
.iso .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .dvr-ms .mpg .mpeg .mp4 .mkv .avc .vp3 
.svq3 .nuv .viv .dv .fli .flv .rar .001 .wpl .zip

Examples:

<videoextensions>
  <add>.ex1|.ex2</add>
  <remove>.ex3|.ex4</remove>
</videoextensions>


2.3.2 discstubextensions

A list of additional file-extensions that will (<add>) or will not (<remove>) be treated as disc stubs.

Default extensions for DISC STUBS:

.disc

Examples:

<discstubextensions>
  <add>.dvd|.blu</add>
  <remove>.cd|.vhs</remove>
</discstubextensions>

2.3.3 languagecodes

Translation table for subtitle and audio names. Contains entries of the form

<languagecodes>
  <code>
    <short>alt</short>
    <long>Alternate</long>
  </code>
</languagecodes>

2.3.4 sorttokens

Allows you to specify additional tokens that will be ignored at the start of lines during sorting.

<sorttokens>
  <token>the</token>
</sorttokens>

2.3.5 moviestacking

This is used by the File Stacking algorithm to combine multi-part files and contains a list of "Regular Expressions"

As of XBMC v9.11, video stacking regular expressions must contain exactly four (4) capture expressions. Old ones and three capture expressions are dropped (see log). More information on how the algorithm works is available here.

Default:

<moviestacking>
  <!-- <cd/dvd/part/pt/disk/disc/d> <0-N> -->
  <regexp>(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck]|d)[ _.-]*[0-9]+)(.*?)(\.[^.]+)$</regexp>
  <!-- <cd/dvd/part/pt/disk/disc/d> <a-d> -->
  <regexp>(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck]|d)[ _.-]*[a-d])(.*?)(\.[^.]+)$</regexp>
  <!-- movienamea-xvid.avi, movienameb-xvid.avi -->
  <regexp>(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$</regexp>
</moviestacking>

If the argument action="append" or append="yes" is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.

Example:

<moviestacking action="append">
    <!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.
        Be warned that it will likely stack sequels in a flat directory layout,
        so it is only recommend in a dir-per-video layout. -->
  <regexp>(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$</regexp>
</moviestacking>


If the argument action="prepend" is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning.

Example:

<moviestacking action="prepend">
  <regexp>(Title)(Volume)(Ignore)(Extension)</regexp>
</moviestacking>

If no argument is supplied, or the argument append="no" is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.


2.3.6 cleandatetime

Matches a year number in a string using a Regular Expression

Default expression:

<video>
  <cleandatetime>(.+[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-1][0-9])([ _\,\.\(\)\[\]\-][^0-9]|$)</cleandatetime>
</video>
  • The string found before will be used as basis string getting cleaned by the cleanstrings expressions.
  • By default date formats like MM:YY are ignored.

2.3.7 cleanstrings

Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named Super movie.mp4 and would add <regexp> </regexp> (only a space), the only thing that would be left is Super, which is probably not what you want.

Default expressions:

<video>
  <cleanstrings>
   <regexp>[ _\,\.\(\)\[\]\-](ac3|dts|custom|dc|divx|divx5|dsr|dsrip|dutch|dvd|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|cd[1-9]|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|\[.*\])([ _\,\.\(\)\[\]\-]|$)</regexp>
   <regexp>(\[.*\])</regexp>
  </cleanstrings>
</video>
  • Arguments action="append" or action="prepend" will insert user specified expressions after, or before, the defaults above. (Further details in moviestacking section)

2.3.8 tvshowmatching

Matches the season and episode numbers in file paths by using a list of Regular Expressions

Defaults:

<tvshowmatching>
  <regexp>[Ss]([0-9]+)[][ ._-]*[Ee]([0-9]+)([^\\/]*)$</regexp>  <!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02 -->
  <regexp>[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$</regexp>  <!-- foo.ep01, foo.EP_01 -->
  <regexp>([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})</regexp>  <!-- foo.yyyy.mm.dd.* (byDate=true) -->
  <regexp>([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})</regexp>  <!-- foo.mm.dd.yyyy.* (byDate=true) -->
  <regexp>[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$</regexp>  <!-- foo.1x09* or just /1x09* -->
  <regexp>[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$</regexp>  <!-- foo.103*, 103 foo -->
  <regexp>[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$</regexp>  <!-- Part I, Pt.VI -->
</tvshowmatching>
  • Arguments action="append" or action="prepend" will insert user specified expressions after, or before, the defaults above. (Further details in moviestacking section)
  • Expressions are converted to lower case before being evaluated. (XBMC v13.0 alpha4 and earlier only)
  • Paths are converted to lower case before matching.
  • Examples of matching regexps for certain filenames can be found on the TV shows page.
  • For multi-episode matching to work, there needs to be a third set of parentheses '()' at the end, this part is fed back into the regexp engine.
  • A forum thread has a discussion of pre-made regex lists to match common names. These drastically improve XMBC's ability to match TV show names, at the risk of some additional false positives.

2.3.8.1 Filenames without Season

There are two methods to add episodes without a season in their file path. Both ways will force the season to '1', so that you can use the 'Use Absolute Ordering (Single Season)' setting from the TheTvDb.com scraper.

Simple Method (XBMC v9.11 onwards)
Use only one pair of parentheses
<regexp>[/\._ \-]([0-9]+)</regexp>
Advanced Method (XBMC v10.05 onwards)
Supports multi-episode files without season
Use an empty pair of parentheses for the season
<regexp>[/\._ \-]()([0-9]+)(-[0-9]+)?</regexp>

2.3.9 tvmultipartmatching

Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.

Default:

<tvmultipartmatching>^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)</tvmultipartmatching>
  • Text matching is compared case-insensitive.
  • Specifying this option replaces the default value

2.3.10 excludefromscan

Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of advancedsettings.xml.

Defaults:

<video>
  <excludefromscan>
    <regexp>-trailer</regexp>
    <regexp>[!-._ \\/]sample[-._ \\/]</regexp>
  </excludefromscan>
</video>
  • Arguments action="append" or action="prepend" will insert user specified expressions after, or before, the defaults above. (Further details in moviestacking section)

2.3.11 excludefromlisting

<video>  
  <excludefromlisting> <!-- Regular expressions that if evaluated to true won't be displayed in Files View -->
    <regexp>[-\._ ](sample|trailer)[-\._ ]</regexp>
  </excludefromlisting>
</video>

2.3.12 excludetvshowsfromscan

Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions

Defaults:

<video>
  <excludetvshowsfromscan>
    <regexp>[!-._ \\/]sample[-._ \\/]</regexp>
  </excludetvshowsfromscan>
</video>
  • Arguments action="append" or action="prepend" will insert user specified expressions after, or before, the defaults above. (Further details in moviestacking section)

2.3.13 trailermatching

Contains "Regular Expression" syntax (commonly referred to as "RegEx" or "RegExp") to match the locally stored trailers to movies in the library.

  <trailermatching>
    <!-- This regexp will match moviename_Trailer.avi -->
    <regexp>(.*?)(_Trailer)(\.[^.]+)$</regexp>
  </trailermatching>

2.3.14 videolibrary

Options specific to the Video Library

  <videolibrary>
    <allitemsonbottom>false</allitemsonbottom>  <!-- sorts the "*All" items at the bottom of the list when in Ascending order -->
    <backgroundupdate>false</backgroundupdate> <!-- set to hide the video scanner dialog from the gui -->
    <!-- NOTE: To get this working properly, you have to do a 'Clean Library' in settings the first time after you enable the setting. -->
    <cleanonupdate>false</cleanonupdate>  <!-- default set to false to prevent xbmc from removing items from the database while updating.  -->
    <hideallitems>false</hideallitems>  <!-- removes the "*All" items from the video library -->
    <hideemptyseries>false</hideemptyseries>  <!-- hide empty series in the video library -->
    <recentlyaddeditems>35</recentlyaddeditems> <!-- number of recently added items. Defaults to 25 -->
    <itemseparator> / </itemseparator>  <!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* -->
    <exportautothumbs>false</exportautothumbs>  <!-- export auto-generated thumbs. Defaults to false -->
    <importwatchedstate>false</importwatchedstate>  <!-- import previously exported playdate and playcount from .nfo files. Defaults to false -->
    <importresumepoint>false</importresumepoint>  <!-- import previously exported resume point from .nfo files. Defaults to false -->
    <mymovies>  <!-- Options specific to MyMovies XML file parsing -->
      <categoriestogenres>false</categoriestogenres>  <!-- Add MyMovies Custom Categories to {{subst:Name}} Genres (boolean, default is false) -->
    </mymovies>
    <dateadded>1</dateadded> <!-- 0 results in using the current datetime when adding a video;
                                 1 (default) results in prefering to use the files mtime (if it's valid) and only using the file's ctime if the mtime isn't valid;
                                 2 results in using the newer datetime of the file's mtime and ctime -->
  </videolibrary>

2.3.15 videoscanner

Options specific to the Video scanner

  <videoscanner>
    <ignoreerrors>true</ignoreerrors> <!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don't have to keep hitting "yes" to keep scanning.-->
  </videoscanner>

2.3.16 myth

Not seeing all the recordings you expected in the Movies folder? If so, it's very likely that the electronic program guide (EPG) used by MythTV doesn't accurately distinguish between TV Shows and Movies all the time. The following setting allows the length of the recording to also be used to determine if a recording is a Movie.

<myth>
   <!-- Recordings longer than this will be added to the Movies folder (minutes). 0 = off -->
  <movielength>0</movielength>
</myth>

2.4 Library artwork

2.4.1 imageres

This tag is new for v12 (Frodo), replacing <thumbsize>.

Specify the maximal resolution that art should be resized to in pixels. The width is automatically calculated as being 16/9*height. The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.

<imageres>720</imageres>

2.4.2 fanartres

This tag is new for v12 (Frodo), replacing <fanartheight>.

Specify the resolution that cached fanart should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using <imageres>. The default value is 1080.

<fanartres>1080</fanartres>

2.4.3 fanart

As of v12 (Frodo), this tag is only used for music and not video.

A list of additional files to try when searching for fanart images. (The defaults are fanart.jpg and fanart.png which can be removed.)

Example:

<fanart>
  <remove>fanart.jpg</remove>
  <add>backdrop.jpg</add>
</fanart>

2.4.4 musicthumbs

A list of additional files to try when searching for music thumbnail images. (The default is folder.jpg which can be removed.)

Example:

<musicthumbs>
  <remove>folder.jpg</remove>
  <add>thumb.jpg|cover.jpg</add>
</musicthumbs>

2.4.5 useddsfanart

This settings allows XBMC to use your GPU rendering fanart and some other images. This will make loading images considerably faster, especially on systems with slower processors (e.g. atom based systems). Do not use this option on ARM based systems (Apple TV2/iOS/RPi/many Android systems) as it is likely to degrade performance because DDS images are not supported.

<useddsfanart>true</useddsfanart>

2.5 Video and music library settings

2.5.1 playlistasfolders

In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.

Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.

Note: This setting will not affect smart playlists, they will always show as folders.
Example
<playlistasfolders>true</playlistasfolders>

2.5.2 playlistretries

The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.

Default:

  <playlistretries>100</playlistretries>

2.5.3 playlisttimeout

The timeout, in seconds, before item failure.

Default:

<playlisttimeout>20</playlisttimeout>

2.5.4 musicdatabase/videodatabase

Allows advanced customization of the default database settings for both music and video.

Note: It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of XBMC's path. sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as XBMC is concerned) paths. Use this for mysql only.

type

Can be either "sqlite3" or "mysql" (default: sqlite3)

host

sqlite3: defines the relative path to the database file (eg. /usr/local/xbmc/databases).

mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)

port

sqlite3: silently ignored

mysql: defines the port of the mysql socket (default: 3306)

name

Not needed by default, and some users report issues when defining the this tag. When not used "MyVideos"+DB number will be used.

sqlite3: defines the name of the database file to read from, excluding the ".db" extension.

mysql: defines the name of the database to use

user

sqlite3: silently ignored

mysql: defines the user with privileged access to the database

pass

sqlite3: silently ignored

mysql: defines the password for the user with privileged access to the database


Examples:

1) Configure a database for MySQL.

Note: The videodatabase and musicdatabase tags are interchangeable here.
<videodatabase>
  <type>mysql</type>
  <host>192.168.0.10</host>
  <name>xbmc_video</name>
  <user>xbmc</user>
  <pass>xbmc</pass>
</videodatabase>

2) Configure a database for an sqlite database.

Note: The videodatabase and musicdatabase tags are interchangeable here.
<musicdatabase>
  <type>sqlite3</type>
  <host>/usr/local/share/xbmc/databases</host>
  <name>xbmc_music</name>
</musicdatabase>


Note: If you use MySQL for the music database, but are finding that it slows down your music library significantly, execute the following query to create an index on the song table. This will significantly speed up queries using the songview views looking up by artist:


CREATE INDEX ixSongArtist
    ON song(idArtist, idAlbum)


2.5.5 externalplayer

See: External players

2.6 Music settings

2.6.1 musicextensions

A list of additional file-extensions to allow (add) or exclude (remove) in the My Music windows.

Default extensions for MUSIC:

.nsv .m4a .flac .aac .strm .pls .rm .mpa .wav .wma .ogg .mp3 .mp2 .m3u .mod .amf .669 .dmf .dsm .far .gdm 
.imf .it .m15 .med .okt .s3m .stm .sfx .ult .uni .xm .sid .ac3 .dts .cue .aif .aiff .wpl .ape .mac .mpc 
.mp+ .mpp .shn .zip .rar .wv .nsf .spc .gym .adplug .adx .dsp .adp .ymf .ast .afc .hps .xsp

Examples:

<musicextensions>
  <add>.ex1|.ex2</add>
  <remove>.ex3|.ex4</remove>
</musicextensions>

2.6.2 cddbaddress

The address of the online CDDb database. You may set this to another freedb mirror if there is a more suitable one.

Default:

<cddbaddress>freedb.freedb.org</cddbaddress>

2.6.3 songinfoduration

This controls how long the song information will remain onscreen when the song changes during visualisations. The valid range is "1" to "Indefinite (0)", in seconds. This does not include the duration of any transition effects.

Default:

<songinfoduration>10</songinfoduration>

2.6.4 musicfilenamefilters

Contains filters to match music information (artist, title etc.) from a tag-less music filename. The first <filter> to match completely is used. Matched items include:

%A - Artist
%T - Title
%B - Album
%N - Track number
%S - Part of set (disk number)
%D - Duration
%G - Genre
%Y - Year
%R - Rating

Example:

<musicfilenamefilters>
  <filter>%A - %T</filter>
</musicfilenamefilters>

2.6.5 musiclibrary

Options specific to the Music Library

  <musiclibrary>
    <hideallitems>true</hideallitems> <!-- removes the "*All" items from the music library -->
    <allitemsonbottom>true</allitemsonbottom> <!-- sorts the "*All" items at the bottom of the list when in Ascending order -->
    <backgroundupdate>true</backgroundupdate> <!-- set to hide the music scanner dialog from the gui -->
    <recentlyaddeditems>35</recentlyaddeditems> <!-- number of recently added items. Defaults to 25 -->
    <albumssortbyartistthenyear>true</albumssortbyartistthenyear>    <!-- at an albums listing, when you sort by artist, secondary sort will be year. -->
    <albumformat>%B - %Y</albumformat>  <!-- album label template, default is "%B" -->
    <albumformatright>%A</albumformatright>  <!-- album label template for right column, default is "%A" -->
    <prioritiseapetags>true</prioritiseapetags>  <!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. -->
    <itemseparator> / </itemseparator>    <!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* -->
  </musiclibrary>

2.6.6 karaoke

<karaoke>
  <!-- Music-lyrics delay for CDG format lyrics in SECONDS. Floating number, may be negative. -->
  <syncdelaycdg>0.0</syncdelaycdg>
  <!-- Music-lyrics delay for LRC format lyrics in 1/10 seconds. Floating number, may be negative. -->
  <syncdelaylrc>0.0</syncdelaylrc>
  <!-- If set to true, when the songs are added to the library, {{subst:Name}} will automatically replace the song genre by "Karaoke"
   if the song has associated lyrics. Default is false. -->
  <alwaysreplacegenre>false</alwaysreplacegenre>
  <!-- If set to true, when the music-lyrics delay was modified while playing using subtitle delay buttons, the delay value
   for this song will be stored, and restored when the song is played next time. Default is true. -->
  <storedelay>true</storedelay>
  <!-- When karaoke songs are added to the library during scans, an autoincrement number is automatically assigned
to each song, starting from the value specified below. Default starts from 1. -->
  <autoassignstartfrom>1</autoassignstartfrom>
  <!-- If set to true (default), the background for CDG songs is always empty (plain color) no matter what setting is set in
   defaultbackground below. When setting this to false, then one can see through the background and see the video or
   visualization.-->
  <nocdgbackground>true</nocdgbackground>
  <!-- Sets default background mode. Type could be "none", "vis" for visualisation, "image" or "video".
   For image/video types the "path" parameter should specify the image or video file to play. -->
  <defaultbackground type="video" path="special://masterprofile/karaokevideobg.avi"/>
  <!-- If non-zero, specifies the time in seconds left before the end of the current song when a window will pop up informing you
   about the next played song. The window does not pop up if there is no next song, or it is not a karaoke song -->
  <nextsongpopuptime>0.0</nextsongpopuptime>
</karaoke>


2.7 Photos settings

2.7.1 pictureextensions

A list of additional file-extensions to allow (add) or exclude (remove) in the My Pictures window.

Default extensions for PICTURES:

.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .cbr .rar .m3u

Examples:

<pictureextensions>
  <add>.ex1|.ex2</add>
  <remove>.ex3|.ex4</remove>
</pictureextensions>

2.7.2 pictureexcludes

Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions

<pictureexcludes>  <!-- Regular expressions that if evaluated to true won't be displayed in My Pictures -->
  <regexp>small</regexp>
  <regexp>[-\._ ](sample|trailer)[-\._ ]</regexp>
</pictureexcludes>

2.7.3 slideshow

<slideshow>
  <!-- Amount to pan images as a percentage of the screen -->
  <panamount>2.5</panamount>
  <!-- Amount to zoom images as a percentage of the screen -->
  <zoomamount>5.0</zoomamount>
  <!-- Amount to compensate (zoom) images to attempt to reduce black bars. -->
  <!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  -->
  <!-- Defaults to 20. -->
  <blackbarcompensation>20</blackbarcompensation>  
</slideshow>

2.8 Network settings

2.8.1 samba

<samba>
  <doscodepage></doscodepage>  <!-- code page to use for filenames -->
  <clienttimeout>10</clienttimeout>  <!-- timeout (in seconds) -->
  <statfiles>true</statfiles>  <!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) -->
</samba>

2.8.2 hosts

Static dns entries which take precedence over your dns server.

<hosts>
  <entry name="HOSTNAME">IPADDRESS</entry>
</hosts>

2.8.3 network

<network>
  <curlclienttimeout>10</curlclienttimeout>  <!-- Timeout in seconds for libcurl (http/ftp) connections -->
  <curllowspeedtime>5</curllowspeedtime>  <!-- Time in seconds for libcurl to consider a connection lowspeed -->
  <httpproxyusername></httpproxyusername>  <!-- username for Basic Proxy Authentication -->
  <httpproxypassword></httpproxypassword>  <!-- password for Basic Proxy Authentication -->
  <cachemembuffersize>20971520</cachemembuffersize>  <!-- number of bytes used for buffering streams ahead in memory
   {{subst:Name}} will not buffer ahead more than this. WARNING: for the bytes set here, {{subst:Name}} will consume 3x the amount of RAM
   When set to 0 the cache will be written to disk instead of RAM, as of v12 Frodo -->
  <buffermode>0</buffermode>  <!-- Choose what to buffer:
    0) Buffer all internet filesystems (like "2" but additionally also ftp, webdav, etc.) (default)
    1) Buffer all filesystems (including local)
    2) Only buffer true internet filesystems (streams) (http, etc.)
    3) No buffer -->
  <readbufferfactor>1.0</readbufferfactor> <!-- this factor determines the max readrate in terms of readbufferfactor * avg bitrate of a video file.
This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 1.0. -->
</network>

2.8.4 tuxbox

<tuxbox>
    <!-- "audiochannelselection"; default is 'false', 'true' will popup the audio channel selection if
         there is more then one audio stream !-->
    <audiochannelselection>false</audiochannelselection>
    <!-- "submenuselection"; default is 'false', 'true' will popup the Submenu selection !-->
    <submenuselection>false</submenuselection>
    <!-- "defaultrootmenu"; MODE: 0 = TV (Default), 1 = Radio, 2 = Data, 3 = Movies, 4 = Root !-->
    <defaultrootmenu>0</defaultrootmenu>
    <!-- "defaultsubmenu"; 1=Services  2=Satellites 3=Providers 4=Bouquets (default) !-->
    <defaultsubmenu>4</defaultsubmenu>
    <!-- "pictureicon"; default is 'true', will use the Picture Icons from folder /UserData/PictureIcon/ !-->
    <pictureicon>true</pictureicon>
    <!-- "epgrequesttime"; default is '10', 0-3600, defines the time in seconds between epg queries, some tuxbox
         devices need longer to response (Minimum: 1, Maximum: 3600) !-->
    <epgrequesttime>10</epgrequesttime>
    <!-- "zapwaittime"; default is '0' (0 = OFF), defines the time in seconds to wait for a valid PMT after the
         zaping was send (Minimum: 0, Maximum: 120) !-->
    <zapwaittime>0</zapwaittime>  
</tuxbox>

2.8.5 enableairtunesdebuglog

Added in v14 Helix:

This option will be replaced by a GUI option in v14: This enables the debug output of libshairport which is used for the AirTunes feature. Defaults to off - because its spamming badly.

Example:

<enableairtunesdebuglog>1</enableairtunesdebuglog>)


2.8.6 airtunesport

This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).


2.8.7 airplayport

This overwrites the default listening port of the AirPlay server (announced via zeroconf).


2.9 File system settings

2.9.1 packagefoldersize

<packagefoldersize>options</packagefoldersize>

The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the add-on rollback feature. Increasing the size should increase the amount of past versions saved.

Example:
<packagefoldersize>200</packagefoldersize> <!-- this example would keep up to 200MB of add-on packages. -->

2.9.2 detectasudf

Set to true if you wish to detect joint ISO9660/UDF disks as UDF.

Default: False

2.9.3 pathsubstitution

Path substitutions are for use for redirecting file paths. These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for XBMC to handle.

Default: No path substitutions defined.

Example:

<pathsubstitution>
  <substitute>
    <from>G:\dvds\</from>
    <to>smb://somecomputer/g-share/dvds/</to> <!-- Note the difference between the usage of forward and backslashes -->
  </substitute>
</pathsubstitution>

2.10 Remote control settings

2.10.1 remotedelay

The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it's held down).

Default: 3

<remotedelay>10</remotedelay>

2.10.2 remoterepeat

This used to adjust the amount of time in milliseconds between repeated keystrokes. Used to prevent key-bounce, in other words prevents xbmc (lirc?) seeing one key press as multiple key presses with certain remotes.

<remoterepeat>800</remoterepeat>

2.10.3 controllerdeadzone

The controller deadzone is the region of movement around the center which is not recognized by the device. Because joysticks can have noise (report motion when still) and bias (report an offset when centered), spurious events can be reported even though the controller isn't being touched. If you notice these kinds of events, you most likely need to increase your controller's deadzone (both axes recommended). The values range from 0.0 (no deadzone, XBMC will see all input your controller is capable of registering) to 1.0 (XBMC will ignore all input inside of the device's physical limits).

<controllerdeadzone>0.2</controllerdeadzone>

2.10.4 enablemultimediakeys

This setting only has any effect on Windows versions of XBMC, and only applies to builds from 28th May 2011 onwards. In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. XBMC processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.

Example:

<enablemultimediakeys>true</enablemultimediakeys>

2.11 Other interface settings

2.11.1 window

This allows you to manually set the default size of XBMC's windowed mode. If you resize the window, it will return to the set size when restarting.

WIDTH and HEIGHT are the values for each dimension, in pixels.

<window><width>WIDTH</width><height>HEIGHT</height></window>

2.11.2 allowd3d9ex

Applies only to Windows Vista and up. Values: true/false. Allows xbmc to use Direct3D 9Ex, which is a bit more stable and robust than Direct3D 9.

Default:

<allowd3d9ex>true</allowd3d9ex>

2.11.3 restrictcapsmask

Windows only. A bitmask to prevent xbmc from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.

1: prevent the use of compressed textures (DXT1, DXT3, DXT5) 2: prevent the use of non-power-of-two dimensions for textures 4: prevent the use of compressed textures with non-power-of-two dimensions.

<restrictcapsmask>0</restrictcapsmask>

2.11.4 forced3d9ex

Windows only: XBMC attempts to detect drivers released for a version earlier than Vista, to avoid using advanced features which are often not emulated correctly. The detection may be incorrect and this setting allows forcing the using of D3D9Ex.

<forced3d9ex>false</forced3d9ex>

2.11.5 algorithmdirtyregions

Note: Some GPU/hardware configurations will have some minor issues (such as a visual "flicker"). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as Android) willl likely have flickering issues.

Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn't changed the GUI can be sped up. Because all GPUs work differently, only Mode 3, combined with nofliptimeout=0, is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.

value result description
0 Off The entire viewport is always rendered.
1 Union All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.
2 Cost reduction Each dirty region is presented separately, in as many passes as there are regions.
3 Whole Screen The entire screen is rendered if there are any dirty regions. This, combined with nofliptimeout is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). Default

Example:

<gui>    
  <algorithmdirtyregions>1</algorithmdirtyregions>
</gui>

2.11.6 nofliptimeout

Specifies the timeout in milliseconds after which XBMC will not flip the graphics buffers anymore when nothing has been rendered, this lowers both CPU and GPU usage. Sometimes adjusting this value can help prevent flickering.

  • -1: disabled
  • 0 or higher: timeout in milliseconds (0 is default)

Example:

<gui>    
  <nofliptimeout>1000</nofliptimeout>
</gui>

2.11.7 visualizedirtyregions

Enable dirty-region visualization. Paints a rectangle over marked controls.

  • true: on
  • false: off (Default)
Note: This is only a development mode and isn't of use to normal users.

Example:

<gui>    
  <visualizedirtyregions>true</visualizedirtyregions>
</gui>

2.11.8 showexitbutton

Setting to hide the exit button, useful for people running appliance based setup's where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)

Example:

<showexitbutton>true</showexitbutton>

2.11.9 fullscreen

Starts XBMC in full screen (check resolutions!).

<fullscreen>false</fullscreen>

2.11.10 splash

Set to false if you wish to disable the startup splash image. Defaults to true.

<splash>true</splash>

2.11.11 cputempcommand

Provide a shell command XBMC will use to get CPU temperature. It should print out only "[temp as integer] [scale as one of "CcFf"]".

For Nvidia and Raspberry Pi
<cputempcommand>sed -e 's/\([0-9]*\)[0-9]\{3\}.*/\1 C/' /sys/class/thermal/thermal_zone0/temp</cputempcommand>

or

<cputempcommand>echo "$(sensors -u | tail -n64 | grep temp1_input | awk '{print $2 }' |awk '{printf("%d\n",$1 + 0.5);}') C"</cputempcommand>
For ATI/AMD
<cputempcommand>sensors|sed -ne "s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p"</cputempcommand>

2.11.12 gputempcommand

Provide a shell command XBMC will use to get GPU temperature. It should print out only "[temp as integer] [scale as one of "CcFf"]".

For Nvidia
<gputempcommand>echo "$(nvidia-settings -tq gpuCoreTemp) C"</gputempcommand>

or

<gputempcommand>echo "$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C"</gputempcommand>
For ATI/AMD
<gputempcommand>/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d "-" | cut -f 1 -d "." | sed -e "s, ,," | sed 's/$/ C/'</gputempcommand>
For Raspberry Pi
<gputempcommand>/opt/vc/bin/vcgencmd measure_temp | sed -e "s/temp=//" -e "s/\..*'/ /"</gputempcommand>

2.11.13 glrectanglehack

Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.

<glrectanglehack>yes</glrectanglehack>

2.11.14 alwaysontop

Added in XBMC v9.11 (Windows OS only). Keeps XBMC always on top when windowed.

<alwaysontop>yes</alwaysontop>

Alternate code.

    <videoscreen>
        <fakefullscreen>false</fakefullscreen>
    </videoscreen>

2.12 Recently removed tags

  • <thumbsize> - replaced by <imageres> in v12 Frodo
  • <fanartheight> - replaced by <fanartres> in v12 Frodo
  • <dvdthumbs> - removed in v12 Frodo
  • <bginfoloadermaxthreads> - removed in v13 Gotham
  • <showepginfoonselect> - replaced by a GUI setting in v13 Gotham
  • <busydialogdelayms> - removed in v13 Gotham
  • <resample>, <forceDirectSound>, <audiophile>, <audiosinkbufferdurationmsec>, <allowtranscode44100>, and <streamsilence> - These were various sub-tags for <audio> that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.
  • <enableairtunesdebuglog> replaced by a GUI option in v14 Helix
  • <videoDisableHi10pMultithreading> renamed to <disableswmultithreading> in v14 Helix

2.13 guisettings.xml settings

Note: In XBMC v13 "Gotham", using guisettings in advancedsettings.xml might not work anymore or might give unexpected results.

You can also define the settings normally defined in the GUI (and stored in guisettings.xml) in advancedsettings.xml. Any guisettings.xml settings defined in advancedsettings.xml will override the guisettings.xml values, and the settings will be removed completely from the XBMC's interface.

The easiest way to include a guisettings.xml setting is to first change the setting in XBMC's interface to the value that you want, and then open the userdata/guisettings.xml file and find the XML entry that corresponds to that setting.

Then just add that entry to the advancedsettings.xml file.

For instance, to set the Font Character Set (found in the appearance setting, in the Look and Feel section), you'd open up guisettings.xml and find:

  <lookandfeel>
    <charset>Hebrew (Windows)</charset>
  </lookandfeel>

Simply take that entry and place it in advancedsettings.xml. The option in XBMC's interface for the character set will then no longer be visible, and XBMC will always use the Hebrew (Windows) character set.

Personal tools
Namespaces

Variants
Actions
Navigation
Wiki help
Toolbox