Themes - extend functionality
#16
from what i see there are 3 or 4 feature requests here

ability to include xml files along with themes
simplification of skinning system through templates
end users ability to edit various portions of the skin (dialogsubmenu, home menu)
expansion/rewrite of skinning engine

as i mentioned before including xmls with a theme could be very useful

i believe that a more concrete basic framework should be layed out for skins. the current directory structure is very confusing for new skinners (pal, ntsc, 16x9, 4x3, 720p, 1080i, etc) there should be 16x9 and 4x3 directories which can be scaled to various resolutions. there also needs to be provisions to adjust font sizes etc, in higher resolutions.
perhaps the ability to "#include" a xml anywhere inside another xml would work well for templates. this puts the burden of orginization on the skinner but provides the most flexability.

regarding dialogsubmenu, perhaps a better way to handle users wanting to modify this is to remove the need to. create a my programs like 'scan' for scripts (look for default.py and perhaps uses the first comment line for a title)

rewrite of the skinning engine? i dont think its that bad Wink though i do think skinners would find more control of some portions handy to make fantastic looking skins
the places where i believe the engine should be expanded are;
control of visuals. such as passing of arguments to them (to select a specific spectrum analizer or milk preset)
control of multi-image-fade thing. forward/backward playback control depending on fade in or out.

i'd hate to put a burden on choke but maybe its time to update pm3 to scale everything Wink
Reply
#17
(kraqh3d @ dec. 05 2005,12:06 Wrote:layering one xml on top of another is not easy.  it's one thing if you want to change the images.  that's the simple case.  you just look for a control that has the same id in the themed xml file and use that one.  that's kind of how the references file is used.

but, you mentioned that you change buttons and whatnot.  i see that as presenting a problem.  once you add new interactive controls, you might as well redo the entire file as that potentially requires changing all the up/down/left/right values in every other control.
kraqh3d,
obviously changes with controls and images would likely mean xml changes... this is the entire point of the suggestion... to make this easier.
I'm not an expert but I play one at work.
Reply
#18
my intent with this is to stimulate discussion. i too don't like the fact that everything is divided up into resolution directories - instead, i think it should be just the two folders - one for widescreen and one for normal. how we handle upscaling from there is then the difficulty. i need to go through and check the changes that pm3 has in references.xml and fonts.xml to see why these are needed and how we can get around them.

my goal is making the skinning entry level lower than it currently is. obviously while still providing the same (or a higher) level of control for the skinner, whilst allowing modifications to be as simple as possible.

i see a couple of ways to do this:

1. reduce the complexity of the skin layout files-wise.

2. look into template files. template files are tricky - as kraqh3d points out, the navigation is the one issue that i'm not sure how to work around - if you aren't adding extra focusable controls, then it's not a problem, but as soon as you start adding focusable controls it becomes tricky. i'm not sure how to deal with this at all. having an "auto" navigation system (where xbmc determines the navigation based on control position) is imo not really an option - they don't work reliably or consistently (which is why in windows you have the tab button to get to the next control). assuming a system can be sorted out to solve this, i don't see a problem however with using templates.

3. look into ways to simplify the process of customizing things - submenu could be solved in a similar way that loto suggests, basically by taking it's contents out of the skinners control (they'll only have layout control). this is a restriction, but if they want control they can do it via a separate custom window anyway. having complete replacement .xml files read from a different location is also an option - this is how i seem themes working for instance. i don't see the point of .zip or .rar reading however.

one possible file layout is:

skin/pm3
xml/
widescreen/
media/
themes/
mytheme1/
xml/
media/
mytheme2/
skin.xml

but obviously this is all just speculation at this point. the main thing i don't want to do is upset the current skinners - only one of which has replied to this thread as yet. they're the ones that do all the work!

