Posts: 26,215
Joined: Oct 2003
Reputation:
187
Not possible, and unlikely to be added for quite some time.
Posts: 888
Joined: Dec 2006
Reputation:
15
freezy
Team-XBMC Android Remote Developer
Posts: 888
Well I'm on the EPG grid of the TV guide, and each programme is drawn as a box in a timeline. Obviously not every programme has the same duration, so the boxes vary in width. In order to skin this seriously, a dynamic width parameter is indispensable. Maybe there is another solution?
Posts: 3,909
Joined: Dec 2004
Reputation:
20
Nuka1195
Skilled Python Coder
Posts: 3,909
if it worked it would be:
<width>$INFO[ListItem.Property(duration)]</width>
there would be advantages to running everything thru the function that converts $INFO[].
not sure if it's even possible.
disadvantages would be speed?
Posts: 26,215
Joined: Oct 2003
Reputation:
187
Why do you need anything additional to what the EPG control currently supplies? This seems to be able to do most things that one would wish an EPG to do.
I'm sure alcoheca is open to modifications to the code if it's deemed necessary though!
The info parsing is done by:
1. Storing an integer which is generated from g_infoManager.TranslateString().
2. At "use" time (ideally a maximum of one time per frame), using that integer to lookup a label from g_infoManager.GetLabel(). If you're within a GUIListItemLayout, then the info is pushed, so you just update it in UpdateInfo().
And yes, the reason that everything isn't INFO-izable is speed.
We almost certainly need to switch to a fully push based information system if we go to that extent, and that is non-trivial to achieve (a parameter could be both a data "sink" or a data "source" for instance - infinite loop fun and games).
Cheers,
Jonathan
Posts: 888
Joined: Dec 2006
Reputation:
15
freezy
Team-XBMC Android Remote Developer
Posts: 888
Hey Jonathan,
thanks for the explanations. The thing with the current EPG is that it's really just one image per programme box. That means you can't really add decent borders or anything without the x-axis being stretched. I'm playing with a dark glow around each box in order to achieve a slight 3D effect, because just a flat color (or gradient) without anything around doesn't look so good.
So the ideal solution would be using three slices (left border, right border and middle, where only the middle slice can be stretched). I had partial success using several image controls with the same ID. Where I'm stuck now is that my right slice has the same width as the middle slice, though it should not stretch due to "<aspectratio align="right">keep</aspectratio>" usage. Just that this tag seems to be ignored (or too late applied due to resize by code) and it still stretches.
But I'm in contact with alcoheca, he just wasn't around yesterday. He's actually very forthcoming.
Posts: 3,909
Joined: Dec 2004
Reputation:
20
Nuka1195
Skilled Python Coder
Posts: 3,909
how about running <include> thru GetLabel()?
that may be enough for some things.
Posts: 26,215
Joined: Oct 2003
Reputation:
187
Use the border attribute of the texture to stop it stretching in the border region.
Cheers,
Jonathan