SkinneX - The XBMC Skin validator!
#1
Hi all

I have a few questions\suggestions\ramblings about skinning:

I am a programmer and only started using C# this year and wanted to try write some "exciting program" just to learn it. I've been programming C++ for years and know java quite well so C# looks like a mix of the two! Basically I discoverd XBMC about a year ago and have since pimped an xbox with an X3 chip and I think its the most amazing piece of kit around!! Every time I use it I find another cool feature!! Anyway enough of the life story, I decided some kind of skinning app would be a good C# program to try code up and I had visions of a cool Visual Studio type drag and drop interface\preview thingy...

Until of course I started, I've been just working on the file handling side of it so far and I started this a good few months ago (although I don't have much time to code it).

So before I go any further don't be getting too excited cos I don't have a skinning app finished or anywhere near it... or maybe never will for that matter but the part I've done so far may be of use.

The way I wrote it, all controls and parameters are defined in one xml file (i.e. an xml file that defines whats in the skin xml files!)

here's a snippit from the file so you might understand what I've done:

XBMCControls.xml:

http://www.geocities.com/mecowing/page1.htm

Here I'm defining that a window can have a parameter called id, where the value is a string and there must be minimum occurance of 1 and max number 1 (i.e. id parameter must be defined for a window).

So as the skin xml files are being loaded into the app "SkinneX" it checks each parameter it loads and verifies that it is a valid parameter.

So the only functionality SkinneX has currently is the ability to validate skins XML files but also I've got the whole open xml -- >edit param --> save xml done. OK its not finished, it currently only loads xml files that are in the resolution folders.
But you can then view and edit parameters. And because all parameters for each control are defined then when you want to add a new parameter the interface can give you a list of all parameters you can add.

to be continued...
Reply
#2
All the information for all the controls parameters (like the description above) I got from the online skinning wiki, so you see my problem, if a certain control or controls parameter wasn't in the wiki then its currently not in the definition file. So when I load Project Mayhem III I get lots of warnings where the controls were not defined and control paramters where not defined.

For example:
NTSC\References.xml file has a defualt listcontrol defined with parameter "image" but in the wiki there's no mention of an "image" parameter.
Now all I have to do is add the following parameter definition to the list of defined parameters for a listcontrol ie:

http://www.geocities.com/mecowing/page2.htm

So I could just do this for all undefined stuff my app is picking up but I thought it might be better to ask someone who knows exactly the info about the controls and parameters not defined in the wiki.

I was just going to look at the source to make sure these parameters are indeed defined for the latest skinning engine but for this example I did a code search for string "image" to see where it was been read in but couldn't find any reference to reading in "image" parameter. (are all control parameters defined in the GuiControlFactory.cpp file seems to me like all the control and control parameter strings in there?)


So I have a suggestion about all of this validation stuff, that is what if that control definition file XBMCControls.xml was kept up to date and in the code repository so that anyone could use it to validate their skin and make sure all controls are still defined and also what parameters are defined for each control. Not sure if it would be possible to somehow link the wiki with this information, i.e. all the parameter descriptions that are in the definition file would be same as on wiki so wiki is always bang up to date.

So what you guys thinking this stuff any use or should I keep my crazy coding to myself :-)

And before you say it I have seen |EqUiNoX| Skin editor (but only after I'd started) so I'm sure when he's released his fully working my SkinneX won't be of any use but sure I'll plug away anyway and as I said I'll probably never get around to any kind of preview engine I'll leave that to |EqUiNoX|'s app!

Screen Shots:
http://www.geocities.com/mecowing/screenshots.html

Hip Robotamus Big Grin
Reply

Logout Mark Read Team Forum Stats Members Help
SkinneX - The XBMC Skin validator!0