Path substitution

From Official Kodi Wiki
Revision as of 15:10, 24 April 2019 by Enen92 (talk | contribs) (Fix note - stating it'll only work for 18.3 +)
Jump to navigation Jump to search
Home icon grey.png   ▶ advancedsettings.xml ▶ Path substitution

Path substitutions are settings in advancedsettings.xml to force Kodi to use different file paths. These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle. Path subs work for most file and folder paths. Path subs work across local and network paths, across different network protocols, and can even be used with some of the special protocol.

Note: This is considered an advanced (complicated) feature.


How it works

<from></from> defines the path you wish to replace.

<to></to> defines the new path that will replace what you put in <from>.

The file path/URL can be partial, such as just the address for a server.

Example

Save as "advancedsettings.xml" in your userdata folder:

Example - changing where thumbnails are stored

Note: This will slowdown thumbnail loading, but might be worth it for low-memory devices. See also HOW-TO:Reduce disk space usage.

<advancedsettings>
 <pathsubstitution>
  <substitute>
    <from>special://profile/Thumbnails/</from>
    <to>PROTOCOL://YOUR_NETWORK_SHARE/Kodi/userdata/Thumbnails/</to>
  </substitute>
 </pathsubstitution>
</advancedsettings>

Moving the userdata folder on Android

See: HOW-TO:Change data location for Android

The userdata folder can't normally be relocated completely, except on Android. See HOW-TO:Change data location for Android for more details.

Special notes about path substitution for userdata files

Path substitution is not officially supported for settings files. It probably won't hurt anything, but some things might not always work right depending on what you are substituting.


Thumbnails

Sharing the Thumbnails folder with Path Substitution is prone to problems, primarily because the Texture Cache consists of two interlinked data stores - the Thumbnails folder and the SQLite database Textures13.db. Sharing the SQLite Textures13.db between multiple clients is not supported under any circumstances due to the liklehood of database corruption.

Since sharing of the database is not realistically possible, attempts at sharing only the Thumbnails folder will either fail completely, or result in some artwork items never being displayed, or you may experience artwork being displayed but with higher or lower than expected image quality or even image corruption (a result of different clients overwriting previously cached artwork, as not all clients cache artwork at the same resolutions, or even use the same image formats).

If you must use Path Substitution to relocate (rather than share) your Thumbnails folder, by all means do so but only for individual clients and their associated Thumbnails folder. Do not share a single Thumbnails folder between multiple clients, as the Texture Cache is simply not designed to support this and you will experience problems.

See also