<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trpltongue</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trpltongue"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Trpltongue"/>
	<updated>2026-06-18T01:54:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67872</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67872"/>
		<updated>2014-01-17T21:52:45Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Video Thumbnails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Some of the naming conventions (music especially) mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a -poster.jpg or -poster.png extension ie: &#039;&#039;Transformers.avi, Transformers-poster.jpg&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039; *Depricated, Eden format but still functional&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC looks for &#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039; in the folder containing the media files and uses that as the thumbnail.&lt;br /&gt;
Note: &amp;lt;filename&amp;gt;.tbn will supersede &#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039; (result of Eden backward compatibility) &lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{redv|Deprecated:|If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC checks inside the movie folder for the following files in this order:&amp;lt;br /&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
{{redv|Deprecated:|XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the &amp;lt;dvdthumbs&amp;gt; tag in [[AdvancedSettings.xml]].}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{redv|Deprecated:|The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Note: Deprecated as of Frodo &amp;lt;dvdthumbs&amp;gt; is no longer part of advancedsettings.xml - Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
}}&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
As of Frodo, XBMC will import Banners and Posters. &lt;br /&gt;
&lt;br /&gt;
{{redv|Deprecated:|Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.}}&lt;br /&gt;
&lt;br /&gt;
Certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide a season-all.(jpg/png) file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to season-all.(jpg/png). That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename-poster.(jpg/png)&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
Note that &#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039; is old Eden terminology, but WILL supersede &#039;&#039;&#039;videofilename-poster.(jpg/png)&#039;&#039;&#039; which is the standard for Frodo and later versions of XBMC.&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
This may not be Frodo terminology, but &#039;&#039;&#039;&#039;&#039;should&#039;&#039;&#039;&#039;&#039; still work&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movies in Folders&lt;br /&gt;
{{redv|Deprecated:|If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder.}}&amp;lt;br /&amp;gt; &lt;br /&gt;
In the following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;poster.(jpg/png)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
Note that movie.tbn will supersede &#039;&#039;&#039;poster.jpg&#039;&#039;&#039; due to Eden backward compatibility&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; &lt;br /&gt;
{{redv|Deprecated:|See [[http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;]] in [[http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml]] }}&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
As of Frodo, XBMC can use either posters OR banners as the Season thumbnail.  In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
Movies in Folders:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.(jpg/png)&#039;&#039;&#039; &lt;br /&gt;
TV Series:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Season:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Season All:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Specials:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67871</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67871"/>
		<updated>2014-01-17T21:18:13Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Some of the naming conventions (music especially) mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a -poster.jpg or -poster.png extension ie: &#039;&#039;Transformers.avi, Transformers-poster.jpg&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039; *Depricated, Eden format but still functional&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC looks for &#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039; in the folder containing the media files and uses that as the thumbnail.&lt;br /&gt;
Note: &amp;lt;filename&amp;gt;.tbn will supersede &#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039; (result of Eden backward compatibility) &lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: Deprecated, no longer functional as of Frodo&#039;&#039;&#039; -If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.-&lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC checks inside the movie folder for the following files in this order:&amp;lt;br /&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: Deprecated, no longer functional as of Frodo&#039;&#039;&#039; - XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This info is all deprecated and no longer functions as of Frodo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Note: Deprecated as of Frodo &amp;lt;dvdthumbs&amp;gt; is no longer part of advancedsettings.xml - Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
As of Frodo, XBMC will import Banners and Posters. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Deprecated as of Frodo&#039;&#039;&#039;&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide a season-all.(jpg/png) file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to season-all.(jpg/png). That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename-poster.(jpg/png)&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
Note that &#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039; is old Eden terminology, but WILL supersede &#039;&#039;&#039;videofilename-poster.(jpg/png)&#039;&#039;&#039; which is the standard for Frodo and later versions of XBMC.&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
This may not be Frodo terminology, but &#039;&#039;&#039;&#039;&#039;should&#039;&#039;&#039;&#039;&#039; still work&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movies in Folders&lt;br /&gt;
&#039;&#039;&#039;Note Deprecated as of Frodo&#039;&#039;&#039; - If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder.&amp;lt;br /&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;poster.(jpg/png)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
Note that movie.tbn will supersede &#039;&#039;&#039;poster.jpg&#039;&#039;&#039; due to Eden backward compatibility&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; &#039;&#039;&#039;Note - Deprecated as of Frodo&#039;&#039;&#039;( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] ) &#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
As of Frodo, XBMC can use either posters OR banners as the Season thumbnail.  In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
Movies in Folders:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.(jpg/png)&#039;&#039;&#039; &lt;br /&gt;
TV Series:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Season:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Season All:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Specials:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67870</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67870"/>
		<updated>2014-01-17T21:15:15Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Video Thumbnails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a -poster.jpg or -poster.png extension ie: &#039;&#039;Transformers.avi, Transformers-poster.jpg&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039; *Depricated, Eden format but still functional&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC looks for &#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039; in the folder containing the media files and uses that as the thumbnail.&lt;br /&gt;
Note: &amp;lt;filename&amp;gt;.tbn will supersede &#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039; (result of Eden backward compatibility) &lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: Deprecated, no longer functional as of Frodo&#039;&#039;&#039; -If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.-&lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC checks inside the movie folder for the following files in this order:&amp;lt;br /&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;filename&amp;gt;-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Note: Deprecated, no longer functional as of Frodo&#039;&#039;&#039; - XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This info is all deprecated and no longer functions as of Frodo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Note: Deprecated as of Frodo &amp;lt;dvdthumbs&amp;gt; is no longer part of advancedsettings.xml - Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
As of Frodo, XBMC will import Banners and Posters. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Deprecated as of Frodo&#039;&#039;&#039;&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide a season-all.(jpg/png) file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to season-all.(jpg/png). That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename-poster.(jpg/png)&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
Note that &#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039; is old Eden terminology, but WILL supersede &#039;&#039;&#039;videofilename-poster.(jpg/png)&#039;&#039;&#039; which is the standard for Frodo and later versions of XBMC.&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
This may not be Frodo terminology, but &#039;&#039;&#039;&#039;&#039;should&#039;&#039;&#039;&#039;&#039; still work&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movies in Folders&lt;br /&gt;
&#039;&#039;&#039;Note Deprecated as of Frodo&#039;&#039;&#039; - If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder.&amp;lt;br /&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;poster.(jpg/png)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
Note that movie.tbn will supersede &#039;&#039;&#039;poster.jpg&#039;&#039;&#039; due to Eden backward compatibility&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; &#039;&#039;&#039;Note - Deprecated as of Frodo&#039;&#039;&#039;( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] ) &#039;&#039;&#039;End Deprecation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
As of Frodo, XBMC can use either posters OR banners as the Season thumbnail.  In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 or&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-banner.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
Movies in Folders:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.(jpg/png)&#039;&#039;&#039; &lt;br /&gt;
TV Series:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Season:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Season All:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
TV Specials:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials-fanart.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.jpg&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67869</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67869"/>
		<updated>2014-01-17T19:49:39Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Video Thumbnails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a -poster.jpg or -poster.png extension ie: &#039;&#039;Transformers.avi, Transformers-poster.jpg&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039; *Depricated, Eden format but still functional&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC looks for &amp;lt;filename&amp;gt;.tbn and uses that if it exists (result of Eden backward compatibility, .tbn extensions should not be used as of Frodo (V12) or later.  &lt;br /&gt;
&lt;br /&gt;
If &amp;lt;filename&amp;gt;.tbn does not exist, XBMC looks for &amp;lt;filename&amp;gt;-poster.(jpg/png) and uses that as the thumbnail.&lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Depricated, no longer functional as of Frodo -If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml]. &lt;br /&gt;
&lt;br /&gt;
Whatever is found first is used as the thumbnail and cached on first read.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
The problem is that by default XBMC will only import ONE thumbnail image of one type (Banner or Poster). &lt;br /&gt;
&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
To solve this problem, certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster.jpg file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide an all-seasons.tbn file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to all-seasons.tbn. That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movie&lt;br /&gt;
If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder. In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;movie.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;movie.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; ( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] )&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67868</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67868"/>
		<updated>2014-01-17T19:46:23Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Video Thumbnails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a -poster.jpg or -poster.png extension ie: &#039;&#039;Transformers.avi, Transformers-poster.jpg&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039; *Depricated, Eden format but still functional&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*Depricated, no longer functional as of Frodo -If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.&lt;br /&gt;
