Advancedsettings.xml: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>SiliconKid
No edit summary
>SiliconKid
No edit summary
Line 436: Line 436:


NOTE: File names are case sensitive in XBMC and due to the fact that internally XBMC looks for "folder.jpg" using 4 different
NOTE: File names are case sensitive in XBMC and due to the fact that internally XBMC looks for "folder.jpg" using 4 different
      variants of that file name with differt casing, you MUST specify all 4 variants of that file name in the <remove> tag  
variants of that file name with differt casing, you MUST specify all 4 variants of that file name in the <remove> tag  
      to make XBMC ignore it completely. On a Windows system case sensitivity is irrelevant so if any one of the 4 variants is
to make XBMC ignore it completely. On a Windows system case sensitivity is irrelevant so if any one of the 4 variants is
      still being looked for by XBMC when it scans your folders, it will match "folder.jpg" regardless of the casing.
still being looked for by XBMC when it scans your folders, it will match "folder.jpg" regardless of the casing.
        
        
      This is not obvious and unless you know what the XBMC code is doing internally you wouldn't know this and wouldn't know  
This is not obvious and unless you know what the XBMC code is doing internally you wouldn't know this and wouldn't know  
      what variants, specifically, you need to include in the <remove> tag.
what variants, specifically, you need to include in the <remove> tag.


      The example below shows you exactly what it should look like.  
The example below shows you exactly what it should look like.  


      If you are working on Linux systems where case sensitivity IS an issue then obviously you should also make sure that you
If you are working on Linux systems where case sensitivity IS an issue then obviously you should also make sure that you
      provide variants of any file names you include in the <add> tag that cover any possible differences in casing that the  
provide variants of any file names you include in the <add> tag that cover any possible differences in casing that the  
      scanner may encounter.
scanner may encounter.
        
        
      eg. To make sure that it finds "cover.jpg" on a Linux file system where case sensitivity matters, you would probably want  
eg. To make sure that it finds "cover.jpg" on a Linux file system where case sensitivity matters, you would probably want  
          to do this:
to do this:


          <add>Cover.jpg|cover.jpg|Cover.JPG|cover.JPG</add>
<add>Cover.jpg|cover.jpg|Cover.JPG|cover.JPG</add>
        
        
      In a Windows environment this tends to not be an issue with regards the <add> tag because case is ignored but you STILL need
In a Windows environment this tends to not be an issue with regards the <add> tag because case is ignored but you STILL need
      to provide all 4 variants of "folder.jpg" in the <remove> tag.
to provide all 4 variants of "folder.jpg" in the <remove> tag.
 


<dvdthumbs>
<dvdthumbs>

Revision as of 09:03, 2 May 2012

Template:XBMC wiki toc/v Template:Clean up

The "advancedsettings.xml" file, which does not exist by default, may be created by a user in their "/userdata/" folder.

This file can contain additional settings and pre-defined values for the settings available in the GUI (thus removing them from the GUI settings screens).

"advancedsettings.xml" is useful for advanced/expert users and for installers.

NOTE! This file will not exist unless created by the end-user, meaning YOU!

The XBMC software will never write to this file, so any settings you define will not be overwritten by any XBMC GUI settings. You can only edit this file manually on your computer, via a text-editor (like Notepad in Windows or a XML-editor). All the settings available outside of the GUI are documented on this page.

NOTE: This file is CaSe SeNsItIvE and must contain the <advancedsettings> tag (see the layout section below), so make sure you use all lower-case tags or they will not be read properly by XBMC.

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.

How to include GUI settings

You can also define the settings normally defined in the GUI in advancedsettings.xml. Any GUI based settings defined in advancedsettings.xml will override the GUI values, and the settings will be removed completely from the GUI (ie only alterable by editing advancedsettings.xml).

