(2018-09-27, 23:27)manfeed Wrote: @mardukL
I have adapted my method according to what you suggested. Now there are 4 xml files and skinhelper addon must be installed. In case you (or anyone else) liked to test it here is the link with the files...
http://www.mediafire.com/file/4p2fji30fx...d.rar/file
Thank you!
Indeed working good.
but i think about to not use custom windows by do the following.
Just a theory atm(untested, as i just on mobile) , but maybe you like test too.
Edited : Tested and working too :-)
myvideonav.xml , check if exist and cancel alarms if needed
xml:
<onload>RunScript(script.skin.helper.service,action=fileexists,file=$INFO[ListItem.Path,,theme.mp3],skinstring=ListItem.OSTTheme)</onload>
<onunload condition="System.HasAlarm(themeplayback_delay)">PlayerControl(Stop)</onunload>
<onunload condition="System.HasAlarm(themeplayback_delay)">CancelAlarm(themeplayback_delay,silent)</onunload>
<onunload condition="System.HasAlarm(themeplayback_delay)">CancelAlarm(SetThemplayProperty,silent)</onunload>
myvideonav.xml , or *some other/custom*.xml ,where you place your own includes for your skin
xml:
<!-- play ost theme-->
<include name="play_OST_Theme">
<control type="button">
<visible>false</visible>
<onfocus condition="[!String.IsEmpty(Skin.String(ListItem.OSTTheme)) + Skin.HasSetting(LibraryOSTthemes)] + ![ListItem.IsCollection | String.Contains(ListItem.Path,http)]">AlarmClock(SetThemplayProperty,SetProperty(PlayingOST,True,home),0:03,silent)</onfocus>
<onfocus condition="[!String.IsEmpty(Skin.String(ListItem.OSTTheme)) + Skin.HasSetting(LibraryOSTthemes)] + ![ListItem.IsCollection | String.Contains(ListItem.Path,http)]">AlarmClock(themeplayback_delay,PlayMedia($ESCINFO[ListItem.Path,,theme.mp3]),0:03,silent)</onfocus>
<onunfocus condition="[!String.IsEmpty(Skin.String(ListItem.OSTTheme)) + Skin.HasSetting(LibraryOSTthemes)] + ![ListItem.IsCollection | String.Contains(ListItem.Path,http)]">Playercontrol(Stop)</onunfocus>
<onunfocus condition="System.HasAlarm(themeplayback_delay)">CancelAlarm(themeplayback_delay,silent)</onunfocus>
<onunfocus condition="System.HasAlarm(SetThemplayProperty)">CancelAlarm(SetThemplayProperty,silent)</onunfocus>
<onunfocus condition="!String.IsEmpty(Window(home).Property(PlayingOST))">ClearProperty(PlayingOST,home)</onunfocus>
</control>
</include>
use this in <fosusedlayout> group in your views
xml:
<include>play_OST_Theme</include>
use this in your (foobar).xml - if you use a "currently playing info bar" , for your visible tag
xml:
<visible>Player.HasAudio + String.IsEmpty(Window(home).Property(PlayingOST))</visible>