&lt;br /&gt;
XBMC looks for &amp;lt;filename&amp;gt;.tbn and uses that if it exists (result of Eden backward compatibility, .tbn extensions should not be used as of Frodo (V12) or later.  &lt;br /&gt;
&lt;br /&gt;
If &amp;lt;filename&amp;gt;.tbn does not exist, XBMC looks for &amp;lt;filename&amp;gt;-poster.(jpg/png) and uses that as the thumbnail.&lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml]. &lt;br /&gt;
&lt;br /&gt;
Whatever is found first is used as the thumbnail and cached on first read.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
The problem is that by default XBMC will only import ONE thumbnail image of one type (Banner or Poster). &lt;br /&gt;
&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
To solve this problem, certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster.jpg file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide an all-seasons.tbn file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to all-seasons.tbn. That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movie&lt;br /&gt;
If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder. In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;movie.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;movie.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; ( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] )&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67867</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67867"/>
		<updated>2014-01-17T19:22:21Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Thumbnails for individual items in a single directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a -poster.jpg or -poster.png extension ie: &#039;&#039;Transformers.avi, Transformers-poster.jpg&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039; *Depricated, Eden format but still functional&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.&lt;br /&gt;
&lt;br /&gt;
IF movie.tbn is NOT present than XBMC checks for &amp;lt;filename&amp;gt;.tbn and uses that if it exists. &lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml]. &lt;br /&gt;
&lt;br /&gt;
Whatever is found first is used as the thumbnail and cached on first read.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
The problem is that by default XBMC will only import ONE thumbnail image of one type (Banner or Poster). &lt;br /&gt;
&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
To solve this problem, certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster.jpg file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide an all-seasons.tbn file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to all-seasons.tbn. That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movie&lt;br /&gt;
If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder. In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;movie.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;movie.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; ( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] )&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67866</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67866"/>
		<updated>2014-01-17T19:20:52Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Thumbnails for individual items in a single directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a .jpg or .png extension ie: &#039;&#039;Transformers.avi, Transformers.jpg&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039; *Depricated, Eden format but still functional&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.&lt;br /&gt;
&lt;br /&gt;
IF movie.tbn is NOT present than XBMC checks for &amp;lt;filename&amp;gt;.tbn and uses that if it exists. &lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml]. &lt;br /&gt;
&lt;br /&gt;
Whatever is found first is used as the thumbnail and cached on first read.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
The problem is that by default XBMC will only import ONE thumbnail image of one type (Banner or Poster). &lt;br /&gt;
&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
To solve this problem, certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster.jpg file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide an all-seasons.tbn file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to all-seasons.tbn. That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movie&lt;br /&gt;
If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder. In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;movie.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;movie.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; ( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] )&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67865</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67865"/>
		<updated>2014-01-17T19:20:10Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Thumbnails for individual items in a single directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a .tbn extension ie: &#039;&#039;Transformers.avi, Transformers.tbn&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-poster.(jpg/png)&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039; *Depricated, Eden format but still functional&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.&lt;br /&gt;
&lt;br /&gt;
IF movie.tbn is NOT present than XBMC checks for &amp;lt;filename&amp;gt;.tbn and uses that if it exists. &lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml]. &lt;br /&gt;
&lt;br /&gt;
Whatever is found first is used as the thumbnail and cached on first read.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
The problem is that by default XBMC will only import ONE thumbnail image of one type (Banner or Poster). &lt;br /&gt;
&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
To solve this problem, certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster.jpg file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide an all-seasons.tbn file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to all-seasons.tbn. That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movie&lt;br /&gt;
If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder. In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;movie.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;movie.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; ( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] )&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67864</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67864"/>
		<updated>2014-01-17T11:57:21Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Examples for User-Defined Video Thumbnails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a .tbn extension ie: &#039;&#039;Transformers.avi, Transformers.tbn&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.&lt;br /&gt;
&lt;br /&gt;
IF movie.tbn is NOT present than XBMC checks for &amp;lt;filename&amp;gt;.tbn and uses that if it exists. &lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml]. &lt;br /&gt;
&lt;br /&gt;
Whatever is found first is used as the thumbnail and cached on first read.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
The problem is that by default XBMC will only import ONE thumbnail image of one type (Banner or Poster). &lt;br /&gt;
&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
To solve this problem, certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster.jpg file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide an all-seasons.tbn file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to all-seasons.tbn. That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movie&lt;br /&gt;
If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder. In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;movie.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;movie.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; ( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] )&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Movies\Movie1\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
 TV Shows\TV Show 1\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Extra_fanart&amp;diff=67862</id>
		<title>Extra fanart</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Extra_fanart&amp;diff=67862"/>
		<updated>2014-01-17T11:43:26Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Extra Fanart&#039;&#039;&#039; is mostly a slideshow of Fanarts. Is not a native XBMC Feature, [[Comparison of skin features|some Skins]] implement this.&lt;br /&gt;
