PDA

View Full Version : HOW-TO create/make a skin for XBMC


Gamester17
2003-10-01, 15:50
xbmc is fully skinnable and support animated gif's (can be used but is not a must) and much more, please look at existing skins.

a thing to think about is that one has to make seprarate skins (xml' & images) for each resolution to optimize the quality, like:
ntsc 720x480, 4:3
ntsc 720x480, 16:9*
pal/secam 720x576, 4:3
pal/secam 720x576, 16:9*
hdtv 480p/i 640x480, 4:3
hdtv 480p/i 640x480, 16:9*
hdtv 720p/i 1280x720, 4:3
hdtv 720p/i 1280x720, 16:9*
hdtv 1080i 1920x1080, 4:3
hdtv 1080i 1920x1080, 16:9*

* = note that 16:9 has same pixel-resolution as 4:3 on widescreen tv's, the pictures is simply streached to fit widescreen.

remeber that it's illegal (according to copyright law) to plainly rip/clone images and textures from other software/applications or websites, but it is however ok to get ideas/inspiration from other peoples work. we will not post any skins on our websites that contain illegaly aquired material!

brncmp
2004-05-17, 04:58
i would like to learn how to skin xbmc. i have not been able find and help on were to start. i really dont know anything about how to do this.
can someone tell me how to get started and what ill need.

thanks
brncmp

Nickman
2004-05-17, 11:19
i would like to learn how to skin xbmc. *i have not been able find and help on were to start. *i really dont know anything about how to do this.
can someone tell me how to get started and what ill need.

thanks
*brncmp
a graffics program and a text editor.

photoshop/paintshop pro,notepad, write http://www.xboxmediaplayer.de/forums/non-cgi/emoticons/wink.gif

floink
2004-05-17, 11:27
i'd suggest starting by taking an existing skin and edit that with your own graphics using above mentioned method.

roortman
2004-05-17, 13:15
help!?

i want to learn how to make/edit a xmbc skin, but i cant find a tutorial or something anywhere.
i know that someone already asked the same question, but he got some "lame" answer that he needed photoshop etc.

can you tell me if there is some graphical designer prog, or a tutorial somewhere?

because just telling someone that he needs to edit the xml files isnt really enough, is it?

thankx..

floink
2004-05-17, 13:44
there is no current editor. so actually editing xml files is the only way. and ofcourse you need to create your own aswell graphics :) so creating a skin is a lot about ftp as tv is the only way to preview.

mysiskatten
2004-05-17, 14:19
how do i create a textures.xpr file??

can i open a textures.xpr file?

roortman
2004-05-17, 14:36
do you know where to get like a tutorial or someting???"

thankx

Hullebulle
2004-05-17, 15:30
there is no tutorial either. take a look at the skin xml files.

Blackbolt
2004-05-17, 21:11
its takes a long time to create a skin, so i imagine creating a tutorial would take a long time, would require images and i don't know anyone that would be willing to do that.

firstly to create a good skin, you need some skill in either paint shop pro or photoshop. if you don't use either of those apps further than you use ms paint, then your asking for trouble learning to skin.

making a skin for xbmc is all about the xml's. after doing a few, it comes to you. trial and error my son, just do it.

floink
2004-05-18, 14:08
i know there has been an xbmc skin editor in the works. but currently that project is put on ice and has been so for a couple of months. so i wouldn't count on anything usable from that project during the next six months or so. and to release an editor now wouldn't be fair to previous skin competition contestants. right?

webMASTER_P
2004-05-18, 18:18
this is the document that got me started on skinning
http://cvs.sourceforge.net/viewcvs....rev=1.3 (http://cvs.sourceforge.net/viewcvs.py/*checkout*/xbmc/xbmc/skinning.txt?rev=1.3)

you don't need to create textrues.xpr, you can just put your images into the media directory.

and like everyone has been saying, download an existing skin and look at what's it's doing.

i used xbox media exprerience to learn.

xbmc isn't hard to skin, but it takes a pretty long time.

Butcher
2004-05-18, 20:05
if you plan on releasing your skin you should build a textures.xpr for the zip/rar you distro. for testing it's usually quicker to use the images directly.

robomonkey
2004-08-25, 12:58
hi, i really like to try and create my own skin.

i've looked at the xml files and structure and downloaded a couple of xml readers, but i can't see how you go about actually writing a page. do you really have to write it all or are there programs that will let you drag and drop images etc.

also how do i view an existing skin on my pc whenever i open an xml file i just get the text.

can someone please help because this is driving me crazy.

