Kodi Community Forum

Full Version: Proposed changes for skin v2.0
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
i have changed a few things in keymap.xml ummmm black and white on home page skip forward and skip back as i think they wherent used. also pressing back from nearly anyhere on my keymap gets you back to home page as it seemed to frastrate people that back in many locations did another fuction, also added back on homepage to go to the shutdown menu the only thing id like is that you would have to hold down back for 1 second on start menu and it would go to shutdown menu. i though it was logical that back takes you home and back on home takes you to shutdown sleep and reboot Smile just my one dont really want an option to change keymap in gui. cheers
and i've done the same. i've modified keymap.xml for my preferences. i would hate for a skin to alter it.

and i somewhat agree with you on the function of back but its bit more than that... i think we need a new section which changes how keys are mapped when the item panel is selected... maybe easiest to implement using a virtual window of <filepanel> or something in keymap.xml.

when the item panel is focused, menu should bring up the context menu, info should show info on the item, back should go back a dir, and skip+/skip- could act as pageup/pagedown.

when the item panel is not focused, menu, back, info, skip+/skip- could be used for other things... both menu and back could go back to the home page, info could go to the system info screen, and skip+ and skip- could control a playing playlist like they do today.



i'm encountering a few problems here, with dialogmusic/videoinfo.xml.. and i'm wondering with what intention it was made so.

could somebody please explain..why alsmost every window is shown by itself (alone), except for dialogmusic/videoinfo.xml, it's on top of other windows..why is this ? .. this way its taking twice the amount of the available memory, and <allowoverlay>no</allowoverlay> isn't working at all,..maybe this could be done another way.. or is there a specific reason for ?

another thing has to do with creating custom skin options, why can't i use the stuff thats been used in the settings menu like myvideo,mypics,etc .. i want to use that so i can add own options in let's say customx.xml file.. so when going over buttons each section will be displayed.. i heard this is locked, but with what purpose .. ??



what is the benifit of the includes.xml?

is this just a way to have multiple references?

in this sample:
<control>
<type>button</type>
<label>my programs</label>
<includes>myprograms</includes>
</control>

if the myprograms tags from includes.xml file also contains the label tag which one would be used?
the main benefit is to get the commonly used stuff in one location (such as visiblity conditions, animation stuff, font and colour information etc.) makes changing it in one place effect the entire skin, rather than having to go through all the files just to change a label colour, or a common button texture etc.

