music fullscreen automatically on selecting play
#1
I'm modifying my XBMC skin (based loosely on confluence) and I'm getting to the tricky bit of trying to change some of the behaviours rather than just the look. First issue is I'd like to have what I think is the music fullscreen window (the one with the music OSD dialog available) appear automatically when I click on a song to play from my Music list.
Does anyone know how I can do this?
Thanks
Reply
#2
I'd like to know it too. I'm working on Transparency skin. As far as I know, when I select Music on main menu, it uses the command <onclick>ActivateWindow(Music)</onclick> but... which is the xml file that controls this window? I hope that once knowing that, I must only add another <onclick> event under pressing on a file to play it.
Reply
#3
I was trying to figure this out recently too. anyone have any thoughts/clues/suggestions?
Reply
#4
Can't do that from the skin.
Reply
#5
Not quite right, it's possible. Smile

Add this e.g. as Custom_MusicFullscreenEnabler.xml or whatever. Before you add this, check if there is already a custom window with id 3001 and adjust it if necessary.
PHP Code:
<window type="dialog" id="3001">
    <
allowoverlay>no</allowoverlay>
    <
onload condition="!Window.IsActive(visualisation)">FullScreen</onload>
    <
visible>Player.HasAudio</visible>
    <
controls></controls>
</
window

With this nice little trick you can execute actions based on conditions.
Image
Reply
#6
LOL

Interesting hack. Nice idea, kudos.

Btw, how do you get out? Another custom window?
Reply
#7
Out? The custom window will be visible and therefore activated if Player.HasAudio is true which is true if you start playing music. If you stop playing, window will be deactivated.
Image
Reply
#8
That was my point - in order to get out you need to stop the playback, no background music would be possible.

Just saying.
Reply
#9
The window is just an invisible overlay... it doesn't get focus so no problem. It works just fine, I'm using the same technique in my skin for something else.
Image
Reply
#10
(2013-07-30, 21:07)`Black Wrote: Not quite right, it's possible. Smile

Add this e.g. as Custom_MusicFullscreenEnabler.xml or whatever. Before you add this, check if there is already a custom window with id 3001 and adjust it if necessary.
PHP Code:
<window type="dialog" id="3001">
    <
allowoverlay>no</allowoverlay>
    <
onload condition="!Window.IsActive(visualisation)">FullScreen</onload>
    <
visible>Player.HasAudio</visible>
    <
controls></controls>
</
window

With this nice little trick you can execute actions based on conditions.

I found this wasn't working with Party mode... this did the trick for me...

<window type="dialog" id="5555">
<allowoverlay>no</allowoverlay>
<onload condition="!Window.IsActive(visualisation)">FullScreen</onload>
<visible>IntegerGreaterThan(MusicPlayer.Time,1) + !SubString(Window(videolibrary).Property(TvTunesIsAlive),True)</visible>
<controls></controls>
</window>
If I have helped you or increased your knowledge, please click the 'thumbs up' button to give thanks :)
Reply
#11
(2015-03-06, 01:13)manfeed Wrote:
(2013-07-30, 21:07)`Black Wrote: Not quite right, it's possible. Smile

Add this e.g. as Custom_MusicFullscreenEnabler.xml or whatever. Before you add this, check if there is already a custom window with id 3001 and adjust it if necessary.
PHP Code:
<window type="dialog" id="3001">
    <
allowoverlay>no</allowoverlay>
    <
onload condition="!Window.IsActive(visualisation)">FullScreen</onload>
    <
visible>Player.HasAudio</visible>
    <
controls></controls>
</
window

With this nice little trick you can execute actions based on conditions.

I found this wasn't working with Party mode... this did the trick for me...

<window type="dialog" id="5555">
<allowoverlay>no</allowoverlay>
<onload condition="!Window.IsActive(visualisation)">FullScreen</onload>
<visible>IntegerGreaterThan(MusicPlayer.Time,1) + !SubString(Window(videolibrary).Property(TvTunesIsAlive),True)</visible>
<controls></controls>
</window>

Nice trick, but it seemed to mess up my video player though. It exits from full screen to the previous page (episode list, stream list etc.) after about 1 sec.

Any ideas?
Reply
#12
Keep in the Player.HasAudio eg:
Code:
<visible>Player.HasAudio + IntegerGreaterThan(MusicPlayer.Time,1) + !SubString(Window(videolibrary).Property(TvTunesIsAlive),true)</visible>

Also as a side note - Custom skin windows should be in the 1100 range.
Noli illegitimi carborundum


Reply
#13
(2015-03-19, 11:53)Mudislander Wrote: Keep in the Player.HasAudio eg:
Code:
<visible>Player.HasAudio + IntegerGreaterThan(MusicPlayer.Time,1) + !SubString(Window(videolibrary).Property(TvTunesIsAlive),true)</visible>

Also as a side note - Custom skin windows should be in the 1100 range.

Oh how can I miss that. I'm so dumb. Thanks

I have a follow up question if you guys don't mind. If I want to customize how the lyrics show up in the Music OSD (I mainly want to change the location and make it left justified then lose the blackish backdrop to make it look like it's part of the background) where should I start editing?

Thanks again
Reply
#14
(2015-03-19, 11:53)Mudislander Wrote: Also as a side note - Custom skin windows should be in the 1100 range.
I only realised this the other day when someone pointed out a bug with lcdproc showing the wrong label for a window.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
#15
I've used the code:
Code:
<window type="dialog" id="3001">
    <allowoverlay>no</allowoverlay>
    <onload condition="!Window.IsActive(visualisation)">FullScreen</onload>
    <visible>Player.HasAudio</visible>
    <controls></controls>
</window>

Saved it as: Custom_MusicFullscreenEnabler.xml

And copied it to the eminence skin directory on my OSMC (Pi):
smb://192.168.1.85/osmc/.kodi/addons/skin.eminence/1080i/

But it's not working (no music is launching fullscreen).

EDIT
please ignore this post, as it's working for me now 100%.
Reply

Logout Mark Read Team Forum Stats Members Help
music fullscreen automatically on selecting play3