xbmc/xbmc — pull request #1575 by jmarshallnz (2012-10-08 21:04:01+00:00)
Title: Poster banner support for video art

This generalizes the current support for "thumb" and "fanart" to a general art map. Short notice, but ideally for Frodo.

The main feature is support for both banners and posters for tvshows, something that users (and devs no doubt) have been wanting for some time. Anyone that's used a poster for a tvshow in Confluence knows what I mean.

In the process, this has a few changes to how local art is retrieved. The rationale is that it only makes sense to allow png and jpg files, as anything else can be easily converted, and that with general art names, a simple rule is required.

Thus, we support filename-.(jpg|png) for files, and .(jpg|png) for folders. Backward compatibility for folder.jpg, filename.tbn, and movie.tbn is available for video files as well, however not all possible permutations are handled.

What has been dropped is:
1. Support for thumbs off the first part of a stack - it now uses only the stacked title for thumbs, i.e. movie-cd1.avi, movie-cd2.avi -> movie-.(jpg|png), movie.tbn.
2. Support for case-insensitive matching. Only lowercase is supported. IMO this is the only sane way to go, given that many platforms have case-sensitive filesystems anyway. It's a simple rule that users can easily adapt to.
3. Support for arbitrary file extensions for fanart.
4. Support for generalised thumb file naming (folder.jpg alternatives) via advanced settings.
5. Support for VIDEO_TS.tbn/index.bdmv - art should be folder art outside the VIDEO_TS and BDMV folders to keep these clean.

There's several skin changes required:

1. ListItem.Art/Player.Art should be used for retrieving fanart/thumbs etc. They will return empty if nothing is set on the item. The "thumb" art type is the most likely to be available across the board, and ListItem.Thumb will continue to work (but Player.Property(fanart_image) will not).

2. The Get Thumb and Get Fanart buttons in DialogVideoInfo.xml should be replaced with a single button (id 10) that has the label 15011 (Choose Art).

I've included some hacked up confluence changes purely for testing the functionality, rather than fixing the skin, these won't be pulled in with this PR. @JezzX I'm sure will do the necessary changes.

Lastly, there's a change required in thetvdb.com scraper - I've included the change here, but ofcourse this needs to go into the addons repo (i.e. that commit will also not be pulled in).

There's still some work to be done, namely that other media types (music in particular) should do things the same way, but time is short, and this is IMO Frodo material.