Special protocol: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
(→‎iDevice: Updated home and temp locations to reflect name change to Kodi)
(Added "portable_data" to userdata portable path)
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{mininav|[[Development]]}}
{{mininav|[[Development]]}}
{{see also|Add-on development|Python development|Skinning}}
<section begin="intro" />The "Special Protocol" is Kodi's solution to platform dependent directories. Common directory names are assigned a special://[name] path which is passed around inside Kodi and then translated to the platform specific path before the operating system sees it. This helps keep most of the platform mess centralized in the code.<section end="intro" />
<section begin="intro" />The "Special Protocol" is XBMC's solution to platform dependent directories. Common directory names are assigned a special://[name] path which is passed around inside XBMC and then translated to the platform specific path before the operating system sees it. This helps keep most of the platform mess centralized in the code.<section end="intro" />
 


== Available Paths ==
== Available Paths ==
* '''special://xbmc''' - XBMC' installation root directory. This path is read-only contains the XBMC binary, support libraries and default configuration files, skins, scripts and plugins. Users should not modify files or install addons in this directory.
{| class="prettytable"
* '''special://home''' - XBMC's user specific (OS user) configuration directory. This path contains a writable version of the special://xbmc directories. Any addons should be installed here.
|-
* '''special://temp''' - XBMC's temporary directory. This path is used to cache various data during normal usage. Unless you need the log, nothing in this directory is detrimental to XBMC's operation. Normally special://home/temp
! Path
* '''special://masterprofile''' - XBMC's main configuration directory. Normally located at special://home/userdata, this directory contains global settings and sources, as well as any XBMC profile directories. Normally special://home/userdata
! Description
* '''special://profile''' - XBMC's currently active profile directory. This directory points at special://masterprofile/''profile_name'' (or special://masterprofile if no profile is in use) and contains per profile overrides for settings and sources.
|-
* '''special://subtitles''' - User defined custom subtitle path. Set it in Video Settings.
| <code>'''special://xbmc'''</code>
* '''special://userdata''' - Alias from special://masterprofile.
| Kodi's installation root directory. This path is read-only contains the Kodi binary, support libraries and default configuration files, skins, scripts and plugins. Users should not modify files or install addons in this directory.
* '''special://database''' - This path contains the database files XBMC uses to store library info. Normally special://masterprofile/Database.
:: {{Note|The special://xbmc/ path is still valid for newer versions that have been renamed to Kodi. <br /><br />special://kodi/ does '''not''' exist yet.}}
* '''special://thumbnails''' - This path contains cached thumbnails. Normally special://masterprofile/Thumbnails
|-
* '''special://recordings''' - This path contains saved [[PVR]] recordings.
| <code>'''special://home'''</code>
* '''special://screenshots''' - This path contains XBMC screen shots. You will be asked to specify this directory the first time you take a screen shot.
| Kodi's user specific (OS user) configuration directory. This path contains a writable version of the special://xbmc directories. Any addons should be installed here.
* '''special://musicplaylists''' - This path contains saved music playlists. Normally special://profile/playlists/music.
|-
* '''special://videoplaylists''' - This path contains saved video playlists. Normally special://profile/playlists/video.
| <code>'''special://temp'''</code>
* '''special://cdrips''' - This path contains the tracks from CDs you rip with XBMC. You will be asked to specify this directory the first time you rip a CD.
| Kodi's temporary directory. This path is used to cache various data during normal usage. Unless you need the log, nothing in this directory is detrimental to Kodi's operation. Normally special://home/temp
* '''special://skin''' - This path points to the currently active skin's root directory.
|-
* '''special://logpath''' - This path points to the path where the [[log file]] is saved. Added in XBMC v12 Frodo.
| <code>'''special://masterprofile'''</code>
| Kodi's main configuration directory. Normally located at special://home/userdata, this directory contains global settings and sources, as well as any Kodi profile directories. Normally special://home/userdata
|-
| <code>'''special://profile'''</code>
| Kodi's currently active profile directory. This directory points at special://masterprofile/''profile_name'' (or special://masterprofile if no profile is in use) and contains per profile overrides for settings and sources.
|-
| <code>'''special://subtitles'''</code>
| User defined custom subtitle path. Set it in Video Settings.
|-
| <code>'''special://userdata'''</code>
| Alias from special://masterprofile.
|-
| <code>'''special://database'''</code>
| This path contains the database files Kodi uses to store library info. Normally special://masterprofile/Database.
|-
| <code>'''special://thumbnails'''</code>
| This path contains cached thumbnails. Normally special://masterprofile/Thumbnails
|-
| <code>'''special://recordings'''</code>
| This path contains saved [[PVR]] recordings.
|-
| <code>'''special://screenshots'''</code>
| This path contains Kodi screen shots. You will be asked to specify this directory the first time you take a screen shot.
|-
| <code>'''special://musicplaylists'''</code>
| This path contains saved music playlists. Normally special://profile/playlists/music.
|-
| <code>'''special://videoplaylists'''</code>
| This path contains saved video playlists. Normally special://profile/playlists/video.
|-
| <code>'''special://cdrips'''</code>
| This path contains the tracks from CDs you rip with Kodi. You will be asked to specify this directory the first time you rip a CD.
|-
| <code>'''special://skin'''</code>
| This path points to the currently active skin's root directory.
|-
| <code>'''special://logpath'''</code>
| This path points to the path where the [[log file]] is saved.
|-
| <code>'''library://video/'''</code>
| This path points to the Video Library folders and to the file Sources
|-
| <code>'''library://music/'''</code>
| This path points to the Music Library folders and to the file Sources
|}
 
 
 
== Default OS mappings ==
* Bulleted list item
 
=== Android ===
* '''special://xbmc''' - /data/data/org.xbmc.kodi/cache/apk/assets/
* '''special://home''' - /sdcard/Android/data/org.xbmc.kodi/files/.kodi/
* '''special://temp''' - /sdcard/Android/data/org.xbmc.kodi/files/.kodi/temp/
 
=== iOS ===
;Apple TV 2 (black)
* '''special://xbmc''' - /private/var/stash/Applications/Kodi.frappliance/KodiData/KodiHome
* '''special://home''' - /private/var/mobile/Library/Preferences/Kodi
* '''special://temp''' - /private/var/mobile/Library/Preferences/Kodi/temp
 
;iDevice
* '''special://xbmc''' - /Applications/Kodi.app/KodiData/KodiHome {{highlight|''<- Symbolic link, but the real path has some random characters in it.''}}
* '''special://home''' - /private/var/mobile/Library/Preferences/Kodi
* '''special://temp''' - private/var/mobile/Library/Preferences/Kodi/temp


== Linux default mappings ==
=== Linux ===
* '''special://xbmc''' - /usr/share/xbmc when installed from a binary package (ie PPA, rpm, deb, etc). /usr/local/share/xbmc when compiled (unless you specify an alternate prefix)
* '''special://xbmc''' - /usr/share/kodi when installed from a binary package (ie PPA, rpm, deb, etc). /usr/local/share/kodi when compiled (unless you specify an alternate prefix)
* '''special://home''' - /home/''[username]''/.xbmc (Note the '.', this directory is hidden so you may need to enable hidden files in your file manager to see it).
* '''special://home''' - /home/''[username]''/.kodi
:: {{Note|The '.', this directory is hidden so you may need to enable hidden files in your file manager to see it.}}


== Windows default mappings ==
=== Mac OS X ===
=== Windows XP ===
* '''special://xbmc''' - /Applications/Kodi.app/Contents/Resources/Kodi
* '''special://home''' - /Users/''[username]''/Library/Application Support/Kodi
* '''special://temp''' - /Users/''[username]''/.kodi/temp
:: {{Note|The '.', this directory is hidden so you need to enable hidden files to see it.
 
=== Windows ===
This assumes your Windows install drive is C:. Replace as necessary.
This assumes your Windows install drive is C:. Replace as necessary.
* '''special://xbmc''' - C:\Program Files\XBMC
* '''special://xbmc''' - C:\Program Files\Kodi
* '''special://home''' - C:\Documents and Settings\''[username]''\Application Data\XBMC\
* '''special://xbmc''' - C:\Program Files (x86)\Kodi (Windows 64 bit)
* '''special://home''' - C:\Users\''[username]''\AppData\Roaming\Kodi


=== Windows Vista/7 ===
;Portable Mode
This assumes your Windows install drive is C:. Replace as necessary.
In portable mode, Kodi is entirely self contained, so its install directory must be writable.
* '''special://xbmc''' - C:\Program Files\XBMC
* '''special://xbmc''' - Where ever you installed Kodi (MUST be writable).
* '''special://xbmc''' - C:\Program Files (x86)\XBMC (Windows 64 bit)
* '''special://home''' - special://xbmc/portable_data
* '''special://home''' - C:\Users\''[username]''\AppData\Roaming\XBMC


=== Portable Mode ===
In portable mode, XBMC is entirely self contained, so its install directory must be writable.
* '''special://xbmc''' - Where ever you installed XBMC (MUST be writable).
* '''special://home''' - special://xbmc


== OS X default mappings ==
* '''special://xbmc''' - /Applications/XBMC.app/Contents/Resources/XBMC
* '''special://home''' - /Users/''[username]''/Library/Application Support/XBMC
* '''special://temp''' - /Users/''[username]''/.xbmc/temp ''(Note the '.', this directory is hidden so you need to use Terminal.app to see it)''


== iOS default mappings ==
== See also ==
=== Apple TV 2 (black) ===
* [[Userdata]]
* '''special://xbmc''' - /private/var/stash/Applications/XBMC.frappliance/XBMCData/XBMCHome
* [[Development]]
* '''special://home''' - /private/var/mobile/Library/Preferences/XBMC
* [[Opening_Windows_and_Dialogs]]
* '''special://temp''' - /private/var/mobile/Library/Preferences/XBMC/temp


=== iDevice ===
* '''special://xbmc''' - /Applications/XBMC.app/XBMCData/XBMCHome {{highlight|''<- Symbolic link, but the real path has some random characters in it.''}}
* '''special://home''' - /private/var/mobile/Library/Preferences/Kodi
* '''special://temp''' - private/var/mobile/Library/Preferences/Kodi/temp


{{Helix updated}}
{{Helix updated}}


[[Category:Manual]]
[[Category:Add-on development]]
[[Category:Add-on development]]
[[Category:Skin development]]
[[Category:Skin development]]
[[Category:Development]]
[[Category:Development]]
[[Category:Advanced topics]]
[[Category:Advanced topics]]

Latest revision as of 21:20, 19 September 2021

Home icon grey.png   ▶ Development ▶ Special protocol

The "Special Protocol" is Kodi's solution to platform dependent directories. Common directory names are assigned a special://[name] path which is passed around inside Kodi and then translated to the platform specific path before the operating system sees it. This helps keep most of the platform mess centralized in the code.


Available Paths

Path Description
special://xbmc Kodi's installation root directory. This path is read-only contains the Kodi binary, support libraries and default configuration files, skins, scripts and plugins. Users should not modify files or install addons in this directory.
Note: The special://xbmc/ path is still valid for newer versions that have been renamed to Kodi.

special://kodi/ does not exist yet.
special://home Kodi's user specific (OS user) configuration directory. This path contains a writable version of the special://xbmc directories. Any addons should be installed here.
special://temp Kodi's temporary directory. This path is used to cache various data during normal usage. Unless you need the log, nothing in this directory is detrimental to Kodi's operation. Normally special://home/temp
special://masterprofile Kodi's main configuration directory. Normally located at special://home/userdata, this directory contains global settings and sources, as well as any Kodi profile directories. Normally special://home/userdata
special://profile Kodi's currently active profile directory. This directory points at special://masterprofile/profile_name (or special://masterprofile if no profile is in use) and contains per profile overrides for settings and sources.
special://subtitles User defined custom subtitle path. Set it in Video Settings.
special://userdata Alias from special://masterprofile.
special://database This path contains the database files Kodi uses to store library info. Normally special://masterprofile/Database.
special://thumbnails This path contains cached thumbnails. Normally special://masterprofile/Thumbnails
special://recordings This path contains saved PVR recordings.
special://screenshots This path contains Kodi screen shots. You will be asked to specify this directory the first time you take a screen shot.
special://musicplaylists This path contains saved music playlists. Normally special://profile/playlists/music.
special://videoplaylists This path contains saved video playlists. Normally special://profile/playlists/video.
special://cdrips This path contains the tracks from CDs you rip with Kodi. You will be asked to specify this directory the first time you rip a CD.
special://skin This path points to the currently active skin's root directory.
special://logpath This path points to the path where the log file is saved.
library://video/ This path points to the Video Library folders and to the file Sources
library://music/ This path points to the Music Library folders and to the file Sources


Default OS mappings

  • Bulleted list item

Android

  • special://xbmc - /data/data/org.xbmc.kodi/cache/apk/assets/
  • special://home - /sdcard/Android/data/org.xbmc.kodi/files/.kodi/
  • special://temp - /sdcard/Android/data/org.xbmc.kodi/files/.kodi/temp/

iOS

Apple TV 2 (black)
  • special://xbmc - /private/var/stash/Applications/Kodi.frappliance/KodiData/KodiHome
  • special://home - /private/var/mobile/Library/Preferences/Kodi
  • special://temp - /private/var/mobile/Library/Preferences/Kodi/temp
iDevice
  • special://xbmc - /Applications/Kodi.app/KodiData/KodiHome <- Symbolic link, but the real path has some random characters in it.
  • special://home - /private/var/mobile/Library/Preferences/Kodi
  • special://temp - private/var/mobile/Library/Preferences/Kodi/temp

Linux

  • special://xbmc - /usr/share/kodi when installed from a binary package (ie PPA, rpm, deb, etc). /usr/local/share/kodi when compiled (unless you specify an alternate prefix)
  • special://home - /home/[username]/.kodi
Note: The '.', this directory is hidden so you may need to enable hidden files in your file manager to see it.

Mac OS X

  • special://xbmc - /Applications/Kodi.app/Contents/Resources/Kodi
  • special://home - /Users/[username]/Library/Application Support/Kodi
  • special://temp - /Users/[username]/.kodi/temp
{{Note|The '.', this directory is hidden so you need to enable hidden files to see it.

Windows

This assumes your Windows install drive is C:. Replace as necessary.

  • special://xbmc - C:\Program Files\Kodi
  • special://xbmc - C:\Program Files (x86)\Kodi (Windows 64 bit)
  • special://home - C:\Users\[username]\AppData\Roaming\Kodi
Portable Mode

In portable mode, Kodi is entirely self contained, so its install directory must be writable.

  • special://xbmc - Where ever you installed Kodi (MUST be writable).
  • special://home - special://xbmc/portable_data


See also