Overview of Skin loading and running workflow
#16
(2013-04-08, 01:56)jmarshall Wrote: Maybe we should wiki-fy this Smile

Nod
Reply
#17
There are a few things that would probably help on weaker CPU/GPUs. All are CSS/HTML inspired:

1. We are missing (or I am not aware of its existence) a way to have image repeating. Say you have small pattern art - you want it to fill the screen, but it would not look good stretched or scaled. Pretty much what you can have with html background image in internet browsers.

2. Rounded edges & diffuse images. This is currently both inefficient (you need diffuse texture to make rounded edges effect) and insufficient when you want to keep aspectratio of a thumb. Essentially, diffuse image can not be scaled or your rounded corners will look bad. We need a way to define how much rounded corners should be and this would ideally need to be applied to a thumb after strech/scale/keep operations are done.

3. Drop shadows without extra textures
My skins:

Amber
Quartz

Reply
#18
I think image repeating existed. Found some of these in fusion:

<texture repeatx="true">
Image [RELEASE] Metroid
Image [RELEASE] IrcChat
Reply
#19
I can't find them?
Reply
#20
Interesting.

However, it is either not working or I'm using wrong syntax.
My skins:

Amber
Quartz

Reply
#21
(2013-04-09, 08:02)Hitcher Wrote: I can't find them?

They were in a version for Dharma i believe. There are 2 left in Veda.
In SettingsProfile.xml list id="2" first texture.

And no it's not working, i have been replacing them all over.
Image [RELEASE] Metroid
Image [RELEASE] IrcChat
Reply
#22
It doesn't work (and never did).
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
#23
JM, what do you think about suggestions:

- no, too complicated
- maybe, but not just now
- create a ticket
- let's think about it some more

;)
My skins:

Amber
Quartz

Reply
#24
Actually, I don't really see the use for this particular one (the tiling thing). I'm not convinced that with today's GPUs, even on very low powered boxes, it would save all that much, other than perhaps some GPU memory, but low GPU memory really isn't the issue.

In actually implementing it there'd be some changes required, such as it would be workable with only power of 2 textures.
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
#25
Never mind then. All 3 suggestions were intended to speed things up. If the benefits are minimal, then it's not worth it.
My skins:

Amber
Quartz

Reply
#26
The rounding of corners thing is potentially doable, though I'm not sure exactly how to define what should happen in all cases. Basically you don't want the texture to scale at all (other than the initial sizing to fit into whatever box is defined by width/height etc.), but you want the diffuse to scale with the border unscaled.
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
#27
This would be especially useful for the context menu background and, in the future, auto-sizing controls as we can just reuse a single texure. Nod
Reply
#28
(2013-04-10, 09:38)jmarshall Wrote: Basically you don't want the texture to scale at all (other than the initial sizing to fit into whatever box is defined by width/height etc.), but you want the diffuse to scale with the border unscaled.

Spot on. Only difference might be that I thought it would be doable in a code, without using diffuse.png i.e.:

<texture>foo</texture>
<aspectratio>bar</aspectratio>
<roundcorners corner="8">true</roundcorners>

Meaning use defined texture, apply defined scale/stretch/keep and afterwards round it's corners by 8px.

No need to use diffuse texture if you're not after some special effects.

So, saving speed AND allowing round corners on textures and thumbs where scale/strech to a skiner defined dimensions is not possible.

Hitcher gave some examples of system textures and another example are thumbs provided by addons, where we can not know dimensions and aspectratios.

Again, if it would be to complicated or you think we should stick to diffuse.png to achieve this - correct or just drop suggestion accordingly.
My skins:

Amber
Quartz

Reply
#29
It would be done using a texture either way, and doing so allows more than just a round corner to be added - you can do other types (angled or whatever) and have them different on each corner.

The trick is how to interpret the coordinates of the texture, and how to setup the XML without making it overly complicated code-wise (we don't want the ability for texture border attribute as well as some diffuse bordering).
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
#30
(2013-04-11, 09:23)jmarshall Wrote: It would be done using a texture either way, and doing so allows more than just a round corner to be added - you can do other types (angled or whatever) and have them different on each corner.

The trick is how to interpret the coordinates of the texture, and how to setup the XML without making it overly complicated code-wise (we don't want the ability for texture border attribute as well as some diffuse bordering).
Jonathan,

I go along with the boys on this one, would be very handy. From what I can see on this one, what we are after is a generated texture for the four corners with the other five regions of the image to be handled as they normally are. So for pecinko's example but changed slightly
<texture corner="10"> would internally generate a 10x10 diffuse texture that is rotated by 90deg from each preceding corner. The texture is basically a quarter circle (generated by whatever algorithm is appropriate), inside of circle is solid, outside transparent. So no matter the size of the image we know the rounding will have a radius of whatever we set corner to. As to alternate corner clipping types, not sure how useful they would be, but there is no reason why you could not maybe have a number of different options so maybe something like <texture corner45="10"> for a 45deg corner clip inside a 10x10 box.

Now back slightly from this discussion to a question about what is better coding wise for defining textures in controls. If I have a texture in a control that I don't want shown, what is the better way (in terms of efficiency) to code this. For example
PHP Code:
        <texturefocus border="8">default-button.png</texturefocus>
        <
texturenofocus>-</texturenofocus

Do I drop <texturenofocus> completely, code it as <texturenofocus></texturenofocus> or continue to code it as I currently do ?

Wyrm (xTV-SAF)
If required a FULL debug log can now be submitted from the skin in settings->skin settings->support. Or follow instructions here if you can't access skin settings.

FAQ's located at :- http://kodi.wiki/view/Add-on:AppTV
Reply

Logout Mark Read Team Forum Stats Members Help
Overview of Skin loading and running workflow0