Kodi Community Forum

Full Version: Changes to Control.IsVisible for Pre-Eden?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Code:
<visible>!Window.IsVisible(2006) + !Control.IsVisible(514) + !Control.IsVisible(545) + !Control.IsVisible(535) + !Control.IsVisible(560)</visible>

Has some change been made to Control Visibility in recent builds? My VideoOverlay is still showing for those viewtypes with those id's even though I have the code above in VideoOverlay.xml.

It worked fine in Dharma 10.1.
I also have some troubles with wraplists, they don't "wrap" as they should when there are fewer items then 1 or 2.

Image

What have you people changed for EDEN? Tongue
frellAn Wrote:I also have some troubles with wraplists, they don't "wrap" as they should when there are fewer items then 1 or 2.

Image

What have you people changed for EDEN? Tongue

I had the same issue. Go and remove all unlocated visible conditions like >"-"< ... Look at my thread in this section " problems with animation in a fixedlist "
Cheers
I don't have any of those :/ Maybe this will be fixed in some later nightlies.
could You be more specific about that isVisible? what exactly isn't working?
Well the code for music and video overlay looks like this:

Code:
<window id="2004">
<defaultcontrol always="true">2</defaultcontrol>
<allowoverlay>yes</allowoverlay>
<visible>![Window.IsActive(2001) | Window.IsActive(2003) | Window.IsActive(2005)]</visible>
<visible>!Window.IsVisible(2006)</visible>
<visible>!Control.IsVisible(514)</visible>
<visible>!Control.IsVisible(545)</visible>
<visible>!Control.IsVisible(535)</visible>
<visible>!Control.IsVisible(560)</visible>
<controls>

<!-- VIDEO OVERLAY VIDEO LIBRARY -->
    <control type="group">
                <animation effect="slide" start="0,0" end="-200,0" delay="0" time="250"  reversable="false" condition="Window.Next(0)">conditional</animation>
                <animation effect="slide" start="-110,0" end="0,0" delay="1500" time="400"  reversable="false" condition="Window.IsActive(25)">conditional</animation>
                <animation effect="slide" start="-110,0" end="0,0" delay="900" time="300" reversable="false">WindowOpen</animation>
                <animation effect="slide" start="0,0" end="-200,0" delay="0" time="300"  reversable="false">WindowClose</animation>
        <animation effect="fade" start="100" end="0" time="500" reversible="false" condition="Window.IsVisible(106) | Window.IsVisible(100)">Conditional</animation>
        <animation effect="fade" start="15" end="100" time="350" delay="0" reversible="false" condition="!Window.IsVisible(106) + !Window.IsVisible(100)">Conditional</animation>
        <animation effect="zoom" start="100" end="125" time="400" center="700,500" tween="circle" easing="out" condition="Window.IsVisible(106) | Window.IsVisible(100)">Conditional</animation>

And the code for the wall view for example looks like this:

