Kodi Community Forum

Full Version: HELP!! Auto cast list like Alaska-Revisited
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Howdy all, I hope someone out there can help me with a problem that has been driving me totally mental over the last few days.

In VideoInfo.xml I have been trying to remove the cast button like Alaska-Revisited, without losing the cast functionality, ie you press up and the cast list is selected.

Sounds easier than it is - alaska-revisitied has a couple of 'hidden' extra buttons up the top to help acheive this. I understand whats going on but after poring over my code for hours (literally) I am at a dead end.

Its close, very close, when I press up the cast panel gets focus but once it has focus pressing up and down goes back to the other control. If I enable the cast button and manually click it then it all works as it should. Grrrr.

Here is the relevant code, I'm hoping someone can see the problem:

Code:
...
<control type="button" id="7050">
    <texturefocus>-</texturefocus>
    <texturenofocus>-</texturenofocus>
    <onfocus>SendClick(movieinformation,5)</onfocus>
    <onfocus>SetFocus(5)</onfocus>
</control>
<control type="button" id="7051">
    <texturefocus>-</texturefocus>
    <texturenofocus>-</texturenofocus>
    <onfocus>SendClick(movieinformation,5)</onfocus>
    <onfocus>SetFocus(50)</onfocus>
</control>
<control type="button" id="5">
    <label>-</label>
    <onfocus>SetFocus(50)</onfocus>
</control>

...

<!-- CAST PANEL -->
<control type="panel" id="50">
    <posx>505</posx>
    <posy>270</posy>
    <width>360</width>
    <height>150</height>
    <onleft>7050</onleft>
    <onright>7050</onright>
    <onup>50</onup>
    <ondown>50</ondown>
    <viewtype label="">list</viewtype>
    <pagecontrol>61</pagecontrol>
    <scrolltime>200</scrolltime>
    <orientation>vertical</orientation>
    <itemlayout height="22" width="430">
        <control type="label">
            <posx>10</posx>
            <posy>0</posy>
            <width>410</width>
            <height>21</height>
            <font>cirrus_20</font>
            <align>left</align>
            <aligny>center</aligny>
            <selectedcolor>white</selectedcolor>
            <info>ListItem.Label</info>
        </control>
    </itemlayout>
    <focusedlayout height="22" width="430">
        <control type="label">
            <posx>10</posx>
            <posy>0</posy>
            <width>410</width>
            <height>21</height>
            <font>cirrus_20</font>
            <align>left</align>
            <aligny>center</aligny>
            <textcolor>orange</textcolor>
            <info>ListItem.Label</info>
        </control>
    </focusedlayout>
</control>

<!-- Actor thumb -->
<control type="image">
    <description>Actor image</description>
    <posx>270r</posx>
    <posy>70</posy>
    <width>230</width>
    <height>345</height>
    <texture diffuse="maskposter.png">$INFO[Container(50).Listitem.Icon]</texture>
    <aspectratio>stretch</aspectratio>
    <visible>Control.HasFocus(50)</visible>
</control>

...

<!-- Normal Buttons PLAY, REFRESH, FANART, CAST ETC -->
<control type="grouplist" id="9000">
    <posx>770r</posx>
    <posy>625</posy>
    <width>760</width>
    <height>40</height>
    <itemgap>2</itemgap>
    <align>center</align>
    <orientation>horizontal</orientation>
    <onleft>9000</onleft>
    <onright>9000</onright>
    <onup>7051</onup>
    <ondown>9000</ondown>
    <control type="togglebutton" id="8">
        <description>Play/browse to Show</description>
        <include>ButtonVideoInfoCommonValues</include>
        <label>208</label>
        <alttexturefocus>button-backFO.png</alttexturefocus>
        <alttexturenofocus>button-backNF.png</alttexturenofocus>
        <altlabel>1024</altlabel>
        <usealttexture>Container.Content(TVShows)</usealttexture>
    </control>
    <control type="button" id="6">
        <description>Refresh</description>
        <include>ButtonVideoInfoCommonValues</include>
        <label>184</label>
    </control>
    <control type="button" id="10">
        <description>Get Thumb</description>
        <include>ButtonVideoInfoCommonValues</include>
        <label>13405</label>
    </control>
    <control type="button" id="12">
        <description>Get Fanart</description>
        <include>ButtonVideoInfoCommonValues</include>
        <label>20413</label>
    </control>
    <!-- <control type="button" id="11">
        <description>Play Trailer</description>
        <include>ButtonVideoInfoCommonValues</include>
        <label>20410</label>
        <visible>!IsEmpty(ListItem.Trailer)</visible>
    </control>
    <control type="button" id="5">
        <description>Cast</description>
        <include>ButtonVideoInfoCommonValues</include>
        <label>Cast</label>
    </control> -->
</control>

If more info is needed let me know. Thanks in advance
I had the same problem when I was trying to get this working but finally solved it.

What's happening is it's giving the focus back to the current view because one of the video viewtypes has the same id (50) so you'll have to renumber that something else. Renumbering the actual cast list doesn't work as that hardcoded into XBMC.
Hitcher Wrote:I had the same problem when I was trying to get this working but finally solved it.

What's happening is it's giving the focus back to the current view because one of the video viewtypes has the same id (50) so you'll have to renumber that something else. Renumbering the actual cast list doesn't work as that hardcoded into XBMC.

I was starting to think something like that was the problem but would never have worked it out myself - thanks mate!
Turns out the view with ID 50 was the common list view so its taken a whole lot of changes to sort it out, virtually every view!
Working now nicely so thanks again.
Mind getting a reproducible case in a simple skin that I can play with? Ideally we shouldn't have these clashes between dialogs and underlying windows.
jmarshall Wrote:Mind getting a reproducible case in a simple skin that I can play with? Ideally we shouldn't have these clashes between dialogs and underlying windows.

My github repo currently has the version of my skin with the problem as I haven't pushed my fixed one yet, you can download it from there. Dunno if its simple enough but theres plenty of commenting (mainly so I know what I'm looking at). There is also a file called DialogVideoInfo-CAST BUTTON WORKING.xml that shows kind of how it should look.

Please let me know once you've downloaded so I can push my fixed version.

https://github.com/crookas/skin.cirrus

FYI: Its built from Confluence which has id=50 for its common list view. To fix the issue I had to change the id of that view and then change a whole heap of references to 50 in most of the other xml files. Took ages.
I have it downloaded. Probably won't be able to test it for a couple of days.

Cheers,
Jonathan