2006-12-22, 15:51
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...
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...