The easiest way to include a GUI setting is to first make sure it is set in the GUI to the value that you want, and then to 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 for the GUI (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 GUI entry for the character set will then no longer appear, and XBMC will always use the Hebrew (Windows) character set.

List of available settings

<loglevel>

The logging level that XBMC will use to log errors and information. Available values are:

  • -1 No logging, suppresses all log output
  • 0 Normal logging, only logging errors (Default)
  • 1 Debug logging
  • 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

NOTE: As of r22142, loglevel also accepts a "hide" boolean attribute. Default value is true (old behavior), which hides the "enable debugging" guisetting. When false, the "enable debugging" guisetting will switch between min(loglevel, 0) and max(loglevel, 2) for off and on respectively. This is useful for chasing infrequent bugs where you may always want a debug text log, yet still be able to get at the on screen debug info without restarting the app. Example:

    <loglevel hide="false">2</loglevel>

See Log File#location to find your log file.

<skiploopfilter>

This 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>

<cddbaddress>

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

<enableairtunesdebuglog>

This enables the debug output of libshairport which is used for the AirTunes feature. Defaults to off - because its spamming badly.

e.x.

<enableairtunesdebuglog>1</enableairtunesdebuglog>)

<airtunesport>

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

<airplayport>

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

<detectasudf>

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

<virtualshares>

Set to false to disable virtual shares like plugin, last.fm or shoutcast sources. Defaults to true.

<pictureextensions>

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

These are the current default extensions for PICTURES:

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

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

<musicextensions>

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

These are the current 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
<musicextensions>
  <add>.ex1|.ex2</add>
  <remove>.ex3|.ex4</remove>
</musicextensions>

<videoextensions>

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

These are the current 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
<videoextensions>
  <add>.ex1|.ex2</add>
  <remove>.ex3|.ex4</remove>
</videoextensions>

<discstubextensions>

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

These are the current default extensions for DISC STUBS:

.disc
<discstubextensions>
  <add>.ex1|.ex2</add>
  <remove>.ex3|.ex4</remove>
</discstubextensions>

<languagecodes>

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

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

<sorttokens>

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

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

<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>

<moviestacking>

Contains a list of "Regular Expressions" used by the File Stacking algorithm to combine multi-part files.

As of r24405 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 stacking:

  <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 videostacking 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 videostacking 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 videostacking regular expressions are overwritten by the user specified ones.

<cleandatetime>

Contains a regular expression to match a year number in a string. 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.

Default expression:

 <video>
  <cleandatetime>(.+[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-1][0-9])([ _\,\.\(\)\[\]\-][^0-9]|$)</cleandatetime>
 </video>

<cleanstrings>

Contains regular expressions to clean unwanted chars from filenames or folders.

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|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|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)</regexp>
   <regexp>(\[.*\])</regexp>
  </cleanstrings>
 </video>

The "append" and "action" arguments described in the moviestacking section work the same for cleanstrings tags.

<tvshowmatching>

Contains "Regular Expression" syntax (commonly refered to as "RegEx" or "RegExp") to match the season and episode numbers in file paths. Text matching is compared case-insensitive.