&lt;br /&gt;
Extra Fanart is stored in a separate Folder named &amp;quot;extrafanart&amp;quot; and each extra Fanart must be named fanartX.jpg where X is a sequential number starting with 1 (fanart1.jpg, fanart2.jpg, fanart3.jpg, etc).  The location of the extrafanart Folder depends on the source type (TV or Movies).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In your [[TV Shows (Video Library)#Directory Structure and File Names|TV Show Directory Structure]] create a Folder named &#039;&#039;&#039;extrafanart&#039;&#039;&#039; in TV Show Folder. Put all your extra Fanarts inside of it. Extra Fanart name must be fanartX.jpg where X is sequential number starting with 1.  File-ending must be .jpg &#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TV Shows&lt;br /&gt;
     |___ TV Show 1&lt;br /&gt;
     |       |___ TV Show 1 Media files&lt;br /&gt;
     |       |___ extrafanart&lt;br /&gt;
     |               |___ fanart1.jpg&lt;br /&gt;
     |               |___ fanart2.jpg&lt;br /&gt;
     |               |___ fanart3.jpg&lt;br /&gt;
     |&lt;br /&gt;
     |___ TV Show 2&lt;br /&gt;
     |       |___ TV Show 2 Media files&lt;br /&gt;
     |       |___ extrafanart&lt;br /&gt;
     |               |___ fanart1.jpg&lt;br /&gt;
     |               |___ fanart2.jpg&lt;br /&gt;
     |&lt;br /&gt;
     |___ TV Show 3&lt;br /&gt;
             |___ TV Show 3 Media files&lt;br /&gt;
             |___ extrafanart&lt;br /&gt;
                     |___ fanart1.jpg&lt;br /&gt;
                     |___ fanart2.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In your [[Movies (Video Library)|Movie Directory Structure]] create a Folder named &#039;&#039;&#039;extrafanart&#039;&#039;&#039; in the same Folder as the media file.  Put all your extra Fanarts inside of it. Extra Fanart name must be fanartX.jpg where X is sequential number starting with 1.  File-ending must be .jpg &#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example (Movies in Folders):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Movies&lt;br /&gt;
     |___ Movie 1&lt;br /&gt;
             |___ Movie 1 Media file&lt;br /&gt;
     |       |___ extrafanart&lt;br /&gt;
     |               |___ fanart1.jpg&lt;br /&gt;
     |               |___ fanart2.jpg&lt;br /&gt;
     |               |___ fanart3.jpg&lt;br /&gt;
     |&lt;br /&gt;
     |___ Movie 2&lt;br /&gt;
             |___ Movie 1 Media file&lt;br /&gt;
     |       |___ extrafanart&lt;br /&gt;
     |               |___ fanart1.jpg&lt;br /&gt;
     |               |___ fanart2.jpg&lt;br /&gt;
     |&lt;br /&gt;
     |___ Movie 3&lt;br /&gt;
             |___ Movie 1 Media file&lt;br /&gt;
             |___ extrafanart&lt;br /&gt;
                     |___ fanart1.jpg&lt;br /&gt;
                     |___ fanart2.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example (DVD Video Structure with VIDEO_TS Folders):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Movies&lt;br /&gt;
     |___ Movie 1&lt;br /&gt;
     |       |___ VIDEO_TS&lt;br /&gt;
     |               |___ Movie 1 Media file&lt;br /&gt;
     |               |___ extrafanart&lt;br /&gt;
     |                       |___ fanart1.jpg&lt;br /&gt;
     |                       |___ fanart2.jpg&lt;br /&gt;
     |                       |___ fanart3.jpg&lt;br /&gt;
     |&lt;br /&gt;
     |___ Movie 2&lt;br /&gt;
     |       |___ VIDEO_TS&lt;br /&gt;
     |               |___ Movie 2 Media file&lt;br /&gt;
     |               |___ extrafanart&lt;br /&gt;
     |                       |___ fanart1.jpg&lt;br /&gt;
     |                       |___ fanart2.jpg&lt;br /&gt;
     |                       |___ fanart3.jpg&lt;br /&gt;
     |&lt;br /&gt;
     |___ Movie 3&lt;br /&gt;
             |___ VIDEO_TS&lt;br /&gt;
                     |___ Movie 3 Media file&lt;br /&gt;
                     |___ extrafanart&lt;br /&gt;
                             |___ fanart1.jpg&lt;br /&gt;
                             |___ fanart2.jpg&lt;br /&gt;
                             |___ fanart3.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
The Addon [[Add-on:Artwork_Downloader|Artwork Downloader]], which is available in the official Repository, allows you to bulk download extrafanarts of all your TV Shows and Movies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Naming_video_files/Movies&amp;diff=67861</id>
		<title>Naming video files/Movies</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Naming_video_files/Movies&amp;diff=67861"/>
		<updated>2014-01-17T11:04:14Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* Naming conventions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:Adding videos to the library/Contents}}&lt;br /&gt;
{{mininav|[[General topics]]|[[Videos]]|[[Video library/Management|Management]]|[[Video library/Naming files|Naming files]]}}&lt;br /&gt;
{{#lst:Adding videos to the library/Naming files|naming files}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Naming conventions==&lt;br /&gt;
In order to be scanned correctly, &#039;&#039;&#039;movie&#039;&#039;&#039; file names should only have the title and the &#039;&#039;&#039;year (optional)&#039;&#039;&#039; followed by the file extension.&lt;br /&gt;
&#039;&#039;&#039;[[Media flags#Media source|Media source flags]]&#039;&#039;&#039; can also be added via file names to indicate source/quality of the movie (see link for more info).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To improve&#039;&#039;&#039; matching add the &#039;&#039;&#039;year&#039;&#039;&#039; within parenthesis to the end of the file or foldername, depending on your scanning method and folder structure (before the extension, if filename), this naming standard seems to yield the best results.&lt;br /&gt;
&lt;br /&gt;
{{note|If the wrong movie is picked up even if foldername or filename is correct, the movie can have an earlier original title. This often happens to movies made in 1950&#039;s and after.}}&lt;br /&gt;
&lt;br /&gt;
 \Movies\Pulp Fiction (1994).avi&lt;br /&gt;
 \Movies\Reservoir Dogs (1992).avi&lt;br /&gt;
 \Movies\The Usual Suspects (1995).avi&lt;br /&gt;
&lt;br /&gt;
 \Movies\Avatar (2009)-cd1.mkv&lt;br /&gt;
 \Movies\Avatar (2009)-cd2.mkv&lt;br /&gt;
&lt;br /&gt;
 \Movies\Avatar (2009)\somefilename.mkv&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename.avi&lt;br /&gt;
&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename-cd1.avi&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename-cd2.avi&lt;br /&gt;
 \Movies\Avatar (2009)\Avatar (2009)-cd1.mkv&lt;br /&gt;
 \Movies\Avatar (2009)\Avatar (2009)-cd2.mkv&lt;br /&gt;
&lt;br /&gt;
And for DVD-Video movies stored in file-mode on the harddrive or [[SMB]] [[NFS]]:&lt;br /&gt;
 \Movies\Alien (1979)\VIDEO_TS.IFO&lt;br /&gt;
 \Movies\Léon (1994)\VIDEO_TS.IFO&lt;br /&gt;
 \Movies\Scarface (1983)\VIDEO_TS.IFO&lt;br /&gt;
 Alternatively:&lt;br /&gt;
  \Movies\Alien (1979)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
  \Movies\Léon (1994)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
  \Movies\Scarface (1983)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
{{note|If using VIDEO_TS folder structure you must enable &amp;quot;recursive&amp;quot; lookup when adding the source directory.}}&lt;br /&gt;
&lt;br /&gt;
== File stacking ==&lt;br /&gt;
{{main|File stacking}}&lt;br /&gt;
{{#lst:File stacking|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
{{frodo updated}}&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Artwork&amp;diff=67860</id>
		<title>Artwork</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Artwork&amp;diff=67860"/>
		<updated>2014-01-17T11:00:13Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven&#039;t been updated yet. Most location conventions are still valid.  For a quick list of naming conventions see &#039;&#039;&#039;[[Frodo FAQ#Local images]]&#039;&#039;&#039;}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
An impressive feature of XBMC is its ability to display custom &#039;&#039;&#039;thumbnails&#039;&#039;&#039; (also known as an &amp;quot;icon&amp;quot;) on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails. You can also download custom thumbnails that others have created.&lt;br /&gt;
&lt;br /&gt;
When talking about movies the terms &amp;quot;Cover Art&amp;quot;, &amp;quot;Posters&amp;quot; (term used on [http://thetvdb.com/ TheTVDB]) and &amp;quot;Folder Image&amp;quot; are all used to refer to the &#039;&#039;&#039;same&#039;&#039;&#039; thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don&#039;t get confused.&lt;br /&gt;
&lt;br /&gt;
{{Note|Despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Thumbnails ==&lt;br /&gt;
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop, Paint Shop Pro, Paint.NET or even Paint in Windows. &amp;lt;br /&amp;gt; You can alternatively download thumbnails that others have created on the internet.&lt;br /&gt;
Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [http://www.imdb.com/ IMDb]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).&lt;br /&gt;
&lt;br /&gt;
==== Thumbnail Cache ====&lt;br /&gt;
:&#039;&#039;see also:&#039;&#039; &#039;&#039;&#039;[[ThumbnailCache]]&#039;&#039;&#039; for a thorough description of the &#039;&#039;&#039;thumbnail cache&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the &#039;&#039;&#039;CRC&#039;&#039;&#039; of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for your custom thumbnail to show, you may have to delete the cached thumbnail.&lt;br /&gt;
&lt;br /&gt;
When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the  [[Advancedsettings.xml#.3Cthumbsize.3E|&amp;lt;imageres&amp;gt;]] tag in  [[advancedsettings.xml]].&lt;br /&gt;
&lt;br /&gt;
If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust the &amp;lt;imageres&amp;gt; tag to increase the display quality of your thumbnails. &lt;br /&gt;
&lt;br /&gt;
Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.&lt;br /&gt;
&lt;br /&gt;
== Wide banner icons ==&lt;br /&gt;
{|&lt;br /&gt;
[[File:Wideview_tvshows.png|500px|right|Wide view for TV shows|thumb]]&lt;br /&gt;
Some of the most visually appealing forms of thumbnails are [[wide banner icons]]. They are an integral part of the XBMC look and feel and are used for the TV shows [[Video library|library]].&amp;lt;br /&amp;gt;&lt;br /&gt;
With different adjustments to the [[XBMC Skinning Manual|skin]] [[w:XML|XML]] files, you may disable title names or stack one icon on top of another.&amp;lt;br /&amp;gt;&lt;br /&gt;
To show wide banner icons switch to Wide or &#039;Media info 2&#039; view. XBMC will remember what view you have for each folder. Thus you can keep your TV shows in Wide and your Movies in [[FanArt|Fanart]].&lt;br /&gt;
:* [[Wide banner icons#Sources for wide banner icons|Sources for wide banner icons]]&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for individual items in a single directory ==&lt;br /&gt;
Name the icon file the same as the file you would like it to display for with a .tbn extension ie: &#039;&#039;Transformers.avi, Transformers.tbn&#039;&#039;. This is particularly useful for using custom thumbnails for movies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Folder Thumbnails ==&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as &amp;lt;foldername&amp;gt;.tbn and place it at the same level as the folder in the directory tree.&lt;br /&gt;
* Remember, XBMC first checks for &amp;lt;foldername&amp;gt;.tbn before checking for folder.jpg.&lt;br /&gt;
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan, i.e. XBMC will correctly use folder.jpg but not folder.tbn.&lt;br /&gt;
* Note that folder.jpg &#039;&#039;&#039;must&#039;&#039;&#039; be named .jpg, even if it is a .png format image.&lt;br /&gt;
* You can force XBMC to look for folder image (Cover Art) files with different file names to &amp;quot;folder.jpg&amp;quot; (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername&#039;&#039;&#039;\&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;foldername.tbn&#039;&#039;&#039;&lt;br /&gt;
or&lt;br /&gt;
 Movies\path\moviename\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
 Music\path\album\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now your media folder will have a lovely custom thumbnail-image.&lt;br /&gt;
&lt;br /&gt;
You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#&amp;lt;musicthumbs&amp;gt;|&amp;lt;musicthumbs&amp;gt;]] tag. for more information.&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.myvideos.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program Thumbnails ==&lt;br /&gt;
In order to display the image displayed for a game, emulator or application, simply rename the desired image &#039;&#039;&#039;default.tbn&#039;&#039;&#039; and place it in the folder where the corresponding default.XBE is located.&lt;br /&gt;
&lt;br /&gt;
== Music Thumbnails ==&lt;br /&gt;
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also use &amp;quot;Get Thumb&amp;quot; to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.&amp;lt;br /&amp;gt;&lt;br /&gt;
Thumbnails also get downloaded when you rip AudioCD&#039;s to your XBMC device (which is described in the [[Ripping CDs]] section).&amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[File:mymusic.jpg|right|500px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
:{{Note|Running a scan automatically enables &#039;tag reading&#039; so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.}}&lt;br /&gt;
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.&lt;br /&gt;
:Press the &amp;quot;Get Thumb&amp;quot; button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;The code which assigns thumbnails to files runs and assigns thumbnails in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Album Thumbnail&lt;br /&gt;
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.&lt;br /&gt;
;2) Cached filename.tbn&lt;br /&gt;
:This includes an embedded thumbnail cached with the fully qualified name.&lt;br /&gt;
;3) Remote filename.tbn &lt;br /&gt;
:This is a filename.tbn on a remote share/folder which is then cached.&lt;br /&gt;
;4) Cached folder.jpg &lt;br /&gt;
:This is a folder.jpg which is cached based off the folder path.&lt;br /&gt;
;5) Remote folder.jpg &lt;br /&gt;
:This is a folder.jpg on a remote share/folder which is then cached.&lt;br /&gt;
;6) Remote foldername.tbn &lt;br /&gt;
:This is a foldername.tbn on a remote share/folder which is then cached.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.m3u&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audioplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.cue&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.mp3&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;cuelistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.pls&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;shoutcastlinkname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Music\path\&#039;&#039;&#039;audiostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Video Thumbnails ==&lt;br /&gt;
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to video files in the following order:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;2) User-Defined Thumbnail&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For files:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.&lt;br /&gt;
&lt;br /&gt;
IF movie.tbn is NOT present than XBMC checks for &amp;lt;filename&amp;gt;.tbn and uses that if it exists. &lt;br /&gt;
&lt;br /&gt;
The thumbnail is cached the first time it is read.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For folders:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
XBMC first checks for &amp;lt;foldername&amp;gt;.tbn in the parent folder of the movie folder being processed.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;foldername&amp;gt;.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you&#039;ve specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml]. &lt;br /&gt;
&lt;br /&gt;
Whatever is found first is used as the thumbnail and cached on first read.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For TV series specifically:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.&lt;br /&gt;
&lt;br /&gt;
The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem &lt;br /&gt;
counter intuitive in the case of Banners.&lt;br /&gt;
&lt;br /&gt;
Again, you can use the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you&lt;br /&gt;
prefer to use Banners you would probably want to set the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dvdthumbs&amp;gt;&lt;br /&gt;
    &amp;lt;remove&amp;gt;folder.jpg|Folder.jpg|folder.JPG|Folder.JPG&amp;lt;/remove&amp;gt;&lt;br /&gt;
    &amp;lt;add&amp;gt;banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;/dvdthumbs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.&lt;br /&gt;
&lt;br /&gt;
{{note|&amp;lt;code&amp;gt;TV series:&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.&lt;br /&gt;
&lt;br /&gt;
The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will &lt;br /&gt;
be Banners BUT there are still places where you need to supply a Poster, like the &amp;quot;TV show information&amp;quot; screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.&lt;br /&gt;
&lt;br /&gt;
The problem is that by default XBMC will only import ONE thumbnail image of one type (Banner or Poster). &lt;br /&gt;
&lt;br /&gt;
Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image. &lt;br /&gt;
&lt;br /&gt;
For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the &amp;lt;dvdthumbs&amp;gt; element in advancedsettings.xml to make it search for variants of poster.jpg.&lt;br /&gt;
&lt;br /&gt;
Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.&lt;br /&gt;
&lt;br /&gt;
To solve this problem, certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster.jpg file should be used for those areas where a Poster type image is applicable.&lt;br /&gt;
&lt;br /&gt;
In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to &lt;br /&gt;
&amp;quot;Viewtype settings&amp;quot;, then look under &amp;quot;GENERAL OPTIONS&amp;quot;, you will find an option labelled &amp;quot;Use &#039;poster.jpg&#039; for poster style viewtypes&amp;quot;. If you turn that on, then any poster.jpg that you have in your folders&lt;br /&gt;
when you import your media from disk will be used where a poster type image is appropriate.&lt;br /&gt;
&lt;br /&gt;
{{note|However, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide an all-seasons.tbn file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to all-seasons.tbn. That will actually work and import fine.}}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[File:Files.videos.thumbnails.WSCR.jpg|right|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples for User-Defined Video Thumbnails ====&lt;br /&gt;
;Single Video File&lt;br /&gt;
The following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;videofilename.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Multi Part (Stacked) Video Files&lt;br /&gt;
You can either use the filename of the first file in the stack or the name of the stack, so for:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.avi&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD2.avi&#039;&#039;&#039;&lt;br /&gt;
Either of the below would work:&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename-CD1.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;moviename.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Movie&lt;br /&gt;
If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder. In he following example &amp;quot;videofilename.avi&amp;quot; will now use the thumbnail &amp;quot;movie.tbn&amp;quot;.&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;movie.tbn&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;videofilename.avi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Shows&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;folder.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;banner.jpg&#039;&#039;&#039; ( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E &amp;lt;dvdthumbs&amp;gt;] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] )&lt;br /&gt;
&lt;br /&gt;
;TV Show Season Thumbnails&lt;br /&gt;
In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;seasonxx.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;TV Show Specials&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-specials.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;For the all seasons item:&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;season-all.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Fanart&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;fanart.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;[[Extra fanart|Extra Fanart Page]]&lt;br /&gt;
&lt;br /&gt;
 Movies\path\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
 Movies\path\VIDEO_TS\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039; *Special case if using DVD Video structure&lt;br /&gt;
 TV\showfolder\&#039;&#039;&#039;extrafanart\fanart1.jpg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.&lt;br /&gt;
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.&lt;br /&gt;
&lt;br /&gt;
e.g. fanart1.jpg, fanart2.jpg and so on.&lt;br /&gt;
&lt;br /&gt;
Extra fanart must be put into a sub-folder of the movie or TV show folder called &#039;&#039;&#039;extrafanart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For those skins that support extra fanart you must turn on the &amp;quot;Enable Extrafanart&amp;quot; option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.&lt;br /&gt;
&lt;br /&gt;
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.pls&#039;&#039;&#039;&lt;br /&gt;
 Playlists\path\&#039;&#039;&#039;videoplaylistname.tbn&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.strm&#039;&#039;&#039;&lt;br /&gt;
 Streams\path\&#039;&#039;&#039;videostreamname.tbn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Actor thumbnails&lt;br /&gt;
You can add actor thumbnails to any movie or TV show by adding an &#039;.actors&#039; folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.&amp;lt;br /&amp;gt;&lt;br /&gt;
The folder can then contain actor images using the following naming convention:&amp;lt;br /&amp;gt;&lt;br /&gt;
 Videos\path\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores)&lt;br /&gt;
 Videos\path\VIDEO_TS\.actors\&#039;&#039;&#039;actor_name.tbn&#039;&#039;&#039; (spaces replaced with underscores) *Special case if using DVD Video structure&lt;br /&gt;
&lt;br /&gt;
== Picture Thumbnails ==&lt;br /&gt;
&#039;&#039;&#039;XBMC applies thumbnails to picture files in the following order:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;1) Cached Thumbnail&lt;br /&gt;
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.&lt;br /&gt;
&lt;br /&gt;
;2) Images&lt;br /&gt;
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.&lt;br /&gt;
&lt;br /&gt;
;3) Folders &lt;br /&gt;
:&amp;lt;MyHolidayPictures&amp;gt;\folder.jpg is checked first. If that file doesn&#039;t exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.&lt;br /&gt;
&lt;br /&gt;
== Thumbnails for Sources ==&lt;br /&gt;
You can change the thumbnail displayed for a source by editing &#039;&#039;&#039;UserData\sources.xml&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|Source thumbnails have to be in a folder on the local XBMC device harddrive!}}&lt;br /&gt;
;Simply modify your source as shown:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;path&amp;gt;xbms://192.168.1.100:1400/Music/&amp;lt;/path&amp;gt;&lt;br /&gt;
   &amp;lt;thumbnail&amp;gt;F:\Apps\XBMC\thumbs\shares\thumb.png&amp;lt;/thumbnail&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto switch to icon Mode ==&lt;br /&gt;
XBMC tries to automatically switch to &#039;&#039;Large Icon&#039;&#039; [[General Navigation#View|view]] when the &#039;&#039;View Mode&#039;&#039; is set to &#039;&#039;Auto&#039;&#039; in the [[Settings]]. It first checks if the skin has &#039;&#039;Large Icon&#039;&#039; view, failing that switches to &#039;&#039;Icon&#039;&#039; view. If neither is available it goes for &#039;&#039;List View&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The rules are as follows:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== [[Programs Settings#Files|Programs]] ====&lt;br /&gt;
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Pictures Settings#General|Pictures]] ====&lt;br /&gt;
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)&lt;br /&gt;
&lt;br /&gt;
==== [[Videos Settings#General|Videos]] ====&lt;br /&gt;
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.&lt;br /&gt;
&lt;br /&gt;
==== [[Music Settings#Files|Music]] ====&lt;br /&gt;
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)&lt;br /&gt;
&lt;br /&gt;
== Hashing ==&lt;br /&gt;
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the &amp;lt;code&amp;gt;smb://&amp;lt;/code&amp;gt; protocol designation and optional username and password.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;123456789&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;0376e6e7&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;F:\Videos\Nosferatu.avi&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;2a6ec78d&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;c5559f13&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;smb://user:pass@server/share/directory/file.ext&amp;lt;/code&amp;gt;&#039;&#039;&#039; returns &#039;&#039;&#039;&amp;lt;code&amp;gt;8ce36055&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{tip|&amp;lt;u&amp;gt;&#039;&#039;&#039;Remember:&#039;&#039;&#039;&amp;lt;/u&amp;gt;}}&lt;br /&gt;
* When hashing remote shares, use the path as displayed in the &amp;lt;code&amp;gt;sources.xml&amp;lt;/code&amp;gt; file, which can include the &#039;&#039;username&#039;&#039; and &#039;&#039;password&#039;&#039;.&lt;br /&gt;
* When hashing directories for thumbnails, include the final slash.&lt;br /&gt;
&lt;br /&gt;
=== Sample code ===&lt;br /&gt;
The following code snippets produce the same output as the XBMC hashing function. &lt;br /&gt;
==== C# ====&lt;br /&gt;
 public string Hash(string input)&lt;br /&gt;
 {&lt;br /&gt;
    char[] chars = input.ToCharArray();&lt;br /&gt;
    for (int index = 0; index &amp;lt; chars.Length; index++)&lt;br /&gt;
    {&lt;br /&gt;
        if (chars[index] &amp;lt;= 127)&lt;br /&gt;
        {&lt;br /&gt;
           chars[index] = System.Char.ToLowerInvariant(chars[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    input = new string(chars);&lt;br /&gt;
    uint m_crc = 0xffffffff;&lt;br /&gt;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);&lt;br /&gt;
    foreach (byte myByte in bytes)&lt;br /&gt;
    {&lt;br /&gt;
        m_crc ^= ((uint)(myByte) &amp;lt;&amp;lt; 24);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 8; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if ((System.Convert.ToUInt32(m_crc) &amp;amp; 0x80000000) == 0x80000000)&lt;br /&gt;
            {&lt;br /&gt;
                m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return String.Format(&amp;quot;{0:x8}&amp;quot;, m_crc);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Python ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 def get_crc32( string ):&lt;br /&gt;
     string = string.lower()        &lt;br /&gt;
     bytes = bytearray(string.encode())&lt;br /&gt;
     crc = 0xffffffff;&lt;br /&gt;
     for b in bytes:&lt;br /&gt;
         crc = crc ^ (b &amp;lt;&amp;lt; 24)          &lt;br /&gt;
         for i in range(8):&lt;br /&gt;
             if (crc &amp;amp; 0x80000000 ):                 &lt;br /&gt;
                 crc = (crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7                &lt;br /&gt;
             else:&lt;br /&gt;
                 crc = crc &amp;lt;&amp;lt; 1;                        &lt;br /&gt;
         crc = crc &amp;amp; 0xFFFFFFFF&lt;br /&gt;
         &lt;br /&gt;
     return &#039;%08x&#039; % crc&lt;br /&gt;
&lt;br /&gt;
==== Perl ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 sub get_crc32 {&lt;br /&gt;
     my $string = shift;&lt;br /&gt;
     my @bytes = unpack &#039;C*&#039;, $string;&lt;br /&gt;
     my $crc = 0xffffffff;&lt;br /&gt;
     for my $b (@bytes) {        &lt;br /&gt;
         $crc = $crc ^ ($b &amp;lt;&amp;lt; 24);        &lt;br /&gt;
         for(my $i = 0; $i &amp;lt; 8; $i++) {&lt;br /&gt;
             if ($crc &amp;amp; 0x80000000 ) {                &lt;br /&gt;
                 $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;                &lt;br /&gt;
             } else {&lt;br /&gt;
                 $crc = $crc &amp;lt;&amp;lt; 1;&lt;br /&gt;
             }            &lt;br /&gt;
         }        &lt;br /&gt;
         $crc = $crc &amp;amp; 0xFFFFFFFF;         &lt;br /&gt;
     }&lt;br /&gt;
     return sprintf(&#039;%08x&#039;, $crc);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
==== PHP ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].&lt;br /&gt;
  private function _get_hash($file_path)&lt;br /&gt;
 {&lt;br /&gt;
    $chars = strtolower($file_path);&lt;br /&gt;
    $crc = 0xffffffff;&lt;br /&gt;
 &lt;br /&gt;
    for ($ptr = 0; $ptr &amp;lt; strlen($chars); $ptr++)&lt;br /&gt;
    {&lt;br /&gt;
       $chr = ord($chars[$ptr]);&lt;br /&gt;
       $crc ^= $chr &amp;lt;&amp;lt; 24;&lt;br /&gt;
 &lt;br /&gt;
       for ((int) $i = 0; $i &amp;lt; 8; $i++)&lt;br /&gt;
       {&lt;br /&gt;
          if ($crc &amp;amp; 0x80000000)&lt;br /&gt;
          {&lt;br /&gt;
             $crc = ($crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
             $crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // Système d&#039;exploitation en 64 bits ?&lt;br /&gt;
    if (strpos(php_uname(&#039;m&#039;), &#039;_64&#039;) !== false)&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%16s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       $hash = substr($hash, 8);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
       //Formatting the output in a 8 character hex&lt;br /&gt;
       if ($crc&amp;gt;=0)&lt;br /&gt;
       {&lt;br /&gt;
          $hash = sprintf(&amp;quot;%08s&amp;quot;,sprintf(&amp;quot;%x&amp;quot;,sprintf(&amp;quot;%u&amp;quot;,$crc)));&lt;br /&gt;
       }&lt;br /&gt;
       else&lt;br /&gt;
       {&lt;br /&gt;
          $source = sprintf(&#039;%b&#039;, $crc);&lt;br /&gt;
          $hash = &amp;quot;&amp;quot;;&lt;br /&gt;
          while ($source &amp;lt;&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
             $digit = substr($source, -4);&lt;br /&gt;
             $hash = dechex(bindec($digit)) . $hash;&lt;br /&gt;
             $source = substr($source, 0, -4);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return $hash;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== Javascript ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].&lt;br /&gt;
 Number.prototype.unsign = function(bytes) {&lt;br /&gt;
    return this &amp;gt;= 0 ? this : Math.pow(256, bytes || 4) + this;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 function FindCRC(data) {&lt;br /&gt;
    var CRC = 0xffffffff;&lt;br /&gt;
    data = data.toLowerCase();&lt;br /&gt;
    for ( var j = 0; j &amp;lt; data.length; j++) {&lt;br /&gt;
       var c = data.charCodeAt(j);&lt;br /&gt;
       CRC ^= c &amp;lt;&amp;lt; 24;&lt;br /&gt;
       for ( var i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
          if (CRC.unsign(8) &amp;amp; 0x80000000) {&lt;br /&gt;
             CRC = (CRC &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
          } else {&lt;br /&gt;
             CRC &amp;lt;&amp;lt;= 1;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    if (CRC &amp;lt; 0)&lt;br /&gt;
       CRC = CRC &amp;gt;&amp;gt;&amp;gt; 0;&lt;br /&gt;
    var CRC_str = CRC.toString(16);&lt;br /&gt;
    while (CRC_str.length &amp;lt; 8) {&lt;br /&gt;
       CRC_str = &#039;0&#039; + CRC_str;&lt;br /&gt;
    }&lt;br /&gt;
    return CRC_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== MySQL Function ====&lt;br /&gt;
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create function fnXBMCHash(sourceString VARCHAR(2000))&lt;br /&gt;
returns varchar(8) deterministic&lt;br /&gt;
begin&lt;br /&gt;
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues&lt;br /&gt;
    declare len, cur, i int;&lt;br /&gt;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;&lt;br /&gt;
    &lt;br /&gt;
    set intMask = pow(2,32) - 1;&lt;br /&gt;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF&lt;br /&gt;
    set sourceString = LOWER(TRIM(sourceString));&lt;br /&gt;
    set mask = pow(2,31);  -- 0x8000000&lt;br /&gt;
    set xorBase = 79764919; -- 0x04C11DB7&lt;br /&gt;
    set len = LENGTH(sourceString), cur = 0;&lt;br /&gt;
    while cur &amp;lt; len do&lt;br /&gt;
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));&lt;br /&gt;
        set crc = (crc ^ (curCharCode &amp;lt;&amp;lt; 24)) &amp;amp; intMask;&lt;br /&gt;
        set i = 0;&lt;br /&gt;
        while i &amp;lt; 8 do&lt;br /&gt;
            set crc = (case (crc &amp;amp; mask) &lt;br /&gt;
                when mask then (crc &amp;lt;&amp;lt; 1) ^ xorBase&lt;br /&gt;
                else (crc &amp;lt;&amp;lt; 1) end) &amp;amp; intMask;&lt;br /&gt;
            set i = i + 1;&lt;br /&gt;
        end while;&lt;br /&gt;
        set cur = cur + 1;&lt;br /&gt;
    end while;&lt;br /&gt;
    return lpad(hex(crc),8,&#039;0&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== AutoIT function ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=125795 Nexus.Commander].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func CRC32_XBMC($string_input)&lt;br /&gt;
	$chars = StringSplit(StringLower($string_input),&#039;&#039;,2)&lt;br /&gt;
	$crc = 0xffffffff&lt;br /&gt;
	For $ptr = 0 To UBound($chars)-1&lt;br /&gt;
		$chr = StringToBinary($chars[$ptr],4)&lt;br /&gt;
		$crc = BitXOR($crc,BitShift($chr,-24))&lt;br /&gt;
		For $i = 0 To 7&lt;br /&gt;
			if BitAND($crc,0x80000000) = 0x80000000 Then&lt;br /&gt;
				$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)&lt;br /&gt;
			else&lt;br /&gt;
				$crc = BitShift($crc,-1)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	Return Hex($crc)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
Code provided by [http://forum.xbmc.org/member.php?action=profile&amp;amp;uid=80320 Duffy].&lt;br /&gt;
&lt;br /&gt;
  public String Hash(String input) {&lt;br /&gt;
    int m_crc = 0xffffffff;&lt;br /&gt;
    input = input.toLowerCase();&lt;br /&gt;
    byte msg[] = input.getBytes();&lt;br /&gt;
    for (int i = 0; i &amp;lt; msg.length; i++) {&lt;br /&gt;
      int p = (msg[i]) &amp;lt;&amp;lt; 24;&lt;br /&gt;
      m_crc ^= p;&lt;br /&gt;
      for (int j = 0; j &amp;lt; 8; j++) {&lt;br /&gt;
        if ((m_crc &amp;amp; 0x80000000) == 0x80000000) {&lt;br /&gt;
          m_crc = (m_crc &amp;lt;&amp;lt; 1) ^ 0x04C11DB7;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
          m_crc &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return String.format(&amp;quot;%08x&amp;quot;, m_crc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
[[Category:Thumbnails]]&lt;br /&gt;
[[Category:Scraper]]&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:Music Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:XBMC_v12_(Frodo)_FAQ&amp;diff=67859</id>
		<title>Archive:XBMC v12 (Frodo) FAQ</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:XBMC_v12_(Frodo)_FAQ&amp;diff=67859"/>
		<updated>2014-01-17T10:54:11Z</updated>

		<summary type="html">&lt;p&gt;Trpltongue: /* General FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[General topics]]|[[FAQs]] }}&lt;br /&gt;
{{FAQ header|upgrading to XBMC v12 (Frodo), including how to enable some of the new features, where some controls got moved to, etc.}}&lt;br /&gt;
{{XBMC FAQ}}&lt;br /&gt;
__TOC__&lt;br /&gt;
{{-}}&lt;br /&gt;
== General FAQ ==&lt;br /&gt;
:&amp;lt;big&amp;gt;&#039;&#039;See also: &#039;&#039;&#039;[[XBMC all platforms FAQ]]&#039;&#039;&#039; for an FAQ that applies to all versions of XBMC.&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Frodo&lt;br /&gt;
| BGcolor=WhiteSmoke&lt;br /&gt;
| Question=What is &amp;quot;Frodo&amp;quot;?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{see also|History of XBMC}}&lt;br /&gt;
Frodo is the codename for [[XBMC Media Center]] version 12. You will often see &amp;quot;v12&amp;quot; and &amp;quot;Frodo&amp;quot; used interchangeably in the XBMC community.&lt;br /&gt;
&lt;br /&gt;
* XBMC v12.0 Frodo, was released on January 29th, 2013&lt;br /&gt;
* XBMC v12.1 Frodo, bugfix update, was released on March 13th, 2013&lt;br /&gt;
* XBMC v12.2 Frodo, bugfix update, was released on May 2nd 2013&lt;br /&gt;
* XBMC v12.3 Frodo, bugfix update, was released on December 25th, 2013&lt;br /&gt;
&lt;br /&gt;
The name &amp;quot;[[Frodo]]&amp;quot; comes from one of XBMC&#039;s three founders, Erwin Beckers. While many people mistakenly assume that the name &amp;quot;Frodo&amp;quot; comes from the Lord of the Rings, Erwin actually got the nick name from a neighbor&#039;s cat.[http://www.team-mediaportal.com/about-the-team/about-frodo]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=changelog&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Where can I see a full changelog?&lt;br /&gt;
| Answer=&lt;br /&gt;
&#039;&#039;See: &#039;&#039;&#039;[[XBMC v12 (Frodo) changelog]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=installing&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=How do I upgrade to v12?&lt;br /&gt;
| Answer=&lt;br /&gt;
Just install/copy the new version of XBMC over the old one.&lt;br /&gt;
* [[HOW-TO:Install XBMC on Apple TV 1|Apple TV 1 (silver)]]&lt;br /&gt;
* [[HOW-TO:Install XBMC on Apple TV 2|Apple TV 2 (black)]]&lt;br /&gt;
* [[HOW-TO:Install XBMC on iPad/iPhone/iPod touch|iOS devices]]&lt;br /&gt;
* [[HOW-TO:Install XBMC for Linux|Linux]] &lt;br /&gt;
* [[XBMC for Linux specific FAQ#Ubuntu manual XBMC upgrade process|XBMC Linux_FAQ &amp;gt; Upgrade in Ubuntu properly]] short how-to upgrade XBMC in Linux.&lt;br /&gt;
* [[XBMCbuntu#How To Install XBMC Live|How to install XBMCbuntu]]&lt;br /&gt;
* [[HOW-TO:Install XBMC for Mac|Mac]]&lt;br /&gt;
* [[HOW-TO:Install XBMC for Windows|Windows]]&lt;br /&gt;
* Openelec and other pre-made Linux distros - Wait for them to push an update or manually install a Frodo build&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=New_features&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= What are some of the major new features?&lt;br /&gt;
| Answer=&lt;br /&gt;
:&#039;&#039;See &#039;&#039;&#039;[[XBMC v12 (Frodo) changelog]]&#039;&#039;&#039; for a full list of changes&#039;&#039;&lt;br /&gt;
* [[PVR|Live TV and PVR/DVR support]]&lt;br /&gt;
* [[AudioEngine]]&lt;br /&gt;
* [[Advanced Library Filtering]]&lt;br /&gt;
* [[Custom video nodes]]&lt;br /&gt;
* [[Video library tags]]&lt;br /&gt;
* Improved [[UPnP]] support&lt;br /&gt;
* [[AirPlay]] audio for Windows&lt;br /&gt;
* [[Settings/Appearance#International|Global language defaults]] for audio and subtitles.&lt;br /&gt;
* Support for [[Hi10P]] (aka 10bit) playback of h.264 video files, commonly found in anime releases.&lt;br /&gt;
* ... [[XBMC v12 (Frodo) changelog|and much much more]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=settings&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=Will I lose my settings/library in the upgrade?&lt;br /&gt;
| Answer=&lt;br /&gt;
For most users, no. All settings and your library will be preserved in an upgrade. Settings that aren&#039;t preserved are those that have been reorganised, renamed, set to a new default - usually it&#039;s only a handful, and only things that don&#039;t really matter. However, it never hurts to do a backup of your [[userdata]] folder (where all the settings/library DB files are stored).&lt;br /&gt;
&lt;br /&gt;
If you are using MySQL then see [[#MySQL]]&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
{{FAQ|1=MySQL&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Do I need to do anything for MySQL library syncing?&lt;br /&gt;
| Answer=&lt;br /&gt;
Yes, See: &#039;&#039;&#039;[[HOW-TO:Sync multiple libraries/Upgrading XBMC to v12]]&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=PVR|2=DVR|3=Live TV&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=How do I use Live TV/PVR?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{main|PVR}}&lt;br /&gt;
v12 is the first official release with Live TV and PVR/DVR features! See our guide at &#039;&#039;&#039;[[PVR]]&#039;&#039;&#039; for help in setting this up and more information about the feature.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Local_images&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= How should local images be named for Frodo?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{see also|Thumbnails}}&lt;br /&gt;
Since Frodo now supports both posters and banners simultaneously, and for other supported images, the following naming conventions are available for local images (Only required if the user wants to specify what image to use. Otherwise XBMC will automatically download images from the video scraper). Whenever possible, old Eden style naming is supported for backwards compatibility.  &lt;br /&gt;
&lt;br /&gt;
;For folders (e.g. tvshows, movies in folders, or just folders on the filesystem):&lt;br /&gt;
* poster.(png/jpg)&lt;br /&gt;
* banner.(png/jpg)&lt;br /&gt;
* fanart.(png/jpg)&lt;br /&gt;
{{note|Movies in folders can also use the options under files below.}}&lt;br /&gt;
;Season images reside inside the tvshow folder:&lt;br /&gt;
* season[XX]-(poster/banner/fanart).(png/jpg)&lt;br /&gt;
* season-all-(poster/banner/fanart).(png/jpg}&lt;br /&gt;
* season-specials-(poster/banner/fanart).(png/jpg)&lt;br /&gt;
;For files (episodes, movies not in folders, video files):&lt;br /&gt;
* [movie file name]-(poster/banner/fanart).(png/jpg)&lt;br /&gt;
* [episode file name]-thumb.(png/jpg)&lt;br /&gt;
* [filename]-(poster/banner/fanart).(png/jpg)&lt;br /&gt;
:&lt;br /&gt;
{{note|For all use scenarios mentioned above (Folders, TV Shows, and Files), [[extra fanart]] and [[Thumbnails#Examples_for_User-Defined_Video_Thumbnails|Actor thumbs (click link then scroll down)]] can also be included using the locations defined in [[Thumbnails]].}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Dirty_Regions&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Do I still need advancedsettings for Dirty Regions?&lt;br /&gt;
| Answer=&lt;br /&gt;
&#039;&#039;&#039;[[Dirty Regions]]&#039;&#039;&#039; has a new default, but you might still want to keep your existing advancedsettings.xml entry. The default is mode 3, which will reduce CPU load, but won&#039;t make the GUI any faster (it&#039;s considered the safest mode for all the various GPUs out there). If you&#039;re using anything other than mode 3 in order to make the GUI more efficient, then you will want to keep your advancedsettings.xml file the same.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Where did it this or that go? ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Skin_settings&lt;br /&gt;
| BGcolor=WhiteSmoke&lt;br /&gt;
| Question= Where did the Skin settings page go?&lt;br /&gt;
| Answer=&lt;br /&gt;
The Skin settings page has been moved to {{highlight|[[Settings/Appearance#Skin|Settings -&amp;gt; Appearance -&amp;gt; Skin -&amp;gt; Settings]]}}.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Confluence_bg&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Where are the multiple backgrounds for Confluence (default skin)?&lt;br /&gt;
| Answer=&lt;br /&gt;
The default skin in XBMC, Confluence, now only supports one background for the home screen instead of different background for reach selected home option (movies, TV, pictures, etc).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Network_settings|2=Services_settings&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Where did the Network settings page go?&lt;br /&gt;
| Answer=&lt;br /&gt;
The Network settings page ({{highlight|Settings -&amp;gt; Network}}) has been replaced by the &#039;&#039;&#039;[[Settings/Services|Services settings page]]&#039;&#039;&#039; ({{highlight|[[Settings/Services|Settings -&amp;gt; Services]]}}).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Internet_settings&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Where did the Internet access settings page go?&lt;br /&gt;
| Answer=&lt;br /&gt;
The Internet settings page has been moved to {{highlight|[[Settings/System#Internet access|Settings -&amp;gt; System -&amp;gt; Internet access]]}}.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Slideshow&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Where did the Slideshow screensaver go?&lt;br /&gt;
| Answer= &lt;br /&gt;
The [[Add-on:Slideshow|Slideshow screensaver is now an add-on]] and needs to be installed as such. You can do this from the [[add-ons|add-on manager]] or by going to {{highlight|[[Settings/Appearance#Screensaver|Settings -&amp;gt; Appearance -&amp;gt; Screensaver]] -&amp;gt; Screensaver mode -&amp;gt;  Get more -&amp;gt; Slideshow -&amp;gt; Install}}.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Audio (all operating systems) ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=AudioEngine|2=HD audio&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Does Frodo have HD audio passthrough support?&lt;br /&gt;
| Answer=&lt;br /&gt;
Yes, Frodo now has HD audio passthrough support, thanks to the new &#039;&#039;&#039;[[AudioEngine]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;HD audio&amp;quot; is a term for two audio formats (DTS-MA and TrueHD) that are most commonly found in some bluray discs. XBMC has supported these formats in the past, but has not been able to pass them on (passthrough) to audio receivers for maximum bit-perfect audio quality, until now. If you have an HD audio compatible sound system then check out the [[AudioEngine]] page for more information.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;See also:&#039;&#039;&#039;&#039;&#039; [[AudioEngine#HD audio limitation of AMD fglrx in Linux|&#039;&#039;&#039;ATI HD Audio Limitation in Linux&#039;&#039;&#039;]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Mac_AE&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=Does XBMC for Mac OS X, iOS, or Apple TV 2 have HD audio passthrough?&lt;br /&gt;
| Answer=&lt;br /&gt;
While XBMC for Mac OS X does have the new [[AudioEngine]], which features many new improvements in audio quality for XBMC, HD audio passthrough is not currently possible on Mac OS X and iOS due to limitations on the OS level. Those who want HD audio passthrough will need to use a Linux-based OS or Windows on their Mac hardware. Note that XBMC for Mac OS X/iOS is still able to playback HD audio, just not via passthrough (it will be converted to another format before playback).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Audio&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Audio issues and/or slow video playback&lt;br /&gt;
| Answer= &lt;br /&gt;
{{See also|Settings/System#Audio output}}&lt;br /&gt;
Make sure that your audio settings are correct. Wrong audio settings will have severely negative effects on video playback:&lt;br /&gt;
* Your speaker setup is really correct&lt;br /&gt;
* If passthrough: you &#039;&#039;&#039;only&#039;&#039;&#039; enable the audio codecs your receiver supports.&lt;br /&gt;
* Select only the correct audio output device for analog and passthrough&lt;br /&gt;
;Linux specific&lt;br /&gt;
* On AMD GPUs you must disable all &amp;quot;HD&amp;quot; passthrough options and &amp;quot;output stereo to all speakers&amp;quot;. AMD drivers under Linux don&#039;t support HD audio passthrough. AC3 and DTS should be safe to enable. NVidia GPUs should be okay for HD audio (if supported by the hardware).&lt;br /&gt;
* Having issues on XBMCbuntu? See &#039;&#039;&#039;[[XBMCbuntu#XBMCbuntu no audio devices]]&#039;&#039;&#039;&lt;br /&gt;
;Mac OS X specific&lt;br /&gt;
* If you hear sound only coming from the left side of speakers/headphones then you probably need to change your audio settings from 2.1 to 2.0.&lt;br /&gt;
;Windows specific&lt;br /&gt;
* Most user can fix their issue by just switching to &amp;quot;DirectSound&amp;quot; in the [[Settings/System#Audio output|audio settings]]. See &#039;&#039;&#039;[[Windows Settings for AudioEngine]]&#039;&#039;&#039; for more in-depth information.&lt;br /&gt;
;OS X and iOS known issues&lt;br /&gt;
{{#lst:Frodo issues|Mac audio}}&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=Debian_repo&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Why is Frodo not in the default Debian/Ubuntu repositories?&lt;br /&gt;
| Answer= &lt;br /&gt;
{{#lst:HOW-TO:Install XBMC for Linux|Debian}}&lt;br /&gt;
&lt;br /&gt;
Until that is resolved Ubuntu users can still get XBMC from our official PPAs by adding the Team XBMC repository: https://launchpad.net/~team-xbmc/+archive/ppa , which has the additional advantage of working LibRAR support.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Older_Ubuntu&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question= Where can I get Frodo builds for older Ubuntu installations?&lt;br /&gt;
| Answer= &lt;br /&gt;
* https://launchpad.net/~nathan-renniewaldock/+archive/xbmc-stable &#039;&#039;&#039;ppa:nathan-renniewaldock/xbmc-stable&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=XVBA&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Does Frodo have XVBA support?&lt;br /&gt;
| Answer= &lt;br /&gt;
XVBA support has not yet been merged into the main XBMC code branch, but you can find XVBA builds here:&lt;br /&gt;
* Tested Git builds: https://launchpad.net/~wsnipex/+archive/xbmc-xvba &#039;&#039;&#039;ppa:wsnipex/xbmc-xvba&#039;&#039;&#039;&lt;br /&gt;
* Frodo stable: https://launchpad.net/~wsnipex/+archive/xbmc-xvba-frodo &#039;&#039;&#039;ppa:wsnipex/xbmc-xvba-frodo&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=XBMCbuntu_update&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= How to switch from XBMC unstable PPA (used in XBMCbuntu Beta/RC releases) to final PPA&lt;br /&gt;
| Answer= &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository -r ppa:team-xbmc/unstable&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/ppa&lt;br /&gt;
sudo apt-get remove xbmc xbmc-bin&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
sudo apt-get install xbmc xbmc-bin&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=Mac_OS&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= New Mac requirements&lt;br /&gt;
| Answer=&lt;br /&gt;
XBMC v12 for Mac OS X changes the hardware requirements. PowerPC (PPC) support has been dropped, so XBMC for Mac will only run on Intel processors. Mac OS X 10.6 is now the minimum requirement for the operating system.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=ATV1&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Will Frodo run on Apple TV 1 (silver)?&lt;br /&gt;
| Answer=&lt;br /&gt;
Yes, but only if it is running linux. XBMC v12 requires Mac OS X 10.6 and up, and the ATV1 OS is based on Mac OS X 10.4. See &#039;&#039;&#039;[[Apple TV 1 FAQ]]&#039;&#039;&#039; for info on updating to a linux OS.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi ==&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=Raspberry_Pi&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= XBMC for Raspberry Pi&lt;br /&gt;
| Answer=&lt;br /&gt;
{{main|Raspberry Pi FAQ}}&lt;br /&gt;
XBMC v12 (Frodo) is the first stable build of XBMC for Raspberry Pi. For more information on XBMC on the R-Pi, including how to install it, see &#039;&#039;&#039;[[Raspberry Pi FAQ]]&#039;&#039;&#039;.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Android ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=Android&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= XBMC for Android&lt;br /&gt;
| Answer= &lt;br /&gt;
{{See also|Android FAQ|HOW-TO:Install XBMC for Android}}&lt;br /&gt;
* While there is a v12 XBMC for Android release, not all features work on all Android devices yet. This was expected, but a release is still made for those who wish to try it out. Several features, such as hardware video decoding, better touch support, and more, are still under development. Check out &#039;&#039;&#039;[[Android FAQ]]&#039;&#039;&#039; for details on continuing developments and new test builds posted regularly.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;ve bought a device that was advertised to run XBMC, such as the Pivos XIOS, G-box, MiniX Neo, etc, then you should check with their respective websites for a final v12 Frodo build. Many of these devices need specific builds for hardware decoding and won&#039;t work correctly with the generic build released on xbmc.org.&lt;br /&gt;
&lt;br /&gt;
* XBMC for Android won&#039;t be on the Google Play store just yet. It will be made available once there is better support for more Android devices.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
{{main|Troubleshooting}}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=Issues&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= What are some of the known issues in Frodo?&lt;br /&gt;
| Answer= &lt;br /&gt;
&#039;&#039;See: &#039;&#039;&#039;[[Known Frodo issues]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Audio_troubleshooting&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question= Audio issues and/or slow video playback&lt;br /&gt;
| Answer= &lt;br /&gt;
&#039;&#039;See: &#039;&#039;&#039;[[#Audio]]&#039;&#039;&#039; above.&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Movie_sets&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= Can&#039;t use more than one movie set&lt;br /&gt;
| Answer= &lt;br /&gt;
{{see also|Movie sets|Video library tags}}&lt;br /&gt;
v12 only supports one [[movie set]] for movies at a time. The ability to use more than one set in previous versions was actually an oversight, as sets are only meant to be used for directly related sequels and movie series, and the feature doesn&#039;t work correctly for more than one. For those who need a way to group movies in various ways, XBMC v12 Frodo now has &#039;&#039;&#039;[[video library tags]]&#039;&#039;&#039;, which can be used as many times as a user wants, and for whatever reason they want.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=breaking&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=What might break when upgrading to v12? (add-ons, skins, remotes, etc)&lt;br /&gt;
| Answer=&lt;br /&gt;
Most things from v11 will work in v12. However:&lt;br /&gt;
* Add-ons may not work, prompting XBMC to ask you to disable them. You can keep using them if you wish (by choosing not to disable them), but doing so is unsupported. See [[:Category:All add-ons]] for a list (check the drop-down menus). Where there is a noticeable slowdown in XBMC addons are likely cause, backup your [[userdata]] and as a last resort delete the [[userdata]] Addons folder and the &#039;&#039;&#039;Addons15.db&#039;&#039;&#039; in the [[userdata]] Database folder.&lt;br /&gt;
* Skins need to be updated for Frodo - check your skin has been upgraded ready for Frodo: [[:Category:Skins]] (check the drop-down menus). If you have problems starting up XBMC after updating, you might need to move/delete your guisettings.xml file (see [[userdata]] for location) to reset your skin.&lt;br /&gt;
* Some [[Supplemental tools|smartphone remotes]] will need to be updated to work with Frodo due to the [[Web Server HTTP API]] being removed and replaced with the [[JSON-RPC API]].&lt;br /&gt;
* If videos are playing back slowly or you have having sound related issues, &#039;&#039;&#039;see: [[#Audio]]&#039;&#039;&#039;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Recently_added|2=Date_added&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question= Recently added videos seem out of order&lt;br /&gt;
| Answer= &lt;br /&gt;
Frodo now uses file dates for &amp;quot;Recently added&amp;quot; videos instead of the date when a video was scanned into XBMC. This can be changed back to XBMC v11 (Eden) behavior by creating a text file called [[advancedsettings.xml#&amp;lt;videolibrary&amp;gt;|advancedsettings.xml]] and placing it in the [[userdata folder]] with the following content: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
       &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
         &amp;lt;dateadded&amp;gt;0&amp;lt;/dateadded&amp;gt;&lt;br /&gt;
       &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
  &amp;lt;/advancedsettings&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=reverting&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=What happens if I don&#039;t like XBMC v12, can I just install XBMC v11 again?&lt;br /&gt;
| Answer=&lt;br /&gt;
Whilst Frodo does &amp;quot;upgrade&amp;quot; the library, it stores a Eden compatible copy. Just replace the Frodo application with Eden. &#039;&#039;&#039;It is still recommended to always make a backup of your [[userdata]] folder before updating, just in case.&#039;&#039;&#039; Add-ons will likely need to be reset (uninstall and then reinstall) if you go from Frodo to Eden.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=emptyrepos&lt;br /&gt;
| BGcolor= &lt;br /&gt;
| Question=What should I do when Addon repositories dont list any contents?&lt;br /&gt;
| Answer=&lt;br /&gt;
See [[Add-ons#Empty repository list|&#039;&#039;&#039;Empty repositories listing&#039;&#039;&#039;]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=more_help&lt;br /&gt;
| BGcolor= WhiteSmoke&lt;br /&gt;
| Question=Where can I get more help?&lt;br /&gt;
| Answer=&lt;br /&gt;
The &#039;&#039;&#039;[[FAQ|general and platform specific FAQs]]&#039;&#039;&#039;, the XBMC support forums: &#039;&#039;&#039;http://forum.xbmc.org&#039;&#039;&#039;,  and/or the &#039;&#039;&#039;[irc://irc.freenode.org/xbmc-osx #xbmc]&#039;&#039;&#039; [[w:IRC|IRC]] chat channel on irc.freenode.org.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[XBMC v13 (Gotham) FAQ]]&lt;br /&gt;
* [[XBMC v11 (Eden) FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
[[Category:Frodo|*]]&lt;br /&gt;
{{frodo updated}}&lt;/div&gt;</summary>
		<author><name>Trpltongue</name></author>
	</entry>
</feed>