![]() |
|
FanArt and Thumbnails Naming-Standard and File-Structure Convension Rationalisation? - Printable Version +- XBMC Community Forum (http://forum.xbmc.org) +-- Forum: Development (/forumdisplay.php?fid=32) +--- Forum: Feature Suggestions (/forumdisplay.php?fid=9) +--- Thread: FanArt and Thumbnails Naming-Standard and File-Structure Convension Rationalisation? (/showthread.php?tid=49801) |
Schema V0.1 - AnalogKid - 2009-07-01 14:34 Filenaming Schema V0.1 The AIM: This schema is designed to resolve a number of issues with the current plethora of possible artwork naming schemes AND improve skin functionality by: 1) Offering a totally consistent naming convention for art 2) Being completely unambiguous about what the art is doing 3) Is placeable ANYWHERE in the filesystem (does not 'have' to reside alongside the media, although it my if it wishes) 4) Allows a wider range of art than is currently possible 5) Supports different orientations of art (landscape and portrait)... so skins can pick up whichever style they require 6) Is possible to rapidly port the existing scheme to this proposed scheme via a script (which is also reversible!) 7) Allows for art at all levels of media (eg. Tv show, season AND episode level for all artwork types) The Spec note: Fanart = Large image / wallpaper, usually full screen representing the media Cover.Front =The image you'd expect to see on the front of the box (DVD, CD case) Cover.Back = The image you'd expect to see on the back of the box (DVD, CD case) Cover.Inner = The image you'd expect to see on the liner notes / inside the cover) Cover.Sleeve = The unfolded back, spine and front cover all in one Cover.Disc = The image of the physical disc label (usually a round image) Poster = Usually a 'Promotional' poster... promoting a movie or album release. Banner = A highly oblong image usually landscape representing the media Framegrab = A snapshot of the media (screen shot) of the playing TV show or movie, not applicable to Audio Logo = A 'symbol' associated with the media, usually an iconic logo or symbol Genre = A general classification for the category/style of media. e.g. Comedy, Rock, Horror, Jazz, Documentary. <n> = Some number to allow multiple instances of artwork types. e.g. Starwars.movie.framegrab.001 MediaInfo = 'Flags' as they are termed today. I felt the term MediaInfo was easier to understand HasBeenPlayed = 'Watched', but a more generic term to cover Audio and even Images Movies - AnalogKid - 2009-07-01 14:38 MOVIE ART Items in GREEN are optional <moviename>.movie.fanart[COLOR="green"](.landscape/portrait).<n> <moviename>.movie.cover(.front/back/inner/sleeve/disc)(.landscape/portrait).<n> <moviename>.movie.poster(.landscape/portrait).<n> <moviename>.movie.banner(.landscape/portrait).<n> <moviename>.movie.framegrab.<n> <moviename>.movie.logo.<n> [/color] Regex for the above is: (.*)(\.movie.*)$ FAQ: Q. What does <moviename> mean? A. Moviename is ONE of the following (in priority order, where the first found match is used) [INDENT]1) whatever name is specified in the <fsfriendlyname> field of the movie's NFO file (This is a new tag to allow the user to specify any name they please that is file system friendly (overcomes ANY weird characters or movie title length issues) 2) whatever name is specified in the <id> field of the movie's NFO file (This allows someone to have their art based on the IMDB ID of a movie if they wish) 3) whatever name is specified in the <title> field of the movie's NFO file (Allows art to be named based on the official title of the movie) 4) whatever name is used for the movie (or containing folder name) of the media file[/INDENT] Allows art to be based on a match with the name the user used in their filesystem Examples: My Flat Movies\ ----- Starwars.avi ----- Superman.avi ----- Superman.nfo (<id>tt3849485<id>) ----- movie.avi ----- movie.nfo (<title>Mr Goodbar<title>) My Foldered Movies\ ---- Ghostbusters\ ------- movie.avi ---- I Know What You Did Last Summer ------- movie.avi ------- movie.nfo (<fsfriendlyname>I Know What<fsfriendlyname>) \My Artwork\ ----- Starwars.movie.fanart.jpg ----- tt3849485.movie.fanart.jpg ----- Mr Goodbar.movie.fanart.jpg ----- Ghostbusters.movie.fanart.jpg ----- I Know What.movie.fanart.jpg TV Show - AnalogKid - 2009-07-01 14:40 TV Show ART Items in GREEN are optional <tvshow>.tvshow.fanart(.landscape/portrait).<n> <tvshow>.tvshow.cover(.front/back/inner/sleeve/disc)(.landscape/portrait).<n> <tvshow>.tvshow.poster(.landscape/portrait).<n> <tvshow>.tvshow.banner(.landscape/portrait).<n> <tvshow>.tvshow.framegrab.<n> <tvshow>.tvshow.logo.<n> <tvshow>^<season>.tvshow.fanart(.landscape/portrait).<n> <tvshow>^<season>.tvshow.cover(.front/back/inner/sleeve/disc)(.landscape/portrait).<n> <tvshow>^<season>.tvshow.poster(.landscape/portrait).<n> <tvshow>^<season>.tvshow.banner(.landscape/portrait).<n> <tvshow>^<season>.tvshow.framegrab.<n> <tvshow>^<season><episode>.tvshow.fanart(.landscape/portrait).<n> <tvshow>^<season><episode>.tvshow.cover(.front/back/inner/sleeve/disc)(.landscape/portrait).<n> <tvshow>^<season><episode>.tvshow.poster(.landscape/portrait).<n> <tvshow>^<season><episode>.tvshow.banner(.landscape/portrait).<n> <tvshow>^<season><episode>.tvshow.framegrab.<n> Regex for the above is: TBD FAQ: Q. What does <tvshow> mean? A. <tvshow> is ONE of the following (in priority order, where the first found match is used) [INDENT]1) whatever name is specified in the <fsfriendlyname> field of the TV Show's NFO file 2) whatever name is specified in the <id> field of the TV Show's NFO file 3) whatever name is specified in the <title> field of the TV Show's NFO file 4) whatever name is used for the TV Show (or containing folder name) of the media file[/INDENT] Q. What does <Season> mean? A. <Season> is denoted as S<nn> (e.g. S01) Q. What does <Episode> mean? A. <Episode> is denoted as E<nn> (e.g. E01) and can only exist alongside the Season (e.g. S01E01) Examples: My Foldered TV Shows\ ---- House\ ------- S01E01.avi ---- TheApp\ ------- S01E01.avi ------- tvshow.nfo (<title>The Apprentice (UK)<title>) \My Artwork\ ----- House.tvshow.fanart.jpg ----- The Apprentice (UK).tvshow.fanart.jpg Music - AnalogKid - 2009-07-01 14:40 Music ART Items in GREEN are optional <artist>.music.fanart(.landscape/portrait).<n> <artist>.music.cover(.front/back/inner/sleeve/disc)(.landscape/portrait).<n> <artist>.music.poster(.landscape/portrait).<n> <artist>.music.banner(.landscape/portrait).<n> <artist>.music.logo.<n> <artist>^<album>.music.fanart(.landscape/portrait).<n> <artist>^<album>.music.cover(.front/back/inner/sleeve/disc)(.landscape/portrait).<n> <artist>^<album>.music.poster(.landscape/portrait).<n> <artist>^<album>.music.banner(.landscape/portrait).<n> <artist>^<album>^<track>.music.fanart(.landscape/portrait).<n> <artist>^<album>^<track>.music.cover(.front/back/inner/sleeve/disc)(.landscape/portrait).<n> <artist>^<album>^<track>.music.poster(.landscape/portrait).<n> <artist>^<album>^<track>.music.banner(.landscape/portrait).<n> Regex for the above is: ([^\^]*)\^?([^\^]*)?\^?([^\^]*)?(\.music.*) FAQ: Q. What does <artist> mean? A. <artist> is ONE of the following (in priority order, where the first found match is used) [INDENT]1) whatever name is specified in the <fsfriendlyname> field of the Artist's NFO file 2) whatever name is specified in the <id> field of the Artist's NFO file 3) whatever name is specified in the <title> field of the Artist's NFO file 4) whatever name is specified in for the artist in the embedded tag data of the media file 5) whatever name is used for the artist (or containing folder name) of the media file[/INDENT] Q. What does <Album> mean? A. <album> is ONE of the following (in priority order, where the first found match is used) [INDENT]1) whatever name is specified in the <fsfriendlyname> field of the Album's NFO file 2) whatever name is specified in the <name> field of the Album's NFO file 3) whatever name is specified in for the album in the embedded tag data of the media file 4) whatever name is used for the artist (or containing folder name) of the media file[/INDENT] Q. What does <Track> mean? A. <Track> is denoted as <nn> (e.g. The Beatles.Anthology.01). Examples: My Messy Music ---- Abba\ ------- Greatest Hits ----------- 01 Super Trooper.mp3 ---- ACDC\ ------- Artist.nfo (<name>AC\DC<name>) ------- H2H ----------- Album.nfo(<name>Highway To Hell<name>) ----------- 01 Highway To Hell.mp3 ---- messy.mp3 (ID3 tag = Sting - Fields Of Gold - 04 Seven Days) \My Artwork\ ----- Abba.music.fanart.jpg ----- Abba.Greatest Hits.fanart.jpg ----- Abba.Greatest Hits.01.fanart.jpg ----- ACDC.fanart.jpg ----- ACDC.Highway To Hell.fanart.jpg ----- Sting.Fields Of Gold.04.fanart.jpg Additional - AnalogKid - 2009-07-01 14:42 Additional ART (Not specific to a media file) Please note: This section is currently very much in it's infancy and lags behind the Movie, TV and Music art. It is detailed here to help summarise currently theoretical ideas and should not be taken as a definitive solution (yet). Genres ('type' of movie, tvshow or music) <genre>.genre.fanart[COLOR="green"](.landscape or .portrait).<n> <genre>.genre.cover(.front/back/inner/sleeve/disc)(.landscape/portrait).<n> <genre>.genre.banner(.landscape or .portrait).<n> <genre>.genre.framegrab.<n> [/COLOR] Media Info (Technical information related to the media format or status) <audioformat>.mediainfo.audio[COLOR="Green"](.mono or .color) <videoformat>.mediainfo.video(.mono or .color) <resolution>.mediainfo.resolution(.mono or .color) <source>.mediainfo.source(.mono or .color) (True or False).mediainfo.HasBeenPlayed(.mono or .color) <lang>.mediainfo.subtitle(.mono or .color) (True or False).mediainfo.IsOffline(.mono or .color) [/COLOR] Production Info (Elements related to the production of the media) <Person>.prodinfo.person[COLOR="Green"](.portrait or .landscape) Note: 'Person' is just a person, actor or director, or any other contributing individual! <studio>.prodinfo.studio(.mono or .color) <year>.prodinfo.year(.portrait or .landscape)[/COLOR] - MaxNL - 2009-07-01 14:46 AnalogKid Wrote:3) <Moviename> could match the actual corresponding media filename, however, this requires end users to have their mediafiles uniquely named across all folders and sources. AnalogKid regarding this point I think that it is impossible to have a name collision of mediafiles as it is impossible to have two object named the same on every filesystem existent. Of course if you consider the whole name: path + name + extension. Regards Max - AnalogKid - 2009-07-01 15:08 MaxNL Wrote:AnalogKid regarding this point I think that it is impossible to have a name collision of mediafiles as it is impossible to have two object named the same on every filesystem existent. Of course if you consider the whole name: path + name + extension. We've already discussed this. It is POSSIBLE to have two media files of the same name. Source 1 My Movies\Starwars.avi Source 2 My Movies\Starwars.avi We cannot have the complete path in the <moviename> so duplicates can exist, BUT we have overcome this problem within the NFO file. - MaxNL - 2009-07-01 15:10 AnalogKid Wrote:7) Allows for art at all levels of media (eg. Tv show, season AND episode level for all artwork types) Here I spot another point that need to be clarified. What we want to define as media and therefore be able to get the "ART"? Here we are talking about:
But what about other stuff. I mean there could be more and more "objects" we could associate ART. For example year <year>.yearart.xxx.xxx as in:
So what about the kind of "OBJECT" that can have or not have "ART" ? Who is going to decide ? As I think to have a very flexible solution change to xbmc should be done. There will be anyway a "backdoor", in the skin to do something NOT FORESEEN? (just like serenity, experience, aeon, do) I'm really sorry if I take the discussion out of the intended path (just ignore the post in this case), but what I'm really trying to underline is the impossibility of the task, if we don't settle for very few rules and very strict. In all the other cases better to leave everything like now and let the skinner invent and handle whatever their creativity suggest. Regards Max - tetsuo55 - 2009-07-01 15:21 Very impressive AnalogKid, except for the <moviename> part you completely nailed it. - AnalogKid - 2009-07-01 15:54 tetsuo55 Wrote:Very impressive AnalogKid, except for the <moviename> part you completely nailed it. Not sure if you read a version I was 'editing'... I was saving my posts in mid-edit... take another look and if I've missed something let me know. I think it's damn good now... easy for dummies, but also power users can do some smarter stuff too. The spec looks complicated, but it's actually pretty easy once you understand it. it SHOULD keep xexe happy too! (I hope). |