Default expressions:

  <tvshowmatching>
    <regexp>\[[Ss]([0-9]+)\]_\[[Ee]([0-9]+)([^\\/]*)</regexp>  <!-- foo_[s01]_[e01] -->
    <regexp>[\._ \-]([0-9]+)x([0-9]+)([^\\/]*)</regexp>  <!-- foo.1x09 -->
    <regexp>[\._ \-][Ss]([0-9]+)[\.\-]?[Ee]([0-9]+)([^\\/]*)</regexp>  <!-- foo s01e01, foo.s01.e01, foo.s01-e01 -->
    <regexp>[\._ \-]([0-9]+)([0-9][0-9])([\._ \-][^\\/]*)</regexp>  <!-- foo.103 -->
    <regexp>[\._ \-]p(?:ar)?t[._ -]()([ivxlcdm]+)([\._ \-][^\\/]*)</regexp>  <!-- Pt.I, Part XIV -->
  </tvshowmatching>

The "append" and "action" arguments described in the videostacking section work the same for tvshowmatching tags. Examples of matching regexps for certain filenames can be found on the TV shows page.

NOTE: 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 discussion of pre-made regex lists to match common names can be found at http://forum.xbmc.org/showthread.php?t=51614. These drastically improve XMBC's ability to match TV show names, at the risk of some additional false positives.

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 (supported since 9.11)
    • Use only one pair of parentheses
    • Example: <regexp>[/\._ \-]([0-9]+)</regexp>
  • Advanced Method (supported since 10.05)
    • Supports multi-episode files without season
    • Use an empty pair of parentheses for the season
    • Example: <regexp>[/\._ \-]()([0-9]+)(-[0-9]+)?</regexp>

<tvmultipartmatching>

Contains "Regular Expression" syntax (commonly refered to as "RegEx" or "RegExp") to match a multipart episode number on a previously identified episode file. Text matching is compared case-insensitive.

Default expression:

  <tvmultipartmatching>^[-_EeXx]+([0-9]+)</tvmultipartmatching>

<excludefromscan/excludefromlisting>

Contains regular expressions to match filenames or folders which should be excluded from a library scan (except tvshows). This can be for both Video or Audio sections of advancedsettings.xml.

Default excludes:

 <video>
  <excludefromscan>
    <regexp>-trailer</regexp>
    <regexp>[!-._ \\/]sample[-._ \\/]</regexp>
  </excludefromscan>
 </video>

The "append" and "action" arguments described in the moviestacking section work the same for excludefromscan tags.

<excludetvshowsfromscan>

Contains regular expressions to match filenames or folders which should be excluded from a tvshow library scan.

Default excludes:

 <video>
  <excludetvshowsfromscan>
    <regexp>[!-._ \\/]sample[-._ \\/]</regexp>
  </excludetvshowsfromscan>
 </video>

The "append" and "action" arguments described in the moviestacking section work the same for excludetvshowsfromscan tags.

<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 is no path substitutions defined. An example is:

  <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>

<forcedswaptime>

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

<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 behavior. 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.

<playlistretries>

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

  <playlistretries>100</playlistretries>

<playlisttimeout>

The default timeout before item failure is 20 sec. It can be changed with this control

  <playlisttimeout>20</playlisttimeout>

<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. (The default is 10 seconds.)

  <songinfoduration>10</songinfoduration>

<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 (ie continuously sending button pushes while it's held down). Defaults to 3.

<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>

<thumbsize>

The geometric mean of the image size ie. The square root of the Width x Height : GM = 2√ W × H

There is a maximum value of 1024 enforced internally because anything larger is impractical and results in massive images that take up space and slow everything down for no gain. If you specify a value larger than 1024 it will be ignored and XBMC will use 1024.

If the GM of your source image is LESS than the value specified in the <thumbsize> tag, the image will NOT be resized and will be imported as is.

XBMC supports all sorts of different aspect ratios - compare banners with posters for example - and a single maximum width or height setting doesn't really make much sense so instead a single value is supplied which is the Geometric Mean.

This typically gives a better result than specifying a maximum dimension for either axis as 512 (for example) would give quite small banner images because it would restrict the width to 512 (smaller than is shown in some skins) yet would give large album covers because they are square and would end up being 512 x 512 (larger than what is shown in most skins), but is probably about right for posters in most skins.

To use an example, if you have a source image of 1000 x 1500 pixels, the geometric mean is: 2√1000 × 1500 = 1224.75 = 1225 rounded up.

1225 is greater than 1024, so XBMC will scale the image down to a size of 836 x 1253.

This is because : 2√ 836 x 1253 = 1023.478 = 1024 rounded up (maximum allowed GM)

So in summary, if you want XBMC to resize all images to a size of 667 x 1000 (as a random example) you must calculate the GM of that as follows:

2√ 667 × 1000 = 816.7 = 817 rounded up.

817 is therefore the value you must set <thumbsize> to so that any image you supply that is LARGER than 667 x 1000 to begin with, will be scaled down to that size.


<fanartheight>

To specify the height value cached fanart should be resized to in pixels. The width is automatically calculated as being 16/9*height. Default value is 1080.

<musicthumbs>

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

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

<musicfilenamefilters>

Contains filters to match music information (artist, title etc.) from a tagless 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

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

<dvdthumbs>

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

NOTE: File names are case sensitive in XBMC and due to the fact that internally XBMC looks for "folder.jpg" using 4 different variants of that file name with differt casing, you MUST specify all 4 variants of that file name in the <remove> tag to make XBMC ignore it completely. On a Windows system case sensitivity is irrelevant so if any one of the 4 variants is still being looked for by XBMC when it scans your folders, it will match "folder.jpg" regardless of the casing.

This is not obvious and unless you know what the XBMC code is doing internally you wouldn't know this and wouldn't know what variants, specifically, you need to include in the <remove> tag.

The example below shows you exactly what it should look like.

If you are working on Linux systems where case sensitivity IS an issue then obviously you should also make sure that you provide variants of any file names you include in the <add> tag that cover any possible differences in casing that the scanner may encounter.

eg. To make sure that it finds "cover.jpg" on a Linux file system where case sensitivity matters, you would probably want to do this:

<add>Cover.jpg|cover.jpg|Cover.JPG|cover.JPG</add>

In a Windows environment this tends to not be an issue with regards the <add> tag because case is ignored but you STILL need to provide all 4 variants of "folder.jpg" in the <remove> tag.


<dvdthumbs>

 <remove>folder.jpg|Folder.jpg|folder.JPG|Folder.JPG</remove>
 <add>thumb.jpg|cover.jpg</add>

</dvdthumbs>

<fanart>

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

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

<masterlock>

If you enable any masterlock settings below, they will be removed from UI. Code needs to be MD5'd, and you can use this site to hash it.


<masterlock>       
   <startuplock>false</startuplock>  <!-- true prompts user for code upon startup -->
   <automastermode>false</automastermode>  <!-- automatically enters master mode if the master code is given -->
   <loginlock>true</loginlock>  <!-- whether to use locks on login screen or not -->
   <!-- advancedsettings.xml ONLY: -->
   <maxretries>3<maxretries> <!-- enter the max number of retries to input code, 3 is default. -->
</masterlock>

<audio>

<audio>
  <!-- Amount of headroom XBMC 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>
  <excludefromscan> <!-- Regular expressions that if evaluated to true won't be added to library. -->
    <regexp>[-\._ ](podcast)[-\._ ]</regexp>
  </excludefromscan>
  <excludefromlisting> <!-- Regular expressions that if evaluated to true won't be displayed in Files View -->
    <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>
  <playcountminimumpercent>99</playcountminimumpercent> <!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal -->
  <resample>48000</resample> <!-- Force a specific samplerate to be produced by paplayer to send to the audio hardware, i.e HDMI Audio is usually only capable of 48000. -->
  <applydrc>true</applydrc> <!-- Whether to use DRC on AC3 and DTS streams -->
  <dvdplayerignoredtsinwav>false</dvdplayerignoredtsinwav> <!-- set to true to skip decoding of DTS in wav files when using dvdplayer (10.10 only) -->
  <limiterhold>0.025</limiterhold> <!-- default values for limiter/compressor -->
  <limiterrelease>0.1</limiterrelease> <!-- default values for limiter/compressor -->
</audio>

<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, XBMC 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>

<video>

<video> <!-- "VideoSettings" instead of "video" for builds prior to May 22, 2006 -->
  <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 (normally the BACK button) when playing a video -->
  <smallstepbacktries>3</smallstepbacktries>
  <smallstepbackdelay>300</smallstepbackdelay>
  <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>15</ignoresecondsatstart> <!-- Number of seconds to ignore at video start after which a resume point is created -->
  <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 XBMC 11.0 (Eden) or later. -->
  <latency>

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

    <!--
      Override latency for given display (not video) refresh rates.
      When XBMC 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>

</video> <!-- use "VideoSettings" instead of "video" for builds prior to May 22, 2006 -->

<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>

<videolibrary>

Options specific to the Video Library

  <videolibrary>
    <allitemsonbottom>true</allitemsonbottom>  <!-- sorts the "*All" items at the bottom of the list when in Ascending order -->
    <backgroundupdate>true</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>true</cleanonupdate>  <!-- default set to false to prevent xbmc from removing items from the database while updating.  -->
    <hideallitems>true</hideallitems>  <!-- removes the "*All" items from the video library -->
    <hideemptyseries>true</hideemptyseries>  <!-- hide empty series in the video library -->
    <hiderecentlyaddeditems>true</hiderecentlyaddeditems>  <!-- removes the "Recently added ..." items from 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>true</exportautothumbs>  <!-- export auto-generated thumbs. Defaults to false -->
    <importwatchedstate>true</importwatchedstate>  <!-- import previously exported playdate and playcount from .nfo files. Defaults to false -->
    <flattentvshows>1</flattentvshows> <!-- Flatten TV show seasons, 0=never 1=if one season (default) 2=all -->
    <flattenmoviesets>false</flattenmoviesets> <!-- Flatten movie sets: if true, show all movies inline, false (default) shows sets in movie listings -->
    <mymovies>  <!-- Options specific to MyMovies XML file parsing -->
      <categoriestogenres>false</categoriestogenres>  <!-- Add MyMovies Custom Categories to XBMC Genres (boolean, default is false) -->
    </mymovies>
  </videolibrary>

<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>

<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>

<lcd>

<lcd>
  <columns>20</columns>                   <!-- Number of columns to use for the LCD. -->
  <heartbeat>true</heartbeat>             <!-- Enables LCDprocs heartbeat symbol. Defaults to false. -->
  <dimonscreensave>true</dimonscreensave> <!-- Turns of the LCD/VFD backlight while screensaving. Defaults to false. -->
  <scrolldelay>2</scrolldelay>            <!-- Delay of the scroller widget. Defaults to 1. --> 
  <hostname>host.example.com</hostname>   <!-- Hostname of the lcdproc server. Defaults to localhost. --> 
</lcd>

<network>

<network>
  <autodetectpingtime>30</autodetectpingtime>  <!-- Length in seconds between pinging the network to detect new devices -->
  <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>5242880</cachemembuffersize>  <!-- number of bytes used for buffering streams ahead in memory 
    XBMC will not buffer ahead more than this. WARNING: for the bytes set here, XBMC will consume 3x the amount of RAM -->
</network>

<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>

<ftpshowcache>

default is false, if set to true, shows cache (X Y Z) partitions in the root directory listing

<screensaver>

To avoid potential worries of plasma screen burn-in, you can set the Dim screensaver fade level to 0% here or in the Settings.

<screensaver>
  <dimlevel>0</dimlevel>  <!-- This will remove the Fade Level control from the settings screen altogether -->
</screensaver>

<busydialogdelay>

Set the delay in milliseconds before the busydialog pops up (default 2000).

<busydialogdelay>2000</busydialogdelay>

<rootovershoot>

Disable root overshooting aka evil B(tm) navigation. 'Evil B' navigation refers to the 'previous folder' action returning to the parent window from the root location of a media window. Sometimes a user would just want to repeatedly hit the B button to reach the root location without worrying of overshooting to the previous window. For this you should disable evil b by setting this value to false.

<rootovershoot>false</rootovershoot>

<hosts>

Static dns entries which take precedence over your dns server.

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

<fullscreen>

Starts XBMC in full screen (check resolutions!).

<fullscreen>false</fullscreen>

<splash>

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

<splash>false</splash>

<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"]".

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

<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"]".

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

<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>

<alwaysontop>

Added in r20809 (win32 only). Keeps XBMC always on top when windowed.

  <alwaysontop>yes</alwaysontop>

<externalplayer>

See the relevant How To.

<bginfoloadermaxthreads>

Control the number of threads in the background info loader thread pool (thumb generagor, flagging, etc). Useful for tuning platforms that are low on CPU, like Intel Atom based systems.

  <bginfoloadermaxthreads>5</bginfoloadermaxthreads>

<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>

<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>

<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>

<trailermatching>

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

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

Note: This Option requires SVN Version r26733 or later

<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

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: This Option requires SVN Version r28117 or later

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)

<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>

<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 Apple TV2 as it is likely to degrade performance because DDS images are not supported.

To enable dds fanart in xbmc, add the following to your advancedsettings.xml:

<advancedsettings>
  <useddsfanart>true</useddsfanart>
</advancedsettings>

<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 value: true.

<allowd3d9ex>true</allowd3d9ex>

<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>

<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>

<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.

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

<subsdelayrange>

to set subtitle delay slider to more than 10 seconds

<video>

 <subsdelayrange>30</subsdelayrange>

</video>

<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>

<algorithmdirtyregions>

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, big speed gains can be seen. Because all GPUs work differently, only Mode 3, combined with nofliptimeout=0, is guaranteed to be safe for everyone, but current timing issues with nofliptimeout keep this from being the default.

value result description
0 Off The entire viewport is always rendered. This is the default mode.
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)

Example:

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

<visualizedirtyregions>

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

  • true: on
  • false: off (default)

Example:

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

<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.

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

Example:

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