Release plugin.video.themoviedb.helper - Access to TheMovieDb API for Skinners
#93
@jurialmunkey, I am seeing some strange behavior that I cannot explain.  

In my dialogvideoinfo, I have a hidden list that has the plugin's details call as content:

xml:
<include condition="String.IsEqual(ListItem.DBType,movie) + System.HasAddon(plugin.video.themoviedb.helper)">TMDbMovieDetails</include>

And that list in includes.xml is:

xml:

<include name="TMDbMovieDetails">
        <control type="list" id="5100">
            <left>-100</left>
            <top>-100</top>
            <width>100</width>
            <height>100</height>
            <itemlayout height="100" width="100" />
            <focusedlayout height="100" width="100" />
            <content>plugin://plugin.video.themoviedb.helper/?info=details&amp;type=movie&amp;tmdb_id=$INFO[ListItem.Property(tmdb_id)]</content>
        </control>
    </include>

I do this so that when I press i on a widget item from one of the plugin's widgets (say Upcoming Movies, for example), I can get as much information as possible to display in the info dialog (genre, director, writer, etc.)

This works well.  My issue is with the cast.  When I press i the first time on a widget item, my custom cast list does not display.  If I press back in the info dialog, and then press i again on the same widget item, the custom cast list does display.  The same thing happens even if it's not a widget, and I press i on any movie while browsing the library.

For completeness' sake, this is how I have coded my custom cast list:

xml:

<include name="TMDBCastItem">
        <param name="CastListItemID" />
        <definition>
            <item>
                <label>$INFO[Container(5100).ListItemAbsolute(1).Property(Cast.$PARAM[CastListItemID].Name)]</label>
                <label2>$INFO[Container(5100).ListItemAbsolute(1).Property(Cast.$PARAM[CastListItemID].Role)]</label2>
                <icon>$INFO[Container(5100).ListItemAbsolute(1).Property(Cast.$PARAM[CastListItemID].Thumb)]</icon>
                <visible>!String.IsEmpty(Container(5100).ListItemAbsolute(1).Property(Cast.$PARAM[CastListItemID].Name))</visible>
            </item>
        </definition>
    </include>

    <include name="TMDBCastListContent">
        <include content="TMDBCastItem">
            <param name="CastListItemID">1</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">2</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">3</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">4</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">5</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">6</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">7</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">8</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">9</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">10</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">11</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">12</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">13</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">14</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">15</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">16</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">17</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">18</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">19</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">20</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">21</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">22</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">23</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">24</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">25</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">26</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">27</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">28</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">29</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">30</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">31</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">32</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">33</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">34</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">35</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">36</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">37</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">38</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">39</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">40</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">41</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">42</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">43</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">44</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">45</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">46</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">47</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">48</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">49</param>
        </include>
        <include content="TMDBCastItem">
            <param name="CastListItemID">50</param>
        </include>        
    </include>

    <include name="TMDBCast">
        <control type="list" id="951001">
            <width>1180</width>
            <height>410</height>
            <onleft>951001</onleft>
            <onright>951001</onright>
            <onup>9000</onup>
            <scrolltime>200</scrolltime>            
            <orientation>horizontal</orientation>
            <include content="ActorLayout">
                <param name="viewid">951001</param>
            </include>
            <content>
                <include>TMDBCastListContent</include>
            </content>
        </control>
    </include>

And in dialogvideoinfo I have:

xml:

<control type="group">
            <posx>700</posx>
            <posy>640</posy>
            <width>1180</width>
            <height>410</height>
            <onup>9000</onup>
            <ondown>noop</ondown>
            <visible>!Control.HasFocus(10)</visible>
            <include condition="[!Skin.hasSetting(Enable.ExtendedInfo) | ListItem.IsCollection] + String.IsEmpty(Container(5100).ListitemAbsolute(0).Property(tmdb_id))">DefaultCast</include>
            <include condition="Skin.hasSetting(Enable.ExtendedInfo) + !String.IsEqual(ListItem.DBType,set) + String.IsEmpty(Container(5100).ListitemAbsolute(0).Property(tmdb_id))">CustomCast</include>
            <include condition="!String.IsEmpty(Container(5100).ListItemAbsolute(0).Property(tmdb_id))">TMDBCast</include>
        </control>


If I comment out the include for the hidden list from dialogvideoinfo.xml, the cast when browsing my library and pressing i on an item shows up instantly and on the first try.  Obviously, if I press i on a widget item from the plugin, none of the additional info is shown and neither is the custom cast list.

Any ideas why this could be happening? Thank you for your help.

Regards,

Bart
Reply


Messages In This Thread
RE: TheMovieDB Helper - by jurialmunkey - 2019-07-31, 11:47
RE: plugin.video.themoviedb.helper - Access to TheMovieDb API for Skinners - by bsoriano - 2019-08-13, 00:19
Logout Mark Read Team Forum Stats Members Help
plugin.video.themoviedb.helper - Access to TheMovieDb API for Skinners2