Path substitution: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
{{Note| This is considered an advanced (complicated) feature.}}
{{Note| This is considered an advanced (complicated) feature.}}


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


== How it works ==
'''<code><from></from></code>''' defines the path you wish to replace.
'''<code><to></to></code>''' 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.


;Thumbnails
=== Examples ===
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 <strong>not</strong> 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).<br/><br/>
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 <strong>not</strong> share a single Thumbnails folder between multiple clients, as the Texture Cache is simply not designed to support this and you will experience problems.


== Examples ==
Save as "advancedsettings.xml" in your [[userdata folder]]:
Save as "advancedsettings.xml" in your [[userdata folder]]:


Line 46: Line 46:


{{Note|Not all special paths can be substituted. In particular, special://musicplaylists/ and special://videoplaylists/ should not be substituted, as internally these are multipaths that cannot be written to (thus saving of playlists will go elsewhere). Instead, one should use the advanced setting <system><playlistpath> to change this.}}
{{Note|Not all special paths can be substituted. In particular, special://musicplaylists/ and special://videoplaylists/ should not be substituted, as internally these are multipaths that cannot be written to (thus saving of playlists will go elsewhere). Instead, one should use the advanced setting <system><playlistpath> to change this.}}
== 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 <strong>not</strong> 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).<br/><br/>
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 <strong>not</strong> 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 ==
== See also ==

Revision as of 19:22, 18 January 2016

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.

Examples

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

Example 1 - changing the path of music files
<advancedsettings>
 <pathsubstitution>
  <substitute>
    <from>SMB://192.168.1.19/Music/</from>
    <to>G:\Music\</to>
  </substitute>
 </pathsubstitution>
</advancedsettings>


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


Note: Not all special paths can be substituted. In particular, special://musicplaylists/ and special://videoplaylists/ should not be substituted, as internally these are multipaths that cannot be written to (thus saving of playlists will go elsewhere). Instead, one should use the advanced setting <system><playlistpath> to change this.

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