Forum
[IDEA] Buffer xbian-config in XBMC - Printable Version

+- Forum (http://forum.xbian.org)
+-- Forum: Software (/forum-6.html)
+--- Forum: Testing & Experimental (/forum-21.html)
+--- Thread: [IDEA] Buffer xbian-config in XBMC (/thread-1969.html)



Buffer xbian-config in XBMC - IriDium - 5th Jan, 2014 05:33 AM

Whilst xbian-config in XBMC is slicker - it is slightly annoying to have to regenerate everything each time you go into it again.

Could the screens not be buffered so that within a "session" you don't need to regenerate everything again?


RE: Buffer xbian-config in XBMC - f1vefour - 5th Jan, 2014 10:18 AM

I suggested this a while back but the way it's currently implemented makes it unlikely.


RE: Buffer xbian-config in XBMC - mk01 - 7th Jan, 2014 10:44 PM

the problem is not with loading settings - thus buffering it.

problem is that xbmc gui xml language doesn't allow dynamic structures.

there are no variables, no objects, some basic scripting with static structure and items pre-rendered statically.
imagine it like old fashioned .html code written all the way manually.

Code:
<control type="list" id="9000">
                <posx>10</posx>
                <posy>90</posy>
                <width>260</width>
                <height>481</height>
                <itemgap>-1</itemgap>
                <onup>9000</onup>
                <ondown>9000</ondown>
                <onleft>9001</onleft>
                <onright>9001</onright>
                <pagecontrol>-</pagecontrol>
                <scrolltime>300</scrolltime>
                <itemlayout height="60" width="260">
                    <control type="image">
                        <posx>0</posx>
                        <posy>0</posy>
                        <width>260</width>
                        <height>60</height>
                        <texture border="5">MenuItemNF.png</texture>
                    </control>
                    <control type="label" id="95">
                        <description>Menu Label no focus</description>
                        <posx>250</posx>
                        <posy>10</posy>
                        <height>60</height>
                        <width>241</width>
                        <align>right</align>
                        <font>font13_title</font>
                        <textcolor>grey2</textcolor>
                        <label>$INFO[ListItem.Label]</label>
                    </control>
                    <control type="label" id="98">
                        <description>click to load Label focus</description>
                        <posx>250</posx>
                        <posy>35</posy>
                        <height>20</height>
                        <width>241</width>
                        <align>right</align>
                        <font>font10</font>
                        <textcolor>grey2</textcolor>
                        <label>$INFO[ListItem.Label2]</label>
                    </control>
                </itemlayout>
                <focusedlayout height="60" width="260">
                    <control type="image">
                        <posx>0</posx>
                        <posy>0</posy>
                        <width>260</width>
                        <height>60</height>
                        <texture border="5">MenuItemFO.png</texture>
                    </control>
                    <control type="label" id="96">
                        <description>Menu Label focus</description>
                        <posx>250</posx>
                        <posy>10</posy>
                        <height>60</height>
                        <width>241</width>
                        <align>right</align>
                        <font>font13_title</font>
                        <textcolor>white</textcolor>
                        <label>$INFO[ListItem.Label]</label>
                    </control>
                    <control type="label" id="97">

this is "cut" from one tiny list box and we have not even defined structure there. then you have to feed the texts, options (possible values) etc.

belese created dynamic renderer which takes python code & objects & workflows and generates the code for xbmc. that means new options values functions are added automatically without altering the addons design side. that means that you can control services without myself or belese to fill the table. you can add yourself.

that's why you can control updates, manage packages, snapshots. use backup and restore functions directly in the interface.

without this, update "updates list" would mean issue new xbian-config version with rewriten .xml file. btw: the few options you see within it is 120k of xml code.

of course one can think of another approaches, like render on demand if you think your list is wrong. and some others. but it looks like all this is just making from bad thing worse thing. XBMC wasn't designed for everything.

Gotham is introducing something new in that area. Not yet looked into it.