realistically though, all you guys that choose to modify a particular skin (it's just about always pm3) should not have to update your modifications that much - the skin doesn't change all that much really, and when it does, a simple application like winmerge will allow you to see what's changed pretty quickly.

and let's be honest, when the skin system eventually freezes for good is when development on xbmc ceases!

cheers,
jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#19
i have done considerable skinning work that isnt released, if i could have a couple of new functions i would set about releasing a modded pm3 with alot of extra toys on it, 45 themes and being able to run your own personal pics in background with the push of a button.....with current features im very close to this, all the functions work perfectly now. (only problem is that it requires 2 skins at the moment because of one change in the home.xml (and 16x9home.xml) that is needed, hence why i really would love a way i could define a vis tag or 2 that the gui could switch so i dont need multiple home.xmls to enable your own personal backgrounds instead of using my predefined themes (x45) )

then id like to sit down and do another proper skin along the lines of x360, ive spent a few hours on it and really it would require abit of modding of the keymap.xml as well so the trigger switchs windows easier. and once again if i could have my own tags i could then turn on/off sections like a tv section or games to give users more flexiblity with personalising the skin that have no knowledge on how to skin.

right now the power of themes and slideshow tags is alot more powerfull than its being used for and id say vis switchs would be way greater for changing xmls for this reason, it would alow the different theme looks but you could turn on/off say a button scroller and retain all themes. if it is done the way it is put up now i would need a theme default.xpr and a defaultbuttonscroller.xpr, then if i did a car theme id need a car.xpr and a carbuttonscroller.xpr theme instead of one theme and a button to turn on/off button scroller. the way suggested would mean for every option of different home.xml i would have to attach it in multiples of the different graphics themes ive got.
eg 45 graphics theme with an option for button scroller on/off and an option for visuals on/off is actually 45x3 themes and if i wanted all combos its 45x8 themes. ouch
sorry i cant explain it easier and i understand the way you guys want it but i suggest its wrong to lock a setting in an xml to a theme. usefull but wrong.
cheers sorry about being long winded, trying to expain a diff option. i know my way is not good for newbe skinners but it allows skinners to make it customisable for end users as i dont believe newbe will ever be able to do a complete skin and if they could they would have to handle the advanced concepts now.
Reply
#20
also adding of new buttons etc with vis tag alows the up/down etc to jump past the ones not used/gone as im using many tags like this now, like the weather button disappears with no network cable in and it looks like it was never there but plug the cable in, and it fadesin like it was allways there, the navigation all works perfect with or with any of the buttons that dissappear if you have discs or if you have interent connected.
Reply
#21
affini
Quote:obviously changes with controls and images would likely mean xml changes... this is the entire point of the suggestion... to make this easier.
yes of course, but layering imho is the wrong solution. it will mean lots and lots of code updates for little yield. (no bang for the buck.)

i think the theme'd xml file needs to outright override the standard xml file. especially when you think about rearranging focusable controls. it'll be a big problem to figure out how to overlay to competing xml files on top of each other without the navigation breaking.

but, i'll leave it to jm to decide... after all, he'll likely be doing all the coding to make this work Smile
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#22
and bp, yes i agree with you. the current vis tags allow a huge amount of flexibility, but using them requires editting the existing skin.xml files. i think the point of this discussion is how to allow themes to use xml files to override the default ones, thereby allowing the default ones to remain in their virgin state.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#23
i agree with that as well and it would be handy, but for me id prefer that people ask for say a button scroller or help keys or visuals off/on or weather on front and i could add a switch for them because this is what i beleive the changes to the home page will be right now, the way they want it if i code it into a theme id have to decide weather for all graphical themes or not or else double the number of themes.

basically id like to (if choke didnt want to) put switch onto cvs for the options asked for and let the user decide how it behaves. as i will probably end up with 50plus themes its very impractical linking it to xmls as well. i beleive that people are just hacking the xmls a tiny bit and using default pics of maybe one theme this to me is silly to impliment xml theming for new submenu as they will change the xml anyway id like it so you can give the user more control and functionality, the skinners can allready change the stuff they want from what i see. i could the other way add weather and a button scroller to cvs in about 10minutes that is selectble by the newbe user. and all picture themes would be left untouched.
basically right now with about an hours work i could release a skin with 50odd themes that a 2year old could change to models theme or porshe etc but people have asked for weather and say a button scroller to add this i would have to thripple themes. i beleive the user would actually just like about 50 quick themes or to be able to throw there own photos into a set folder and thats there slideshowing background and quick options to change weather on front, button scroller, visuals on front stuff like that. just my beleif as i havent really seen anyone skin just little hacks, id like to add a massive custom pack to cvs to give non skinners a tonne of customisation with the same look/feel being consistant by giving them alot of diff background looks and there own easy to setup personal one for there family pics etc. i would be happy to show you an example of what can be done at the moment it is about 100megs though Smile

http://www.thraxen.com/britneyspairs/24themepics.rar is an early example of about 10 themes that an end user could select in about 2 seconds.
Reply
#24
(kraqh3d @ dec. 05 2005,17:21 Wrote:affini
Quote:obviously changes with controls and images would likely mean xml changes... this is the entire point of the suggestion... to make this easier.
yes of course, but layering imho is the wrong solution.  it will mean lots and lots of code updates for little yield.  (no bang for the buck.)  

i think the theme'd xml file needs to outright override the standard xml file.  especially when you think about rearranging focusable controls.  it'll be a big problem to figure out how to overlay to competing xml files on top of each other without the navigation breaking.

but, i'll leave it to jm to decide... after all, he'll likely be doing all the coding to make this work Smile
kraqh3d,
i gotcha... i actually mean layering figuratively, not physically. my example is that the engine would load the xmls "in order" as they are presented and the 'last xmls standing (or listed) wins' - so an order of presidence takes place.

it is not actually loading and layering images on the screen at all... it is looking at the list of xmls in the folders... figuring out which ones from which folders will be loaded.

i beleive it actually does this now with images.

...if there is an image named games.png in the xpr and one named games.png in the 'media' folder, the 'media' fodler image takes presidence.


i hope that is clearer?
I'm not an expert but I play one at work.
Reply
#25
bp, i actually like some of those! (1,3 etc) since my build is currently oct. 31 i am actually thinking about updating if you can release some of those.....
Image
Reply
#26
just samples of one shot from 10 diff themes or so
ps
1 is model (angels) theme
3 is models (1) theme
but its not really up to me and at the moment id have to change home.xml s espically to have the personal theme options that isnt shown here, this may not be liked.
anyway soon when the dust has settled here ill add a complete overhaul pack with a tonne of quick selectble styles to pm3 unless thats not allowed then ill add it to a pm3 hack and call it a diff name so they dont get mixed up as choke asked for. at moment you can leave it for 10 seconds and the background fades out to your own backgrounds from f:/personal backgrounds and every 10 seconds changes to your next random background, if you have nothing in that folder it is as the themes are shown now. id really like to be able to turn on/off personal picture slideshowing in gui



Reply
#27
just to clear up some confusion:

textures.xpr takes priority over any single media file. the logic is as follows:

1. search for texture in the current theme.

2. search for texture in textures.xpr

3. search for texture in media/

this is for speed purposes mainly - it's quicker to search through the xpr index than it is to check for file existence.

cheers,
jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#28
clarification regarding theme xml files,
i hope no one was implying to combine multiple xml files. replacement is far easier to impliment and by no means difficult for the "theme'er"

regarding scaling correct me if im wrong, at the moment pm3 does not take full advantage of the scaling features of xbmc. iirc it requires choke to redo the backgrounds.

regarding templates, honestly how many windows are there. is it really neccicary to try and remove 8-10 cut'n pastes for the skinner?
besides orginization i dont see any productive way to simplify the xmls
perhaps the burden of user friendliness would be better to put apon the skin editor (sorry jim :p ) imo most people were very intimidated without a wysiwyg editor

jm,
although you may see the skinning engine continuously evolving until the project dies imho this is one of the very things that keeps xbmc from reaching true potential. the ui is one of the places where other end users intimately interact with xbmc. we have all seen what a nightmare a quickly evolving program can be for a skinner. in the interest of xbmc reaching its highest potential, and keeping skinners interested this process should outline a framework that will be implimented before the next point release and maintained until the death of the project. i'm not saying that it should not be expandable with new features and information etc but old skins cannot be broken all the time post "2.0" (or whatever the upcomming snapshot will be called).
Reply
#29
at this point i think the two things i'd like to see added to this version of skinning/themes is...

a) move the buttonscroller into the skin and out of xboxmediacenter.xml

b) allow the themes to have complete and separate folders with all xmls and images using the "substitution" method (i called this layering before but i did not mean to add them together, sorry for the confusion).

... these changes will maintain the integrity of the current skins and allow the skinning app (currently in beta) to easily use the buttonscroller. i believe more people use the buttonscroller then some people think Wink
I'm not an expert but I play one at work.
Reply
#30
this is the idea i had....50 odd themes that all the xml features are turned on/off without effecting my 50 graphics packages.........a picture tells a thousand words but really you need a few pictures

Image

alot of pics here

http://www.thraxen.com/britneyspairs/pics.rar

this is an example of what can be done with themes..........
you have a folder called f:/personal backgrounds and can throw what you want in there then you can switch to personal backgrounds this will disable normal themed backgrounds and slideshow that in the background stretched or aspect ratio correct
you can turn on/off weather on the front
or remove games/program sidee and just have media if you want
plus there is 44 diferent background themes, well 35 if you remove skin ones
some basic explaination is at the bottom of each pic, its 150megs of skin cutomisation (ouch but there are 1000 or so pics for all the themes)

im thinking of adding an on/off switch at the moment to make it normal buttons or scroller so the user can decide just like weather etc

cheers just an expample of what is pos



Reply

Logout Mark Read Team Forum Stats Members Help
Themes - extend functionality0