21 Aug 2020 - The wiki is undergoing a major cleanup. If you arrived here from a search engine and cannot find the page, please use the wiki search instead (top right corner of page)
More info can be found on the forum

Difference between revisions of "Path substitution"

From Official Kodi Wiki
Jump to: navigation, search
m
 
(10 intermediate revisions by 5 users not shown)
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>.
  
;Thumbnails
+
The file path/URL can be partial, such as just the address for a server.  
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/>
+
{{divbox|red||'''Note:''' Path substition for "sources" and profiles only works from v18.3}}
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 ==
+
=== Example ===
Save as "advancedsettings.xml" in your [[userdata folder]]:
 
  
;Example 1 - changing the path of music files
 
<syntaxhighlight lang="XML" enclose="div">
 
<advancedsettings>
 
<pathsubstitution>
 
  <substitute>
 
    <from>SMB://192.168.1.19/Music/</from>
 
    <to>G:\Music\</to>
 
  </substitute>
 
</pathsubstitution>
 
</advancedsettings>
 
</syntaxhighlight >
 
  
 +
Save as "advancedsettings.xml" in your [[Userdata|userdata folder]]:
  
;Example 2 - changing where thumbnails are stored
+
;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]]'''.}}
+
{{note|This will slowdown thumbnail loading, but might be worth it for low-memory devices.}}
 
<syntaxhighlight lang="XML" enclose="div">
 
<syntaxhighlight lang="XML" enclose="div">
 
<advancedsettings>
 
<advancedsettings>
Line 44: Line 33:
 
</syntaxhighlight >
 
</syntaxhighlight >
  
 +
{{divbox|yellow||'''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).}}
 +
 +
== 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 <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.
  
{{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.}}
 
  
== See also ==
 
* [[advancedsettings.xml#<pathsubstitution>]]
 
* [[MySQL/Sync other parts of Kodi]]
 
* [[Special protocol]]
 
  
  
{{Updated|16}}
+
{{Updated|18}}
  
 
[[Category:Settings]]
 
[[Category:Settings]]
 
[[Category:Manual]]
 
[[Category:Manual]]
 
[[Category:Advanced topics]]
 
[[Category:Advanced topics]]

Latest revision as of 21:16, 29 August 2020

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.


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

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

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

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

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