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 by default.
You have to use "Advanced Settings..." in the Plex menu and save your settings at least once - this will automatically create the advancedsettings.xml file. See the Advanced_Settings page for details. Alternatively, you can create it manually (which is more error prone though). When using the Windows client, make sure you create the file at the location "C:\Users\<user name>\AppData\Local\Plex\userdata" and not inside the "Program Files" folder. You may need to show hidden files in order to see the "AppData" folder.
Plex will never write to this file, so any settings you define will not be overwritten by any Plex GUI settings.
So you can only edit this file manually on your computer, via a text-editor (like TextEdit in OS X or a XML-editor).
All the settings available outside of the GUI are documented on this page.
NOTE: This file is CaSe SeNsItIvE, so make sure you use all lower-case tags or they will not be read properly by Plex.
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.
List of available settings
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.
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
Set to true if you have no DVD-ROM drive in your XBox, or if it's broken. Defaults to false.
Set to true if you have replaced the XBox DVD-ROM drive with a standard PC DVD-ROM. Expect performance to be somewhat variable. Defaults to false.
removed for non XBox builds with r14123.
Set to true if you wish to detect joint ISO9660/UDF disks as UDF. Defaults to false.
Set to true to disable modchip detection. This is required for X2 chips to launch XBEs.
Set to the path on the XBox Harddisk that XBMC should use for when it caches files (such as when caching subtitles or for unzipping or unrarring). Defaults to Z:\
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>
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>
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>
Translation table for subtitle and audio names. Contains entries of the form
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.
<sorttokens> <token>the</token> </sorttokens>
<samba> <doscodepage></doscodepage> <!-- code page to use for filenames --> <clienttimeout>10</clienttimeout> <!-- timeout (in seconds) --> </samba>
This tag used to be called <videostacking>.
Contains regular expressions for use in matching filenames in a "stack" of video files. The regular expression must have a (...) surrounding the volume label portion. Text matching is compared case-insensitive. Anything matched by the regular expression will be removed from the titlename. If more than one (...) section is used, the first one will be the prefix, the second one the volume label, and the third one (if it exists) will be the suffix. Use this to keep extensions after matching. If more than one expression matches a particular filename, the first one will be used.
<moviestacking> <regexp>[ _\.-]+cd[ _\.-]*([0-9a-d]+)</regexp> <regexp>[ _\.-]+dvd[ _\.-]*([0-9a-d]+)</regexp> <regexp>[ _\.-]+part[ _\.-]*([0-9a-d]+)</regexp> <regexp>[ _\.-]+dis[ck][ _\.-]*([0-9a-d]+)</regexp> <regexp>()[ _\.-]+([0-9]*[abcd]+)(\.....?)$</regexp> <regexp>([a-z])([0-9]+)(\.....?)$</regexp> <regexp>()([ab])(\.....?)$</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"> <regexp>custom[ _\.-]*([0-9a-d]+)</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>custom[ _\.-]*([0-9a-d]+)</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.
Contains regular expression to match the season and episode numbers in filenames.
<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 --> </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. You can also find a guide to creating your own regular expressions on the Changing_TV_Show_Naming_Conventions page.
NOTE: for multi-episode matching to work, there needs to be a third set of parentheses on the end. This part is fed back into the regexp engine.
Contains regular expressions to match filenames which should be excluded from a library scan.
<excludefromscan> <regexp>[-\._ ](sample|trailer)[-\._ ]</regexp> </excludefromscan>
The "append" and "action" arguments described in the moviestacking section work the same for excludefromscan tags.
Path substitutions for use with playlist loading. 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> </substitute> </pathsubstitution>
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.
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.
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.
The default timeout before item failure is 20 sec. It can be changed with this control
This controls how long the song information will remain onscreen when the song changes during visualisations. The valid range is 1 to 15, in seconds. This does not include the duration of any transition effects. (The default is 2 seconds.)
The repeat delay for the Infrared remote control, in milliseconds. Length of time a remote button needs to be held before it will start repeating (ie continuously sending button pushes while it's held down). Defaults to 480.
Deadzone for controller thumb sticks. 0 indicates no deadzone at all. 1 indicates all deadzone (ie no movement will be detected). Defaults to 0.2
Set to true to have XBMC display the Infrared Remote's button codes (OBC's) on screen when you press buttons. Useful for assigning functions to the buttons on a universal remote control. Defaults to false.
Size of the square in pixels that XBMC will use to cache thumbnail images. If the thumb is smaller than this size it will be cached as-is. If it is larger it will be scaled so that the number of pixels is less than a square of this value. Default is 512 (192 on xbox), which refers to 512x512 = 262144 (for XBox 192x192 = 36864) pixels in total. The thumbnail will be cached at using the same aspect ratio as the original image, using up to 262144 (for XBox 36864) pixels.
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>
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>
A list of additional files to try when searching for dvdrom thumbnail images. (The default is folder.jpg which can be removed.)
<dvdthumbs> <remove>folder.jpg</remove> <add>thumb.jpg|cover.jpg</add> </dvdthumbs>
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 --> <enableshutdown>false</enableshutdown> <!-- true shuts down xbox after 3 failed attempts to enter correct code --> <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>
MPlayer postprocessing settings. This is unreliable, and so they're in here only.
<postprocessing> <enable>false</enable> <!-- enable/disable postprocessing --> <auto>true</auto> <!-- auto filter settings (overrides the below) --> <verticaldeblocking>false</verticaldeblocking> <!-- use vertical deblocking --> <verticaldeblocklevel>0</verticaldeblocklevel> <!-- level of vertical deblocking (0-100) --> <horizontaldeblocking>false</horizontaldeblocking> <!-- use horizontal deblocking --> <horizontaldeblocklevel>0</horizontaldeblocklevel> <!-- level of horizontal deblocking (0-100) --> <autobrightnesscontrastlevels>false</autobrightnesscontrastlevels> <!-- whether to use mplayers colour balancing --> <dering>false</dering> <!-- whether to apply the dering filter --> </postprocessing>
<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> <!-- Delay in sync to karaoke in seconds. Valid values are -3.0...3.0. --> <karaokesyncdelay>0</karaokesyncdelay> </audio>
<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. --> </video> <!-- use "VideoSettings" instead of "video" for builds prior to May 22, 2006 -->
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 --> <!-- only shows primary album artists when at the unfiltered artist listing --> <hidecompilationartists>true</hidecompilationartists> <!-- at an albums listing, when you sort by artist, secondary sort will be year. --> <albumssortbyartistthenyear>true</albumssortbyartistthenyear> <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. --> <!-- separator used for multiple artists/genres in tags. Note, this *space* *slash* *space* --> <itemseparator> / </itemseparator> </musiclibrary>
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 --> <cleanonupdate>true</cleanonupdate> <!-- 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. --> <itemseparator> / </itemseparator> <!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --> </videolibrary>
<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> <rows>4</rows> <!-- Number of rows to use for the LCD. --> <columns>20</columns> <!-- Number of columns to use for the LCD. --> <address1>0</address1> <!-- Memory address for row 1. --> <address2>20</address2> <!-- Memory address for row 2. --> <address3>64</address3> <!-- Memory address for row 3. --> <address4>84</address4> <!-- Memory address for row 4. --> <heartbeat>true</heartbeat> <!-- Enables LCDprocs heartbeat symbol. Defaults to false. --> </lcd>
<network> <autodetectpingtime>30</autodetectpingtime> <!-- Length in seconds between pinging the network to detect new xbox's --> <curlclienttimeout>10</curlclienttimeout> <!-- Timeout in seconds for libcurl (http/ftp) connections --> <httpproxyusername></httpproxyusername> <!-- username for Basic Proxy Authentication --> <httpproxypassword></httpproxypassword> <!-- password for Basic Proxy Authentication --> </network>
<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>
Video: Minimum percentage that has to be played before it is marked as watched.
Music: Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal.
default is false, if set to true, shows cache (X Y Z) partitions in the root directory listing
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>
Set the delay in milliseconds before the busydialog pops up (default 2000).
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.
Static dns entries which take precedence over your dns server.
<hosts> <entry name="HOSTNAME">IPADDRESS</entry> </hosts>
Starts Plex in full screen (check resolutions!). The same as starting Plex with -fs.
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 editting 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.
Here are some special cases, if they aren't defined the user will be prompted first time he/she tries to access any of these paths:
Note: There are no default pre-set values
<myprograms> <trainerpath>/Users/yourusername/Library/Application Support/userdata/</trainerpath> </myprograms>
<mymusic> <recordingpath>/Users/yourusername/Downloads/PlexRecordings/</recordingpath> </mymusic>
<cddaripper> <path>/Users/yourusername/Downloads/PlexRecordings/</path> </cddaripper>
<system> <playlistspath>/Users/yourusername/Library/Application Support/userdata/</playlistspath> </system>
<pictures> <screenshotpath>/Users/yourusername/Downloads/PlexScreenshots</screenshotpath> </pictures>