jmarshall
2004-08-25, 13:31
hi robomonkey,

great - the more skinners the better.

currently, the skinning process is as you assume - you write the xml files and produce the images. there is no way (currently) of viewing the skin on the pc, so it is a slow process at first (until you get used to the system when it gets a lot faster).

there has been rumours about skinning apps, but none have yet to materialise.

i suggest you grab the default skin (project mayhem) and work on changing things (images, layout etc.) around to your liking.

cheers,
jonathan

robomonkey
2004-08-25, 13:41
ok ta, i shall try to persevere with it

Bruce Ballslap
2004-09-13, 00:36
hi!

how do people make these skins? i'm anxiously waiting to start making my own, but i'm still wondering which is the best way to get my hands dirty.

i dont seem to find any comprehensive skinning tool anywhere. this skin editor (http://www.xboxmediaplayer.de/cgi-bin/forums/ikonboard.pl?act=st;f=7;t=4288) seems like a nice project but is still in it's early stages.

are there any tutorials for making a custom skin? i didnt find any.

or is the only way to go to start educating oneself from other people's skins?

thanks

Bruce Ballslap
2004-09-13, 00:43
ooops! *:d

right after posting the above, i found this thread (http://www.xboxmediaplayer.de/cgi-bin/forums/ikonboard.pl?act=st;f=7;t=5959) which more or less answers my questions.

any further ideas or comments or most welcome however.

maybe a pinned thread introducing newbie-skinners the present situation would be in order?

thanks

Iceman
2004-09-19, 19:07
looking through the forums and the web page of the xbmc project i found no help on how to make a skin for the xbmc.

all i got was to look through the project mayhem and self figure out how to do things.
i find this methode waste of time, is just like everybody should invent the wheel again just if they want to use it.

there must be description lying around at the xbmc guys, how the skin scripting should be configured and what they should contain, and which files should be made.
i don't thing the mayhem guys just figured out this by them self, what to include where and how.

i'm pretty sure this description exists, the program (xbmc) have to be programmed to read the skin files in certain manner, well!

so, why just publish this document. i'm not afraid to dig into the .xml files, with the doc. in my hand. i don't need fancy skin editor to work with, sure it would be nice, but not necessary.
in my daily i make programs that uses .xml and other setup files.

regards,
the iceman.

jmarshall
2004-09-19, 19:56
check skinning.txt in the xbmc homedir. this, along with the skin files in cvs, and the source code, is the only documentation we have.

basically, each window has it's own .xml file which is read in. each window has it's own id, described in guilib/key.h in the source code (see cvs). each control within a window will have a unique id as well, and these are described in the source code for that particular window (not a particularly good system, i know).

the xml files contain the descriptions of each control on that particular window. there is a global file (references.xml) that contains the default settings to use for each control, to save you having to fill in each and every tag for each control.

anything else you want to know?

basically, everyone (including chokeman who maintains the project mayhem skin) learnt by following the available skin files.

cheers,
jonathan

Iceman
2004-09-19, 20:32
thank you for your answer,
this is a good start, to get me going.

i think i will just get the xbmc source code from the cvs and the mayhem source from their cvs as well and just go through the code and see how the things are done.

this is the hardway of doing things.

maybe, if i have the time, i will make a document about the process so others don't have to dig again.

why is this made so hard to do?
i have never understand why it should be so hard to contribute to the world of software, why shall everyone who want to get involved have to dig through source codes etc. and have to figure the things out on their own.
whouldn't be easier just to tell how the things work?

i'm not saying that i'm not willing to make the effort, i love to dig into things and find out how they work. *but, i also love to tell others what i have found out. i and cases when writing software tell others how i made it.

there is one question, how is the media compiled? *e.g. all the graphic files (.png) compiled into one big file placed in the media folder of the mayhem project?

regards,
iceman

jmarshall
2004-09-19, 20:49
basically, stuff has not been documented well, as a lot of coders don't enjoy documenting stuff :)

if you, or someone else could do so, that would be a fantastic contribution to the xbmc project.

basically, the loading of the skin files can be looked into in guilib/guiwindow.cpp and guilib/guicontrolfactory.cpp

that is where the loading etc. is performed, so will give you all the info you need to know regarding which controls use which tags etc.

as for the actual media files, the fonts are simply placed in the font subdir of the skin folder (they can be .xpr or .ttf fonts).

the rest of the media files are placed in the media subdir. that will work fine. to increase performance, however, we convert the texture files to an xbox native format and compress it into a single file (textures.xpr) so that it loads much quicker. there is an application available (xbmctex.exe - needs building) in the tools subdir of the xbmc source.

for testing purposes, though, just dump the pngs etc. in the media subdir and xbmc will load them just fine.

i'm more than happy to help with any other questions you may have.

also, if you find things that you think would simplify/enhance the skinning process and/or the gui environment that you'd like implemented, let me know and we'll see what we can do.

cheers,
jonathan

Iceman
2004-09-20, 02:11
i know i'm a coder my self, but i force me to make document as i see it helps later on and also helps with the thinking / developing process.

i think i will start with getting the xbmc source from the cvs and go from there.
as the winter is coming and the nights are getting longer i'm sure i will find some time to dig into the gui code.

i'm sure i will have some more question when i start, then i will sumit them to this forum.

greetings,
iceman

zygote
2004-10-28, 21:00
i'd like to look into skinning xbmc and agree that the best way to learn is to dig! that's always worked for me when learning to skin smartphones! (ok, big difference between a smartphone and xbmc, but the principle's the same)

my questions is; is there any way to expand the textures.xpr file into it's individual files? the reason for this is that i would find it extremely helpful to be able to bring up a screen on the xbox, reference with it's corresponding xml file on my laptop and reference that with the individual graphic elements.

tia

KoTiX
2004-11-03, 11:02
no way to decompress the xpr file, you need to find some skin with uncompressed textures or find the source code of xbmc "somewhere...."

Hullebulle
2004-11-03, 13:41
no way to decompress the xpr file, you need to find some skin with uncompressed textures or find the source code of xbmc "somewhere...."
somewhere? its not a secret where to find the skin sources.they are in the cvs. ;)

--> http://cvs.sourceforge.net/viewcvs....dirlist (http://cvs.sourceforge.net/viewcvs.py/xbmc/xbmc/skin/project%20mayhem/#dirlist)

alfisti
2004-11-05, 22:55
ok. one can have a look at the existing images an make new ones...
but what about the new skins for xbmc 1.1 ??? i can only see a "textures.xpr" no images. any way to extract those images?

forgot to say . please...

please help me. :nuts:

KoTiX
2004-11-08, 09:49
no way.

bobrooney_78
2004-11-08, 21:04
but what about the new skins for xbmc 1.1 ??? i
you can find uncompressed files in the visor 1.1 - skin at www.allxboxskins.com

dijon
2004-12-15, 01:27
does this visor 1.1 skin work with 16:9 tv's it seems that it has a 4:3 background image. what are the background dimensions for 16:9 tv's do they need to be in a different folder from the standard images?

bobrooney_78
2004-12-15, 11:22
does this visor 1.1 skin work with 16:9 tv's it seems that it has a 4:3 background image. what are the background dimensions for 16:9 tv's do they need to be in a different folder from the standard images?
look at the first post on the first page in this thread - 16x9 and 4:3 have the same dimensions.

for the folder structure (16x9) look at the default skin:
http://cvs.sourceforge.net/viewcvs.py/xbmc/xbmc/skin/project%20mayhem/

PeterPL
2005-03-04, 02:37
i create a preview of skin,maybe someone create it :d
http://img204.exs.cx/img204/7920/background23je.jpg

hades_666
2005-03-17, 21:37
is there a way to see the progress of your skin without always booting up your xbox to test it. i guess what i am asking is if there is a perl port of some sort that will allow an xbmc dash look.

or

can i install mediaportal x and skin that? are they similar. i ask before i try, sorry.

edit:

answered my own question. just installed mediaportal and see that they are the same format. with some minor differences.

DrCord
2005-05-30, 05:00
i want to know how to get the program that allows you to create textures.xpr, xbmctex.exe. can someone give me the link or send me the program?

ty

drcord

Nuka1195
2005-05-30, 05:11
it's in cvs, you have to compile it.

Supersnail
2005-06-23, 01:47
everybody keeps pointing to the skinning.txt file in the xbmc home directory. this file is incomplete. it barely mentions anything about the button control. i'd also like to know more about the other 6 controls that get no explanation whatsoever in that file.

all you people that know how to do this stuff, why is it you all just say "figure it out on your own"? why can't you help advance the knowledge of others by answering questions you know the answers to?

that's just as bad as most linux punks who say "read the man pages!" except here there are no man pages.

jmarshall
2005-06-24, 13:49
supersnail: the reason there is no documentation is because noone has written any.

if you can assure me that you will write documentation in the online manual about whatever control you are enquiring about, i'm more than happy to answer your questions.

Supersnail
2005-06-25, 21:11
supersnail: the reason there is no documentation is because noone has written any.

if you can assure me that you will write documentation in the online manual about whatever control you are enquiring about, i'm more than happy to answer your questions.
why should i assure you that i will write the documentation. you're the one that has the knowledge, you write the docs.

i just want to make a custom skin for my box, i can't do that without learning how. i can't learn how unless someone writes it down and makes it available, whether in the manual or in the answer to an inqusitive post.

jmarshall
2005-06-25, 21:25
yes, i have the knowledge. however, i am a developer - what i think is good documentation is not what people like yourself (ie users who are coming to xbmc cold) find is good documentation. good documentation for beginners is written by beginners.

if you aren't prepared to share with others (via documenting what you learn), why should someone else do it for you?

many others have managed just fine with what we currently have - they've done it by finding stuff out themselves, and asking specific questions when they stumble across something they don't know. unfortunately, not enough of them wrote down what they'd learnt in a place such as the online manual.

i've offered to help you (and any skinner) out, but i'm not going to answer the same questions over and over - thus my simple request.

cheers
jonathan

Supersnail
2005-07-03, 06:15
yes, i have the knowledge. however, i am a developer - what i think is good documentation is not what people like yourself (ie users who are coming to xbmc cold) find is good documentation. good documentation for beginners is written by beginners.

any documentation is better than none. and who says i am a beginner? just because i don't have hundreds of post's on this forum doesn't mean diddly. i have been using modded xboxes and creating custom skins for other dbrs since before xbmc was available. the difference is they had decent docs and people willing to openly share what they had learned. to say that docs for begginers is written by beginners is inaccurate and beside the point. i don't want docs for begginers. i want details. i want clear and understandable, but not dumbed down. i don't want a walk thru. i want an explanation of the tags and how they relate to each other.

if you aren't prepared to share with others (via documenting what you learn), why should someone else do it for you?

that's kinda the pot calling the kettle black, eh?

many others have managed just fine with what we currently have - they've done it by finding stuff out themselves, and asking specific questions when they stumble across something they don't know. unfortunately, not enough of them wrote down what they'd learnt in a place such as the online manual.

most of those many others are developers (like you) or elitists (like you) who use their knowledge like a carrot on a string, to hold sway over people like me who don't have the knowledge. i have asked specific questions. i asked for explanations for the controls in home.xml that aren't explained in the online maual, more specific, i am looking for information on the "listcontrol" control.

i've offered to help you (and any skinner) out, but i'm not going to answer the same questions over and over - thus my simple request.

who says you will have to answer the same question more than once? for a developer, your bs isn't so bright. answer the question once in a public forum, or better yet answer the question by updating the wiki. the answer is there when people search for it after that. your "simple request" is nothing but more elitist bs. take responsibility for the project you are working on. make the information accesible. if you've got time to teach me, take that time to inform everyone.

bobrooney_78
2005-07-03, 11:07
i am looking for information on the "listcontrol" control.
why just you simply ask your specific question here in the forum?

you may find usefull information either here in the graphics-forum, in the support forum or at the forums from chokemaniac.

the excellent forum from chokemaniac with a lot of skinning infos:

http://chokemaniac.xbmc.org/index.php

quick information about skinning in general:
my webpage (http://www.xboxmediaplayer.de/cgi-bin/forums/ikonboard.pl?act=st&f=7&t=10773)

jmarshall
2005-07-03, 14:17
what is it you need to know about the listcontrol?

further to bobrooney_78's links, you can always pop in to #xbmc on efnet and i (or anyone else that knows) will be quite willing to answer any queries you may have.

Loaded Gun
2007-01-10, 04:37
This is a well deserved bump. Anyone know where to find the source code?

Loaded Gun
2007-01-10, 04:47
NVM found for the 2.0.1 source code.

agathorn
2008-01-02, 19:28
I'm confused on the resolutions here, although it should be a pretty basic thing :p

I created a simple 720x480 image to get started playing around with this. I took the PM3 skin and essentially ripped everything out of it except the settings button, and then put my image in using an image control. the image control is set for 0,0,720,480. However when my image is displayed it does not fill the entire screen.

I am testing using the XBMC_PC, in NTSC 4:3 mode, and I have set it to pixelsize, and aspect ratio.

What am I missing?

jmarshall
2008-01-02, 21:31
You are working in the PAL folder which uses a 720x576 pixel resolution - it's being scaled to NTSC for you.

Use a 720x576 sized image, or (alternatively) move your XML files to the NTSC folder and work there on a 720x480 scale.

The directory you work in specifies the coordinate resolution you want to use.

Cheers,
Jonathan