the first one will be used if there are multiple entries (just like it does at the moment). there is no overriding - it simply removes the <include> tag, replacing it with all the tags in that particular include. if you want to see the code (it's about 20 lines or so) drop me a pm and i'll send it.

cheers,
jonathan
ok, version 1.90 is live. fully backward compatible as per usual.

changes are pretty extensive, but it only took me 10mins or so with pm3. those of you with more animations in your skins, i apologize in advance!

additions

* added shadow support for all labels on all controls. it's drawn in the <shadowcolor>, assuming it's not transparent black (ie 0). this is to give the font a little more contrast when on high or low brightness backgrounds.

* added support for <shadow> and <color> in the font.xml file. these form the default text color and default shadow color for the particular font. they're overridden if a control (or the reference control) has a non-zero (ie not fully transparent black) <textcolor> or <shadowcolor> set.

* added support for <angle> text to the button and label controls. don't really see the point of adding to the other controls at this stage - let me know if there is one in particular you need. it specifies the angle in degrees off the horizontal to draw the label at. an angle of 0 is horizontal, 90 degrees will be vertical read from bottom to top. 270 degrees is vertical read from top to bottom. the rotation is centered about the point that the label is usually positioned at: if it's top left aligned, it'll be rotated about the top left corner. if it's centered in both directions it'll be rotated about the center point etc.

* added include.xml. easiest way to remember how it works is that it just replaces the <include>name</include> tag with everything inside the <include name="name">...</include> tag from include.xml.

* added listitem.title, listitem.artist, listitem.album, listitem.tracknumber, listitem.genre, listitem.year infolabels - only valid for music files obviously (should return empty strings for video files).

new animation system

* the <visible> tag on all dialogs should be pretty much unused unless you only want the dialog to show in specific circumstances (such as the seekbar?)

* the <visible> tag for controls now just has the allowhiddenfocus attribute - all the other attributes are in the new <animation> tags.

* a new tag <animation> has been added to all windows and all controls. the attributes are:

effect - type of effect ("slide" or "fade")
start - start of the effect - single value for fade, coordinates for slides.
end - end of the effect - single value for fade, coordinates for slides.
time - time in ms of the effect.
delay - time in ms to delay before starting the effect.
acceleration - acceleration or deceleration of the fade effect. note that this has changed slightly - use a negative value for deceleration, a positive value for acceleration. a value of -1 will cause it to start fast and end with no velocity at all. a value of 1 will start with no velocity, ending with maximum velocity. you are allowed values outside the -1..1 range, so you can do bounce effects with an acceleration of -2 for instance (starts very fast, goes past final resting place where it slows to a stop, reverses and increases speed to resting place wher it stops).

the values are:
visible
hidden
windowopen
windowclose
focus
unfocus
visiblechange (creates both a visible and hidden animation - you specify the visible animation, it auto-generates the reverse hide animation - just a shortcut really.)

examples

<animation effect="fade" start="0" end="100" time="1000" delay="100">windowopen</animation>

will do a fade effect, starting transparent (0), ending fully opaqu e (100) in a time of 1 second, after delaying for 0.1 seconds. it'll occur when the window is opened.

<animation effect="slide" start="0,0" end="40,0" time="1000">focus</animation>

will do a slide effect when this control becomes focused. it starts at the usual control position (ie 0,0) and ends up (40,0) off from that.

defaults

if effect="fade", and it's an "in" effect (windowopen, visible, or focus) then start defaults to 0 and end is 100. if it's an "out" effect (windowclose, hidden, unfocus) then start is 100 and end is 0.

if effect="slide" then start and end are both defaulted to "0,0".

all animations are additive - that is, if 2 animations are in process at the same time, the results are added.

all animation timing begins at window render time - controls are allocated before the timing begins except where there is a delay, where they are allocated after the delay time.

any questions and/or bugs you find, please let me know!

cheers,
jonathan



a couple of notes for other changes that will be coming:

1. i'm going to check through for the "special" control id's throughout xbmc and get some sort of consistency for them (for instance, i'll make sure control id's 0 and 1 are always available, and will try and document them all).

2. i'm going to be looking into the positioning of the context menu and give you guys the ability to do that if you want. unsure how it'll go as yet though - will have to think about it.

3. i'd like your opinions on whether include.xml should replace references.xml, or whether it should be separate as it is currently. all of references.xml can easily be included via includes.xml. the disadvantage of it is it means multiple include.xml for each directory, so the "declare once, use many times" thing is defeated. your comments?

4. i'm going to see if i can simplify the font.xml file for ttf fonts - the idea i currently have is that i'll make the ttf font thing generic, with no actual font file specified - any ttf fonts xbmc finds either in the skin/fonts folder, or in the media/fonts folder within xbmc will use this same template.

5. anything else you guys want that makes things easier for you.

other than that, i don't think there's anything else really - i'm going to give you guys a little time to get used to the new system so it gets a good workout. assuming there isn't anything else major that needs looking at, i'll look to stabilise the skin and we'll get it set in stone as final.

cheers,
jonathan
well i guess this is probably the best place for this query.

cvs which included the new 1.90 skin system 8-1-05 has problems with 'textbox' and continues to do so even on latest cvs. i have noticed spin controls are now aligned on latest but there is absolutely 'no' text displayed in any textbox be it album,video info or something as simple as xbmchangelog script.

i checked over includes.xml and references then checked other skins and all have the same problem.

i tried manually having the textcolor set to white instead f using <include> incase it was invisible but still no go.

also the spin controls are not showing for the textbox so are the co-ords incorrect? or is the problem deeper than that?

edit : weather spin controls are in the wrong location aswell Smile

i know there has been a lot of changes within the past couple of days so these are probably nothing more than cosmetic Smile



nm me figured it out Wink



and?
(hardc0r3 @ jan. 10 2006,18:56 Wrote:nm me figured it out Wink
well i'm sure all the folks on the forum thank you kindly for sharing the fix!!!
(deanrparry @ jan. 10 2006,19:41 Wrote:
(hardc0r3 @ jan. 10 2006,18:56 Wrote:nm me figured it out Wink
well i'm sure all the folks on the forum thank you kindly for sharing the fix!!!
hrmm my post wasnt about your problem had my own little problem which i solved myself and then edited out .
having a few other issues since skin version change...

toggle buttons on the virtual keyboard seem to be broken, they work, but on change the labels disappear. try it with caps, and symbols

fadelabels on info windows (ie my music) seem to get information one time and not the next, very random behavior

numpad seems to have issues with displaying input as well, just open the numpad and put in an ip to see what i mean exactly, very strange begavior displaying the value, only one field displayed at a time?
here is my list of bugs i found at the moment...

1.) weather spin controls location

Image

2.) video osd settings with arial font -> problems with label location


Image

3.) player.paused visible tag

-> used in videofullscreen my video-pause.png is shown always

Quote:    <control>
     <description>pause image</description>
     <type>image</type>
     <id>16</id>
     <align>right</align>
     <posx>580</posx>
     <posy>75</posy>
     <height>64</height>
     <width>128</width>
     <visible>player.paused</visible>
     <texture>video-pause.png</texture>
     <colorkey>0</colorkey>
   </control>

-> the icon on home screen is only shown after switching back from a different window

Quote:    <control>
     <visible>player.paused</visible>
     <description>pause logo</description>
     <type>image</type>
     <id>0</id>
     <posx>380</posx>
     <posy>499</posy>
     <height>30</height>
     <texture>music-pause.png</texture>
   </control>

4.) dialogvideoinfo - plot is not available

Image

this is all for the moment

cheers ceomr



regards the textbox situation just add 'm_label = labelinfo;'  into guitextbox.cpp the same as below and recompile.

{
 m_updown.setspinalign(xbfont_center_y | xbfont_right, 0);
 m_ioffset = 0;
 m_label = labelinfo; ****only add this 1 line this allows the font to be displayed jm forgot it busy man Smile****
 m_iitemsperpage = 10;
 m_iitemheight = 10;
 m_ispinposx = ispinx;
 m_ispinposy = ispiny;
 m_imaxpages = 50;
 m_updown.setshowrange(true); // show the range by default
 controltype = guicontrol_textbox;
}

to fix the label location problem with sliders edit your videoosdsettings.xml skin file and add

<aligny>center</aligny>

under the defaultslider control - sliderex normally near the bottom of the skinfile *it is with pm3* this will align your text on the y axis.



Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33