Code:
<includes>
    <include name="Wall">
        <control type="group">
            <include>InfoOpenClose2</include>
            <include>ContextFade3</include>
            <include>Keyboard</include>
            <animation type="WindowOpen" reversible="false">
                <effect type="fade" start="0" end="100" time="450" delay="0" />
                <effect type="zoom" start="250" end="100" time="350" center="auto" delay="0" />
            </animation>
            <animation type="WindowClose" reversible="false">
                <effect type="fade" start="100" end="0" time="350" delay="0" />
                <effect type="zoom" start="100" end="250" time="300" center="auto" delay="0" />
            </animation>
            <control type="panel" id="560">
                <viewtype label="Wall">icon</viewtype>
                <posx>1</posx>
                <posy>54</posy>
                <width>1416</width>
                <height>667</height>
                <scrolltime>350</scrolltime>
                <orientation>horizontal</orientation>
                <onup>300</onup>
                <ondown>71</ondown>
                <onleft>560</onleft>
                <onright>560</onright>
                <pagecontrol>71</pagecontrol>
                <preloaditems>2</preloaditems>
                <visible>Container.Content(Movies)</visible>
                <visible>!Substring(Container.FolderPath,videodb://1/1/) + !Substring(Container.FolderPath,videodb://1/3/) + !Substring(Container.FolderPath,videodb://1/4/) + !Substring(Container.FolderPath,videodb://1/5/) + !Substring(Container.FolderPath,videodb://1/6/) + !Substring(Container.FolderPath,videodb://1/7/) + !Substring(Container.FolderPath,videodb://1/8/)</visible>
                <visible>!Substring(Container.FolderPath,videodb://2/1/) + !Substring(Container.FolderPath,videodb://2/3/) + !Substring(Container.FolderPath,videodb://2/4/) + !Substring(Container.FolderPath,videodb://2/5/)</visible>
                <visible>!substring(container.folderpath,plugin://plugin.video.xbmcflicks)</visible>
                <visible>!Skin.HasSetting(HideWall)</visible>
                <include condition="Window.IsActive(25) | Window.IsActive(24)">TallPanel2</include>
            </control>

And even though the id is 560 for wall view and the <visible>!Control.IsVisible(560)</visible> should tell the bloody overlay not to show up, it still does!

Image

It works fine in Dharma 10.1
Quote:And even though the id is 560 for wall view and the <visible>!Control.IsVisible(560)</visible> should tell the bloody overlay not to show up, it still does!

Not true anymore jmarshall deliberately changed it so that dialogs no longer bleed through to the media windows below them because it was causing other issues (mainly with the videoinfo window)

So
Quote:<visible>!Control.IsVisible(514)</visible>
<visible>!Control.IsVisible(545)</visible>
<visible>!Control.IsVisible(535)</visible>
<visible>!Control.IsVisible(560)</visible>
will never be true because MusicOverlay.xml and VideoOverlay.xml do not have those controls

My best suggestion is is do what everyone else does and ditch MusicOverlay.xml and VideoOverlay.xml and just use includes in the windows you want them to show in
Ok thanks for clearing things up Smile

I guess I should use the <allowoverlay>yes</allowoverlay>? Do I just copy the video/musicoverlay code to includes.xml? What do I name it for <allowoverlay>yes</allowoverlay> to work?
Nah not quite checkout how I do it in confluence
here is the now playing code https://github.com/xbmc/xbmc/blob/master...l#L172-250
and this is an example of how to include it in a window https://github.com/xbmc/xbmc/blob/master...cs.xml#L32

Just make sure you put it at a position in your xml so its on top of everything you want it to be
Thank you for taking time in showing me this! Got it working now Smile

Do anyone know about the wraplist thing? Is it just a bug or something I have to change in the skin? Couldn't find anything in the "Changes for Eden" thread.
Jezz_X Wrote:Not true anymore jmarshall deliberately changed it so that dialogs no longer bleed through to the media windows below them because it was causing other issues (mainly with the videoinfo window)

So

will never be true because MusicOverlay.xml and VideoOverlay.xml do not have those controls

Interesting. Is this Music & VideoOverlay.xml only, or it does concern the other windows/dialogs as well?
Its every single dialog will/should no longer get bleed through of the windows under it when it comes to control ID's of course you can still use Window.IsVisible() but Control.IsVisible will not work
Jezz_X Wrote:Its every single dialog will/should no longer get bleed through of the windows under it when it comes to control ID's of course you can still use Window.IsVisible() but Control.IsVisible will not work

If I understand you right:

1. dialog bleeding is about correct Z order i.e. dialogs are rendered always on top
2. Control.IsVisible will work only for controls INSIDE dialogs i.e. dialog does not "see" controls in active window any more?
If you need to know what viewtype is currently in use for the Video Info screen then use a string compare.

ie

PHP Code:
<visible>stringcompare(Container.ViewMode,$LOCALIZE[31000])</visible

where the localised string is the name of the viewtype - assuming you've added it to your language files that is.

I used this in Alaska Revisited and it still works with the latest nightlies.
pecinko Wrote:If I understand you right:

1. dialog bleeding is about correct Z order i.e. dialogs are rendered always on top
2. Control.IsVisible will work only for controls INSIDE dialogs i.e. dialog does not "see" controls in active window any more?

1) has nothing to do with any of this
2) indeed that's what I mean
Pages: 1 2