mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 15:58:31 +00:00
added skin blackhole
This commit is contained in:
43
skins/blackhole/xmlfiles/displayaudiotracks.xml
Normal file
43
skins/blackhole/xmlfiles/displayaudiotracks.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE displayaudiotracks SYSTEM "../../../dtd/displayaudiotracks.dtd">
|
||||
|
||||
<displayaudiotracks x="25%" y="0" width="50%" height="100%" fadetime="{fadeTime}">
|
||||
<!-- Available Variables background:
|
||||
{numtracks} number of displayed tracks
|
||||
-->
|
||||
<background>
|
||||
<area x="0" y="{areaheight} - {numtracks} * {areaheight} / 10 - {areaheight} / 10" width="100%" height="{areaheight} / 10 + {areaheight} / 10 * {numtracks}" layer="1">
|
||||
<fill color="{clrBlackTrans}" />
|
||||
</area>
|
||||
</background>
|
||||
|
||||
<!-- Available Variables header:
|
||||
{numtracks} number of displayed tracks
|
||||
{title} title of menu
|
||||
-->
|
||||
<header>
|
||||
<area x="0" y="{areaheight} - {numtracks} * {areaheight} / 10 - {areaheight} / 10" width="100%" height="{areaheight} / 10" layer="2">
|
||||
<drawtext align="center" valign="center" font="{semibold}" fontsize="80%" color="{clrWhite}" text="{title}" />
|
||||
</area>
|
||||
</header>
|
||||
|
||||
<!-- Available Variables header:
|
||||
{numelements} number of displayed tracks
|
||||
-->
|
||||
<menuitems x="0" y="{areaheight} - {numelements} * {areaheight} / 10" orientation="vertical" width="100%" height="{numelements} * {areaheight} / 10" align="top" numlistelements="{numelements}">
|
||||
<!-- Available Variables auidotrack listelement:
|
||||
{current} true if item is currently selected
|
||||
{title} title of auio track
|
||||
-->
|
||||
<listelement>
|
||||
<area x="1%" width="98%" layer="2">
|
||||
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="{areawidth}" height="{areaheight}*0.98"/>
|
||||
<drawimage condition="{current}" imagetype="skinpart" path="menubuttonactive" x="0" y="0" width="{areawidth}" height="{areaheight}*0.98"/>
|
||||
</area>
|
||||
<area x="1%" width="98%" layer="3">
|
||||
<drawtext x="10" valign="center" font="{regular}" fontsize="60%" color="{clrWhite}" text="{title}" />
|
||||
</area>
|
||||
</listelement>
|
||||
</menuitems>
|
||||
|
||||
</displayaudiotracks>
|
||||
269
skins/blackhole/xmlfiles/displaychannel.xml
Normal file
269
skins/blackhole/xmlfiles/displaychannel.xml
Normal file
@@ -0,0 +1,269 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE displaychannel SYSTEM "../../../dtd/displaychannel.dtd">
|
||||
|
||||
<displaychannel x="0" y="70%" width="100%" height="30%" fadetime="{fadeTime}">
|
||||
|
||||
<background>
|
||||
<!-- global background -->
|
||||
<area x="0" y="0" width="100%" height="100%" layer="1">
|
||||
<drawimage imagetype="skinpart" path="displaychannelback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<!-- epg background -->
|
||||
<area x="17%" y="36%" width="67%" height="40%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaychannelbackepg" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<!-- watch background -->
|
||||
<area x="86%" y="20%" width="{areaheight}*0.6" height="{areaheight}*0.6" layer="2">
|
||||
<drawimage imagetype="skinpart" path="watchback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</background>
|
||||
|
||||
<!-- Available Variables channelinfo:
|
||||
{channelnumber} Number of Channel, with "-" in case of channel switching
|
||||
{channelname} Name of current Channel
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{channelid} ChannelID as path to display channel logo
|
||||
{switching} true if a number is pressed on the remote to switch to a dedicated channel
|
||||
-->
|
||||
<channelinfo>
|
||||
<area x="17%" y="16%" width="67%" height="18%" layer="2">
|
||||
<drawtext x="0" y="0" font="{semibold}" fontsize="100%" color="{clrWhite}" text="{channelnumber} {channelname}" />
|
||||
</area>
|
||||
<area x="2%" y="20%" width="13%" height="70%" layer="2">
|
||||
<drawimage cache="true" imagetype="channellogo" path="{channelid}" width="100%" height="100%" align="center" valign="center"/>
|
||||
</area>
|
||||
</channelinfo>
|
||||
|
||||
<!-- Available Variables epginfo:
|
||||
{currenttitle} Title of the current Schedule
|
||||
{currentsubtitle} Subtitle of the current Schedule
|
||||
{currentstart} Start of current Schedule in hh:mm
|
||||
{currentstop} End of current Schedule in hh:mm
|
||||
{currentduration} Duration of current Schedule in min
|
||||
{currentdurationhours} Duration, full hours
|
||||
{currentdurationminutes} Duration, rest of minutes
|
||||
{currentelapsed} Elapsed time of current Schedule in min
|
||||
{currentremaining} Remaining time of current Schedule in min
|
||||
{currentrecording} true if current Schedule is recorded
|
||||
{hasVPS} true if current Schedule has VPS
|
||||
{nexttitle} Title of next Schedule
|
||||
{nextsubtitle} Subtitle of next Schedule
|
||||
{nextstart} Start of next Schedule in hh:mm
|
||||
{nextstop} Stop of next Schedule in hh:mm
|
||||
{nextduration} Duration of next Schedule in min
|
||||
{nextdurationhours} Duration, full hours
|
||||
{nextdurationminutes} Duration, rest of minutes
|
||||
{nextrecording} true if next Schedule will be recorded
|
||||
-->
|
||||
<epginfo>
|
||||
<area x="17%" y="37%" width="66%" height="20%" layer="2">
|
||||
<drawtext name="starttime" x="1%" valign="center" font="{regular}" fontsize="80%" color="{clrWhite}" text="{currentstart}" />
|
||||
<drawtext align="right" name="elapsed" valign="center" font="{regular}" fontsize="75%" color="{clrWhite}" text="{currentelapsed}/{currentduration}min" />
|
||||
<drawtext x="{width(starttime)} + 40" y="0" width="{areawidth} - {width(starttime)} - {width(elapsed)} - 45" font="{regular}" fontsize="70%" color="{clrWhite}" text="{currenttitle}" />
|
||||
<drawtext x="{width(starttime)} + 40" y="56%" width="{areawidth} - {width(starttime)} - {width(elapsed)} - 45" font="{regular}" fontsize="45%" color="{clrWhite}" text="{currentsubtitle}" />
|
||||
</area>
|
||||
<area x="17%" y="57%" width="66%" height="20%" layer="2">
|
||||
<drawtext name="starttime" x="1%" valign="center" font="{regular}" fontsize="80%" color="{clrGray}" text="{nextstart}" />
|
||||
<drawtext align="right" name="duration" valign="center" font="{regular}" fontsize="75%" color="{clrGray}" text="{nextduration}min" />
|
||||
<drawtext x="{width(starttime)} + 40" y="0" width="{areawidth} - {width(starttime)} - {width(duration)} - 45" font="{regular}" fontsize="70%" color="{clrGray}" text="{nexttitle}" />
|
||||
<drawtext x="{width(starttime)} + 40" y="55%" width="{areawidth} - {width(starttime)} - {width(duration)} - 45" font="{regular}" fontsize="40%" color="{clrGray}" text="{nextsubtitle}" />
|
||||
</area>
|
||||
</epginfo>
|
||||
|
||||
<!-- Available Variables progressbar:
|
||||
{start} Start of current Schedule in hh:mm
|
||||
{stop} End of current Schedule in hh:mm
|
||||
{duration} Total Duration of current Schedule in seconds
|
||||
{elapsed} Elapsed time of current Schedule in seconds
|
||||
{remaining} Remaining time of current Schedule in seconds
|
||||
-->
|
||||
<progressbar>
|
||||
<area x="67%" y="5%" width="30%" height="5%" layer="4">
|
||||
<drawimage imagetype="skinpart" path="progressbar" x="{areaheight}/2" y="0" width="{elapsed}/{duration}*{areawidth} - {elapsed}/{duration}*{areaheight}" height="100%"/>
|
||||
</area>
|
||||
<area x="67%" y="5%" width="30%" height="5%" layer="5">
|
||||
<drawimage imagetype="skinpart" path="progressbarend" x="{areaheight}/2 + {elapsed}/{duration}*{areawidth} - {elapsed}/{duration}*{areaheight} - 1" y="0" width="{areaheight}/2" height="100%"/>
|
||||
</area>
|
||||
</progressbar>
|
||||
|
||||
<progressbarback>
|
||||
<area x="67%" y="5%" width="30%" height="5%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="progressbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</progressbarback>
|
||||
|
||||
<!-- Available Variables statusinfo:
|
||||
{isRadio} true if channel is a radio channel
|
||||
{hasVT} true if channel has video text
|
||||
{isStereo} true if a stereo audio trac is available
|
||||
{isDolby} true if a dolby audio track is available
|
||||
{isEncrypted} true if channel is encrypted
|
||||
{isRecording} true if currently a recording is running on this channel
|
||||
{newmails} true if mailbox plugin is installed and new mails are available
|
||||
-->
|
||||
<statusinfo>
|
||||
<area x="17%" y="80%" width="67%" height="15%" layer="3">
|
||||
<drawimage condition="{isDolby}" imagetype="icon" path="ico_dolby" x="{areaheight}*6 + 20" y="0" width="{areaheight}*3" height="{areaheight}"/>
|
||||
<drawimage condition="{hasVT}" imagetype="icon" path="ico_videotext" x="{areaheight}*9 + 30" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{isEncrypted}" imagetype="icon" path="ico_crypted" x="{areaheight}*10 + 40" y="0" width="{areaheight}*2" height="{areaheight}"/>
|
||||
</area>
|
||||
</statusinfo>
|
||||
|
||||
<!-- Available Variables audioinfo:
|
||||
{numaudiotracks} number of available audio tracks for current channel
|
||||
{audiochannel} 0 if current channel is stereo, 1 for left chanel only, 2 for right channel only
|
||||
{trackdesc} description of the current audio track
|
||||
{tracklang} language of the current audio track
|
||||
-->
|
||||
<audioinfo>
|
||||
</audioinfo>
|
||||
|
||||
<!-- Available Variables screenresolution:
|
||||
{screenwidth} width of currently displayed channel in px
|
||||
{screenheight} height of currently displayed channel in px
|
||||
{resolution} resolution: hd1080i, hd720p, sd576i
|
||||
{aspect} screen aspect, each 4:3, 16:9 or 21:9
|
||||
{isHD} true for hd1080i and hd720p
|
||||
{isWideScreen} true if aspect is 16:9 or 21:9
|
||||
-->
|
||||
<screenresolution>
|
||||
<area x="17%" y="80%" width="67%" height="15%" layer="4">
|
||||
<drawimage imagetype="icon" path="ico_{resolution}" x="0" y="0" width="{areaheight}*3" height="{areaheight}"/>
|
||||
<drawimage condition="{isWideScreen}" imagetype="icon" path="ico_widescreen" x="{areaheight}*3 + 10" y="0" width="{areaheight}*3" height="{areaheight}"/>
|
||||
</area>
|
||||
</screenresolution>
|
||||
|
||||
<!-- Available Variables dvbdeviceinfo:
|
||||
{prevAvailable} true if previous Channel Group is avaialble
|
||||
{nextAvailable} true if next Channel Group is avaialble
|
||||
{group} Name of current Channel Group
|
||||
{nextgroup} Name of next Channel Group
|
||||
{prevgroup} Name of prev Channel Group
|
||||
{sepexists} true if a channel separator logo exists
|
||||
{seppath} path for separator logo to use in imagetype "seplogo"
|
||||
-->
|
||||
<channelgroup>
|
||||
<area x="17%" y="37%" width="66%" height="40%" layer="3">
|
||||
<drawtext x="1%" width="24%" valign="center" font="{semibold}" fontsize="40%" color="{clrWhite}" text="{prevgroup}" />
|
||||
<drawtext x="30%" width="40%" valign="center" font="{semibold}" fontsize="60%" color="{clrWhite}" text="{group}" />
|
||||
<drawtext align="right" width="25%" valign="center" font="{semibold}" fontsize="40%" color="{clrWhite}" text="{nextgroup}" />
|
||||
</area>
|
||||
</channelgroup>
|
||||
|
||||
<!-- Available Variables signalquality:
|
||||
{signalstrength} STR value of currently displayed channel
|
||||
{signalquality} SNR value of currently displayed channel
|
||||
-->
|
||||
<signalquality>
|
||||
</signalquality>
|
||||
|
||||
<!-- background of signalmeter, will only be drawn if signalquality was deleted -->
|
||||
<signalqualityback>
|
||||
</signalqualityback>
|
||||
|
||||
<!-- Available Variables devices:
|
||||
{numdevices} number of available devices
|
||||
{devices[]} array with available devices
|
||||
{devices[num]} number of current device
|
||||
{devices[type]} type of device (DVB-S, DVB-C, ...)
|
||||
{devices[istuned]} true if device is currently tuned to a transponder
|
||||
{devices[livetv]} true if device is currently playing livetv
|
||||
{devices[recording]} true if device is currently recording
|
||||
{devices[hascam]} true if device has a CAM
|
||||
{devices[cam]} number of CAM
|
||||
{devices[signalstrength]} signalstrength of devcie
|
||||
{devices[signalquality]} signalstrength of devcie
|
||||
{devices[channelnumber]} number of the currently tuned channel
|
||||
{devices[channelname]} name of the currently tuned channel
|
||||
{devices[channellogoexists]} true if a channel logo exists
|
||||
{devices[channelid]} ID of the currently tuned channel
|
||||
{devices[source]} source of the currently tuned channel
|
||||
-->
|
||||
<devices>
|
||||
</devices>
|
||||
|
||||
<!-- Available Variables scrapercontent:
|
||||
{posterpath} Full Path of Poster to use in image path attribute
|
||||
{posterwidth} width of poster in pixel
|
||||
{posterheight} height of poster in pixel
|
||||
{hasPoster} true if poster is available
|
||||
{bannerpath} Full Path of banner to use in image path attribute
|
||||
{bannerwidth} width of banner in pixel
|
||||
{bannerheight} height of banner in pixel
|
||||
{hasBanner} true if banner is available
|
||||
|
||||
Use this tokens if you want to display a banner for series and a poster for movies:
|
||||
{mediapath} Full Path of Poster or Banner to use in image path attribute
|
||||
{mediawidth} width of image in pixel
|
||||
{mediaheight} height of image in pixel
|
||||
{isbanner} true if image is a banner, false if it is a poster
|
||||
-->
|
||||
<scrapercontent>
|
||||
</scrapercontent>
|
||||
|
||||
<!-- Available Variables datetime:
|
||||
{time} time in hh:mm
|
||||
{day} day in digits
|
||||
{dayleadingzero} day in digits with leading 0
|
||||
{dayname} Full name of the day
|
||||
{daynameshort} Short 3 char name of the day
|
||||
{month} month in digits with leading 0
|
||||
{monthname} Full name of the month
|
||||
{monthnameshort} 3 letter abbrivation of month name
|
||||
{year} year in yyyy
|
||||
-->
|
||||
<datetime>
|
||||
<area x="17%" y="16%" width="67%" height="18%" layer="3">
|
||||
<drawtext align="right" y="0" font="{semibold}" fontsize="100%" color="{clrWhite}" text="{daynameshort} {day}.{month}" />
|
||||
</area>
|
||||
<area x="86%" y="80%" width="{areaheight}*0.6" height="16%" layer="3">
|
||||
<drawtext align="center" y="0" font="{digital}" fontsize="100%" color="{clrWhite}" text="{time}" />
|
||||
</area>
|
||||
</datetime>
|
||||
|
||||
<!-- Available Variables time:
|
||||
{sec} current seconds
|
||||
{min} current minutes
|
||||
{hour} current hours
|
||||
{hmins} current "hourminutes" to display an hour hand
|
||||
-->
|
||||
<time>
|
||||
<area x="86%" y="20%" width="{areaheight}*0.6" height="{areaheight}*0.6" layer="5">
|
||||
<drawimage imagetype="skinpart" path="watchhands/s_{sec}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="86%" y="20%" width="{areaheight}*0.6" height="{areaheight}*0.6" layer="4">
|
||||
<drawimage imagetype="skinpart" path="watchhands/m_{min}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="86%" y="20%" width="{areaheight}*0.6" height="{areaheight}*0.6" layer="3">
|
||||
<drawimage imagetype="skinpart" path="watchhands/h_{hmins}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</time>
|
||||
|
||||
<!-- Available Variables message:
|
||||
{text} message text
|
||||
{status} true if message is a status message
|
||||
{info} true if message is a info message
|
||||
{warning} true if message is a warn message
|
||||
{error} true if message is a error message
|
||||
-->
|
||||
<message>
|
||||
<area x="5%" y="80%" width="90%" height="15%" layer="6">
|
||||
<drawimage condition="{status}" imagetype="skinpart" path="messageblue" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{info}" imagetype="skinpart" path="messagegreen" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{warning}" imagetype="skinpart" path="messageyellow" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{error}" imagetype="skinpart" path="messagered" x="0" y="0" width="100%" height="100%" />
|
||||
</area>
|
||||
<area x="5%" y="80%" width="90%" height="15%" layer="7">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="40%" color="{clrWhite}" text="{text}" />
|
||||
</area>
|
||||
</message>
|
||||
|
||||
<!-- Available Variables customtokens:
|
||||
all custom tokens set by the svdrp command SCTK are available in this viewelement
|
||||
For instance, use an appropriate script which runs periodically as cronjob and
|
||||
sets these custom tokens with svdrpsend or dbus2vdr
|
||||
-->
|
||||
<customtokens>
|
||||
</customtokens>
|
||||
|
||||
</displaychannel>
|
||||
241
skins/blackhole/xmlfiles/displaymenu.xml
Normal file
241
skins/blackhole/xmlfiles/displaymenu.xml
Normal file
@@ -0,0 +1,241 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE displaymenu SYSTEM "../../../dtd/displaymenu.dtd" [
|
||||
<!ENTITY displaymenudefault SYSTEM "displaymenudefault.xml">
|
||||
<!ENTITY displaymenumain SYSTEM "displaymenumain.xml">
|
||||
<!ENTITY displaymenusetup SYSTEM "displaymenusetup.xml">
|
||||
<!ENTITY displaymenuschedules SYSTEM "displaymenuschedules.xml">
|
||||
<!ENTITY displaymenutimers SYSTEM "displaymenutimers.xml">
|
||||
<!ENTITY displaymenuchannels SYSTEM "displaymenuchannels.xml">
|
||||
<!ENTITY displaymenurecordings SYSTEM "displaymenurecordings.xml">
|
||||
<!ENTITY displaymenudetailepg SYSTEM "displaymenudetailepg.xml">
|
||||
<!ENTITY displaymenudetailrecording SYSTEM "displaymenudetailrecording.xml">
|
||||
<!ENTITY displaymenudetailtext SYSTEM "displaymenudetailtext.xml">
|
||||
]>
|
||||
|
||||
<displaymenu x="0" y="0" width="100%" height="100%" fadetime="0">
|
||||
<!--
|
||||
The following background, header, datetime and colorbuttons definitions are default
|
||||
implementations. If one or more of these elements are not implemented in the subview,
|
||||
the default implementations are used.
|
||||
-->
|
||||
<background>
|
||||
<area x="0" y="0" width="100%" height="100%" layer="1">
|
||||
<drawimage imagetype="skinpart" path="displaymenubacktv" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="0" y="0" width="83%" height="8%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenuheader" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="74%" y="0" width="26%" height="46%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="displaymenucorner" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="{areawidth}*0.865" y="{areawidth}*0.005" width="13%" height="{areawidth}*0.13" layer="4">
|
||||
<drawimage imagetype="skinpart" path="watchback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</background>
|
||||
<!-- Available Variables header:
|
||||
{title} title of current menu
|
||||
{vdrversion} running VDR Version
|
||||
{hasicon} true if a menu icon is available
|
||||
{icon} path of menu icon
|
||||
{freetime} available disc capacity in hh:mm
|
||||
{freepercent} available disc capacity in percent
|
||||
{usedpercent} used disc capacity in percent
|
||||
{freegb} available disc capacity in gigabytes
|
||||
{discalert} true if disc usage is > 95%
|
||||
{vdrusagestring} localized VDR internal usage string
|
||||
-->
|
||||
<header>
|
||||
<area x="0" y="0" width="83%" height="8%" layer="3">
|
||||
<drawtext x="1%" width="100%" valign="center" font="{semibold}" fontsize="90%" color="{clrWhite}" text="{title}" />
|
||||
</area>
|
||||
</header>
|
||||
<!-- Available Variables datetime:
|
||||
{time} time in hh:mm
|
||||
{day} day in digits
|
||||
{dayleadingzero} day in digits with leading 0
|
||||
{dayname} Full name of the day
|
||||
{daynameshort} Short 3 char name of the day
|
||||
{month} month in digits with leading 0
|
||||
{monthname} Full name of the month
|
||||
{monthnameshort} 3 letter abbrivation of month name
|
||||
{year} year in yyyy
|
||||
-->
|
||||
<datetime>
|
||||
<area x="81%" y="0" width="7%" height="5%" layer="5">
|
||||
<drawtext x="0" valign="center" font="{digital}" fontsize="90%" color="{clrWhite}" text="{time}" />
|
||||
</area>
|
||||
<area x="40%" y="0" width="37%" height="8%" layer="3">
|
||||
<drawtext align="right" valign="center" font="{semibold}" fontsize="90%" color="{clrWhite}" text="{daynameshort} {day}.{month}" />
|
||||
</area>
|
||||
</datetime>
|
||||
|
||||
<!-- Available Variables time:
|
||||
{sec} current seconds
|
||||
{min} current minutes
|
||||
{hour} current hours
|
||||
{hmins} current "hourminutes" to display an hour hand
|
||||
-->
|
||||
<time>
|
||||
<area x="{areawidth}*0.865" y="{areawidth}*0.005" width="13%" height="{areawidth}*0.13" layer="5">
|
||||
<drawimage imagetype="skinpart" path="watchhands/s_{sec}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="{areawidth}*0.865" y="{areawidth}*0.005" width="13%" height="{areawidth}*0.13" layer="6">
|
||||
<drawimage imagetype="skinpart" path="watchhands/m_{min}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="{areawidth}*0.865" y="{areawidth}*0.005" width="13%" height="{areawidth}*0.13" layer="7">
|
||||
<drawimage imagetype="skinpart" path="watchhands/h_{hmins}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</time>
|
||||
|
||||
<!-- Available Variables message:
|
||||
{text} message text
|
||||
{status} true if message is an status message
|
||||
{info} true if message is an info message
|
||||
{warning} true if message is an warn message
|
||||
{error} true if message is an error message
|
||||
-->
|
||||
<message>
|
||||
<area x="5%" y="80%" width="90%" height="15%" layer="6">
|
||||
<drawimage condition="{status}" imagetype="skinpart" path="messageblue" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{info}" imagetype="skinpart" path="messagegreen" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{warning}" imagetype="skinpart" path="messageyellow" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{error}" imagetype="skinpart" path="messagered" x="0" y="0" width="100%" height="100%" />
|
||||
</area>
|
||||
<area x="5%" y="80%" width="90%" height="15%" layer="7">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="40%" color="{clrWhite}" text="{text}" />
|
||||
</area>
|
||||
</message>
|
||||
<!-- Available Variables colorbuttons:
|
||||
{red1} true if red button is button 1
|
||||
{red2} true if red button is button 2
|
||||
{red3} true if red button is button 3
|
||||
{red4} true if red button is button 4
|
||||
{green1} true if green button is button 1
|
||||
{green2} true if green button is button 2
|
||||
{green3} true if green button is button 3
|
||||
{green4} true if green button is button 4
|
||||
{yellow1} true if yellow button is button 1
|
||||
{yellow2} true if yellow button is button 2
|
||||
{yellow3} true if yellow button is button 3
|
||||
{yellow4} true if yellow button is button 4
|
||||
{blue1} true if blue button is button 1
|
||||
{blue2} true if blue button is button 2
|
||||
{blue3} true if blue button is button 3
|
||||
{blue4} true if blue button is button 4
|
||||
{red} label of red button
|
||||
{green} label of green button
|
||||
{yellow} label of yellow button
|
||||
{blue} label of blue button
|
||||
-->
|
||||
<colorbuttons>
|
||||
<area condition="{red1}" x="0" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonred" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{red1}" x="0" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{red}" />
|
||||
</area>
|
||||
<area condition="{green1}" x="0" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttongreen" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{green1}" x="0" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{green}" />
|
||||
</area>
|
||||
<area condition="{yellow1}" x="0" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonyellow" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{yellow1}" x="0" y="90%" width="25%" height="10%" layer="4">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{yellow}" />
|
||||
</area>
|
||||
<area condition="{blue1}" x="0" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonblue" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{blue1}" x="0" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{blue}" />
|
||||
</area>
|
||||
|
||||
<area condition="{red2}" x="25%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonred" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{red2}" x="25%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{red}" />
|
||||
</area>
|
||||
<area condition="{green2}" x="25%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttongreen" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{green2}" x="25%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{green}" />
|
||||
</area>
|
||||
<area condition="{yellow2}" x="25%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonyellow" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{yellow2}" x="25%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{yellow}" />
|
||||
</area>
|
||||
<area condition="{blue2}" x="25%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonblue" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{blue2}" x="25%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{blue}" />
|
||||
</area>
|
||||
|
||||
<area condition="{red3}" x="50%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonred" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{red3}" x="50%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{red}" />
|
||||
</area>
|
||||
<area condition="{green3}" x="50%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttongreen" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{green3}" x="50%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{green}" />
|
||||
</area>
|
||||
<area condition="{yellow3}" x="50%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonyellow" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{yellow3}" x="50%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{yellow}" />
|
||||
</area>
|
||||
<area condition="{blue3}" x="50%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonblue" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{blue3}" x="50%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{blue}" />
|
||||
</area>
|
||||
|
||||
<area condition="{red4}" x="75%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonred" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{red4}" x="75%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{red}" />
|
||||
</area>
|
||||
<area condition="{green4}" x="75%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttongreen" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{green4}" x="75%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{green}" />
|
||||
</area>
|
||||
<area condition="{yellow4}" x="75%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonyellow" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{yellow4}" x="75%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{yellow}" />
|
||||
</area>
|
||||
<area condition="{blue4}" x="75%" y="90%" width="25%" height="10%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="buttonblue" align="center" valign="center" width="90%" height="75%"/>
|
||||
</area>
|
||||
<area condition="{blue4}" x="75%" y="90%" width="25%" height="10%" layer="3">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{blue}" />
|
||||
</area>
|
||||
</colorbuttons>
|
||||
&displaymenudefault;
|
||||
&displaymenumain;
|
||||
&displaymenusetup;
|
||||
&displaymenuschedules;
|
||||
&displaymenutimers;
|
||||
&displaymenuchannels;
|
||||
&displaymenurecordings;
|
||||
&displaymenudetailepg;
|
||||
&displaymenudetailrecording;
|
||||
&displaymenudetailtext;
|
||||
</displaymenu>
|
||||
121
skins/blackhole/xmlfiles/displaymenuchannels.xml
Normal file
121
skins/blackhole/xmlfiles/displaymenuchannels.xml
Normal file
@@ -0,0 +1,121 @@
|
||||
<menuchannels x="0" y="0" width="100%" height="100%" fadetime="0" scaletvx="55%" scaletvy="10%" scaletvwidth="40%" scaletvheight="40%">
|
||||
|
||||
<scrollbar>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<menuitems x="1%" y="10%" orientation="vertical" width="98%" height="80%" align="center" numlistelements="10">
|
||||
<!-- Available Variables channels menu listelement:
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{number} number of the displayed channel
|
||||
{name} name of the displayed channel
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{channelid} ChannelID as path to display channel logo
|
||||
{transponder} Transponder of channel
|
||||
{frequency} Frequency of channel
|
||||
{source} Source of channel (S, C, T)
|
||||
{sourcedescription} Descriptin of source from sources.conf
|
||||
{position} orbital position of the satellite in case this is a DVB-S source
|
||||
{isAtsc} true if channel is a ATSC channel
|
||||
{isCable} true if channel is cable channel
|
||||
{isSat} true if channel is a satellite channel
|
||||
{isTerr} true if channel is terrestrical
|
||||
{presenteventtitle} title of present event on this channel
|
||||
{presenteventstart} present event start time in hh::mm
|
||||
{presenteventstop} present event event stop time in hh::mm
|
||||
{current} true if item is currently selected
|
||||
{separator} true if item is a list separator
|
||||
-->
|
||||
<listelement>
|
||||
<area x="0" width="51%" layer="2">
|
||||
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="100%" height="100%"/>
|
||||
<drawimage condition="{current}" imagetype="skinpart" path="menubuttonactive" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area condition="not{separator}" x="1%" width="9%" layer="3">
|
||||
<drawimage name="logo" imagetype="channellogo" path="{channelid}" width="90%" height="90%" align="center" valign="center" />
|
||||
</area>
|
||||
<area condition="not{separator}" x="11%" width="39%" layer="3">
|
||||
<drawtext condition="not{current}" x="0" y="5%" font="{regular}" fontsize="35%" color="{clrGray}" text="{sourcedescription}, Transp. {transponder}" />
|
||||
<drawtext condition="{current}" x="0" y="5%" font="{regular}" fontsize="35%" color="{clrWhite}" text="{sourcedescription}, Transp. {transponder}" />
|
||||
</area>
|
||||
<area condition="not{separator}" x="11%" width="39%" layer="3">
|
||||
<drawtext condition="not{current}" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrGray}" text="{number} {name}" />
|
||||
<drawtext condition="{current}" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrWhite}" text="{number} {name}" />
|
||||
</area>
|
||||
<area condition="{separator}" x="1%" width="50%" layer="3">
|
||||
<drawtext x="0" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{name}" />
|
||||
</area>
|
||||
</listelement>
|
||||
<!-- additional element which is drawn for current element -->
|
||||
<!-- Available Variables channels menu currentelement:
|
||||
{menuitemx} x position of according menu item
|
||||
{menuitemy} y position of according menu item
|
||||
{menuitemwidth} width of according menu item
|
||||
{menuitemheight} height of according menu item
|
||||
{number} number of the displayed channel
|
||||
{name} name of the displayed channel
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{channelid} ChannelID as path to display channel logo
|
||||
{transponder} Transponder of channel
|
||||
{frequency} Frequency of channel
|
||||
{source} Source of channel (S, C, T)
|
||||
{sourcedescription} Descriptin of source from sources.conf
|
||||
{position} orbital position of the satellite in case this is a DVB-S source
|
||||
{isAtsc} true if channel is a ATSC channel
|
||||
{isCable} true if channel is cable channel
|
||||
{isSat} true if channel is a satellite channel
|
||||
{isTerr} true if channel is terrestrical
|
||||
{presenteventtitle} title of present event on this channel
|
||||
{presenteventstart} present event start time in hh::mm
|
||||
{presenteventstop} present event stop time in hh::mm
|
||||
{presenteventshorttext} present event short text
|
||||
{presenteventdescription} present event description
|
||||
{presenteventday} present event name of day
|
||||
{presenteventdate} present event date in dd:mm:yy
|
||||
{presenteventelapsed} present event elapsed time
|
||||
{presenteventduration} present event duration
|
||||
{presenteventdurationhours} duration, full hours
|
||||
{presenteventdurationminutes} duration, rest of minutes
|
||||
{hasposter} true if a scraped poster is available for this elements present evemt
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
{nexteventtitle} title of next event on this channel
|
||||
{nexteventstart} next event start time in hh::mm
|
||||
{nexteventstop} next event event stop time in hh::mm
|
||||
{nexteventshorttext} next event short text
|
||||
{nexteventdescription} next event description
|
||||
{nexteventday} next event name of day
|
||||
{nexteventdate} next event date in dd:mm:yy
|
||||
{nexteventduration} next event duration
|
||||
{nexteventdurationhours} duration, full hours
|
||||
{nexteventdurationminutes} duration, rest of minutes
|
||||
{schedule[]} array with following 10 schedules
|
||||
{schedule[title]} title of event
|
||||
{schedule[shorttext]} shorttext of event
|
||||
{schedule[start]} start time of event in hh:mm
|
||||
{schedule[stop]} stop time of event in hh:mm
|
||||
-->
|
||||
<currentelement delay="500" fadetime="0">
|
||||
<area x="55%" y="52%" width="45%" height="48%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenucurrentback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="55%" y="53%" width="44%" height="47%" layer="3">
|
||||
<drawimage name="logo" imagetype="channellogo" path="{channelid}" width="30%" height="30%" align="right" y="0" />
|
||||
</area>
|
||||
<areascroll mode="forthandback" orientation="vertical" delay="1000" scrollspeed="medium" x="55%" y="52%" width="45%" height="48%" layer="4">
|
||||
<drawtext x="10" y="0" font="{semibold}" fontsize="15%" color="{clrWhite}" text="{tr(schedule)}:" />
|
||||
<loop name="schedule" x="0" y="16%" orientation="vertical">
|
||||
<drawtext x="10" font="{regular}" width="{areawidth}-20" fontsize="12%" color="{clrWhite}" text="{schedule[start]} - {schedule[title]}" />
|
||||
</loop>
|
||||
</areascroll>
|
||||
</currentelement>
|
||||
|
||||
</menuitems>
|
||||
|
||||
</menuchannels>
|
||||
75
skins/blackhole/xmlfiles/displaymenudefault.xml
Normal file
75
skins/blackhole/xmlfiles/displaymenudefault.xml
Normal file
@@ -0,0 +1,75 @@
|
||||
<menudefault x="0" y="0" width="100%" height="100%" fadetime="0">
|
||||
<background>
|
||||
<area x="0" y="0" width="100%" height="100%" layer="1">
|
||||
<drawimage imagetype="skinpart" path="displaymenuback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="0" y="0" width="83%" height="8%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenuheader" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="74%" y="0" width="26%" height="46%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="displaymenucorner" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="{areawidth}*0.865" y="{areawidth}*0.005" width="13%" height="{areawidth}*0.13" layer="4">
|
||||
<drawimage imagetype="skinpart" path="watchback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</background>
|
||||
|
||||
<scrollbar>
|
||||
<area x="97%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="97%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<!-- IMPORTANT: menuitemwidth and determinatefont have to be defined here. menuitemwidth defines the total width of the
|
||||
default menu items, determinatefont the function which sets the actual font to use. With that it is possible to determinate
|
||||
the correct column widths -->
|
||||
<menuitems x="1%" y="10%" orientation="vertical" width="95%" height="80%" align="center" menuitemwidth="94%" determinatefont="column1" numlistelements="16">
|
||||
<!-- Available Variables default menu listelement:
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{column1} text of column1
|
||||
{column2} text of column2
|
||||
{column3} text of column3
|
||||
{column4} text of column4
|
||||
{column5} text of column5
|
||||
{column6} text of column6
|
||||
{column2set} true if column2 is used
|
||||
{column3set} true if column3 is used
|
||||
{column4set} true if column4 is used
|
||||
{column5set} true if column5 is used
|
||||
{column6set} true if column6 is used
|
||||
{column2x} proposed x value of column2
|
||||
{column3x} proposed x value of column3
|
||||
{column4x} proposed x value of column4
|
||||
{column5x} proposed x value of column5
|
||||
{column6x} proposed x value of column6
|
||||
{column1width} proposed width of column1
|
||||
{column2width} proposed width of column2
|
||||
{column3width} proposed width of column3
|
||||
{column4width} proposed width of column4
|
||||
{column5width} proposed width of column5
|
||||
{column6width} proposed width of column6
|
||||
{current} true if column is currently selected
|
||||
{separator} true if column is a list separator
|
||||
-->
|
||||
<listelement>
|
||||
<area x="0" width="100%" layer="2">
|
||||
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="100%" height="100%"/>
|
||||
<drawimage condition="{current}" imagetype="skinpart" path="menubuttonactive" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<areascroll scrollelement="column1" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" x="1%" width="{column1width}" layer="3">
|
||||
<drawtext name="column1" x="{column1x}" width="{column1width}" valign="center" font="{regular}" fontsize="90%" color="{clrWhite}" text="{column1}" />
|
||||
</areascroll>
|
||||
<area x="1%" width="100%" layer="3">
|
||||
<drawtext condition="{column2set}" x="{column2x}" valign="center" font="{regular}" fontsize="90%" width="{column2width}" color="{clrWhite}" text="{column2}" />
|
||||
<drawtext condition="{column3set}" x="{column3x}" valign="center" font="{regular}" fontsize="90%" width="{column3width}" color="{clrWhite}" text="{column3}" />
|
||||
<drawtext condition="{column4set}" x="{column4x}" valign="center" font="{regular}" fontsize="90%" width="{column4width}" color="{clrWhite}" text="{column4}" />
|
||||
<drawtext condition="{column5set}" x="{column5x}" valign="center" font="{regular}" fontsize="90%" width="{column5width}" color="{clrWhite}" text="{column5}" />
|
||||
<drawtext condition="{column6set}" x="{column6x}" valign="center" font="{regular}" fontsize="90%" width="{column6width}" color="{clrWhite}" text="{column6}" />
|
||||
</area>
|
||||
</listelement>
|
||||
|
||||
</menuitems>
|
||||
</menudefault>
|
||||
301
skins/blackhole/xmlfiles/displaymenudetailepg.xml
Normal file
301
skins/blackhole/xmlfiles/displaymenudetailepg.xml
Normal file
@@ -0,0 +1,301 @@
|
||||
<menudetailedepg x="0" y="0" width="100%" height="100%" fadetime="0" scaletvx="55%" scaletvy="10%" scaletvwidth="40%" scaletvheight="40%" >
|
||||
<header>
|
||||
<area x="0" y="0" width="1" height="1" layer="1">
|
||||
<fill color="{clrTransparent}" />
|
||||
</area>
|
||||
</header>
|
||||
|
||||
|
||||
<scrollbar>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<!-- Available Variables in detailheader elements:
|
||||
{title} title of event
|
||||
{shorttext} shorttext of event
|
||||
{start} event start time in hh::mm
|
||||
{stop} event stop time
|
||||
{day} Day of event as three letter abrivation
|
||||
{date} date of current event in dd.mm.yy
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{running} true if event is currently running
|
||||
{elapsed} elapsed time of event, if not running 0
|
||||
{duration} duration of event
|
||||
{durationhours} duration, full hours
|
||||
{durationminutes} duration, rest of minutes
|
||||
{vps} vps description string
|
||||
{channelname} Channelname of event
|
||||
{channelnumber} Channelnumber of event
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{channelid} ChannelID as path to display channel logo
|
||||
{ismovie} true if event is scraped as a movie
|
||||
{isseries} true if event is scraped as a series
|
||||
{posteravailable} true if a poster is available
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
{banneravailable} true if a banner is available
|
||||
{bannerwidth} width of banner
|
||||
{bannerheight} height of banner
|
||||
{bannerpath} path of banner
|
||||
{epgpicavailable} true if a epg picture is available
|
||||
{epgpicpath} path of epg picture
|
||||
-->
|
||||
<detailheader>
|
||||
<area x="0" y="0" width="83%" height="8%" layer="3">
|
||||
<drawimage name="logo" imagetype="channellogo" path="{channelid}" x="1%" width="5%" height="90%" align="left" valign="center" />
|
||||
<drawtext x="{posx(logo)} + {width(logo)}+20" valign="center" font="{semibold}" fontsize="80%" color="{clrWhite}" text="{channelnumber} - {channelname}" />
|
||||
</area>
|
||||
<area x="1%" y="10%" width="50%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymendetailback" x="0" y="0" width="100%" height="100%" />
|
||||
</area>
|
||||
<area x="55%" y="52%" width="43%" height="38%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenucurrentback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area condition="not{ismovie}++not{isseries}" x="55%" y="52%" width="43%" height="20%" layer="3">
|
||||
<drawtext x="3%" y="15%" font="{regular}" fontsize="15%" color="{clrWhite}" text="{day} {date} {start} - {stop} ({duration} mins)" />
|
||||
<drawtext x="3%" y="30%" width="96%" font="{semibold}" fontsize="30%" color="{clrWhite}" text="{title}" />
|
||||
<drawtext x="3%" y="60%" width="96%" font="{regular}" fontsize="20%" color="{clrWhite}" text="{shorttext}" />
|
||||
</area>
|
||||
<area condition="{isseries}" x="55%" y="52%" width="43%" height="20%" layer="3">
|
||||
<drawimage name="banner" imagetype="image" path="{bannerpath}" align="center" y="1%" width="{areawidth}-20" height="{areawidth} * {bannerheight} / {bannerwidth}"/>
|
||||
<drawtext name="datetime" x="3%" y="{posy(banner)} + {height(banner)}" font="{regular}" fontsize="15%" color="{clrWhite}" text="{day} {date} {start} - {stop} ({duration} mins)" />
|
||||
<drawtext x="3%" y="{posy(datetime)} + {height(datetime)}" width="96%" font="{semibold}" fontsize="30%" color="{clrWhite}" text="{title} - {shorttext}" />
|
||||
</area>
|
||||
<area condition="{ismovie}" x="55%" y="52%" width="43%" height="20%" layer="3">
|
||||
<drawimage name="poster" imagetype="image" path="{posterpath}" x="1%" valign="center" width="{areaheight} * {posterwidth} / {posterheight}" height="{areaheight}-20"/>
|
||||
<drawtext x="{posx(poster)} + {width(poster)} + 10" y="15%" font="{regular}" fontsize="15%" color="{clrWhite}" text="{day} {date} {start} - {stop} ({duration} mins)" />
|
||||
<drawtext x="{posx(poster)} + {width(poster)} + 10" y="30%" width="{areawidth} - {posx(poster)} - {width(poster)} - 20" font="{semibold}" fontsize="30%" color="{clrWhite}" text="{title}" />
|
||||
<drawtext x="{posx(poster)} + {width(poster)} + 10" y="60%" width="{areawidth} - {posx(poster)} - {width(poster)} - 20" font="{regular}" fontsize="20%" color="{clrWhite}" text="{shorttext}" />
|
||||
</area>
|
||||
<area x="56%" y="72%" width="41%" height="17%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="tabback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</detailheader>
|
||||
|
||||
<!-- Available Variables in tab elements:
|
||||
{title} title of event
|
||||
{shorttext} shorttext of event
|
||||
{description} description of event
|
||||
{start} event start time in hh::mm
|
||||
{stop} event stop time
|
||||
{day} Day of event as three letter abrivation
|
||||
{date} date of current event in dd.mm.yy
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{running} true if event is currently running
|
||||
{elapsed} elapsed time of event, if not running 0
|
||||
{duration} duration of event
|
||||
{durationhours} duration, full hours
|
||||
{durationminutes} duration, rest of minutes
|
||||
{vps} vps description string
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{channelid} ChannelID as path to display channel logo
|
||||
{hasreruns} true if reruns of this event are found
|
||||
{reruns[]} array with reruns
|
||||
{reruns[title]} title of rerun
|
||||
{reruns[shorttext]} shorttext of rerun
|
||||
{reruns[date]} date of rerun in dd:mm
|
||||
{reruns[day]} short dayname of rerun
|
||||
{reruns[start]} start time of rerun in hh:mm
|
||||
{reruns[stop]} stop time of rerun in hh:mm
|
||||
{reruns[channelname]} name of channel on which rerun occurs
|
||||
{reruns[channelnumber]} number of channel on which rerun occurs
|
||||
{reruns[channelid]} id of channel on which rerun occurs to display channel logo
|
||||
{reruns[channellogoexists]} true if channel logo exists
|
||||
{epgpic1avaialble} true if first epg picture is available
|
||||
{epgpic2avaialble} true if first epg picture is available
|
||||
{epgpic3avaialble} true if first epg picture is available
|
||||
{epgpic1path} path of first epg picture
|
||||
{epgpic2path} path of second epg picture
|
||||
{epgpic3path} path of third epg picture
|
||||
|
||||
{ismovie} true if event is scraped as a movie
|
||||
Available variables for movies:
|
||||
{movietitle} movie title from themoviedb
|
||||
{movieoriginalTitle} movie original title from themoviedb
|
||||
{movietagline} movie tagline from themoviedb
|
||||
{movieoverview} movie overview from themoviedb
|
||||
{movieadult} true if movie is rated as adult
|
||||
{moviebudget} movie budget from themoviedb in $
|
||||
{movierevenue} movie revenue from themoviedb in $
|
||||
{moviegenres} movie genres from themoviedb
|
||||
{moviehomepage} movie homepage from themoviedb
|
||||
{moviereleasedate} movie release date from themoviedb
|
||||
{movieruntime} movie runtime from themoviedb
|
||||
{moviepopularity} movie popularity from themoviedb
|
||||
{movievoteaverage} movie vote average from themoviedb
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
{fanartwidth} width of scraped fanart
|
||||
{fanartheight} height of scraped fanart
|
||||
{fanartpath} absolute path of scraped fanart
|
||||
{movieiscollection} true if movie is part of a collection
|
||||
{moviecollectionName} name of movie collection
|
||||
{collectionposterwidth} width of scraped collection poster
|
||||
{collectionposterheight} height of scraped collection poster
|
||||
{collectionposterpath} absolute path of scraped collection poster
|
||||
{collectionfanartwidth} width of scraped collection fanart
|
||||
{collectionfanartheight} height of scraped collection fanart
|
||||
{collectionfanartpath} absolute path of scraped collection fanart
|
||||
{actors[]} array with movie actors
|
||||
{actors[name]} real name of actor
|
||||
{actors[role]} actor role
|
||||
{actors[thumb]} absolute path of scraped actor thumb
|
||||
{actors[thumbwidth]} width of scraped actor thumb
|
||||
{actors[thumbheight]} height of scraped actor thumb
|
||||
|
||||
{isseries} true if event is scraped as a series
|
||||
Available variables for series:
|
||||
{seriesname} name of series
|
||||
{seriesoverview} series overview
|
||||
{seriesfirstaired} first aired date
|
||||
{seriesnetwork} network which produces series
|
||||
{seriesgenre} series genre
|
||||
{seriesrating} series thetvdb rating
|
||||
{seriesstatus} status of series (running / finished)
|
||||
{episodetitle} title of episode
|
||||
{episodenumber} number of episode
|
||||
{episodeseason} season of episode
|
||||
{episodefirstaired} first aired date of episode
|
||||
{episodegueststars} guest stars of episode
|
||||
{episodeoverview} episode overview
|
||||
{episoderating} user rating for episode
|
||||
{episodeimagewidth} episode image width
|
||||
{episodeimageheight} episode image height
|
||||
{episodeimagepath} episode image path
|
||||
{seasonposterwidth} episode season poster width
|
||||
{seasonposterheight} episode season poster height
|
||||
{seasonposterpath} episode season poster path
|
||||
{seriesposter1width} width of 1st poster
|
||||
{seriesposter1height} height of 1st poster
|
||||
{seriesposter1path} path of 1st poster
|
||||
{seriesposter2width} width of 2nd poster
|
||||
{seriesposter2height} height of 2nd poster
|
||||
{seriesposter2path} path of 2nd poster
|
||||
{seriesposter3width} width of 3rd poster
|
||||
{seriesposter3height} height of 3rd poster
|
||||
{seriesposter3path} path of 3rd poster
|
||||
{seriesfanart1width} width of 1st fanart
|
||||
{seriesfanart1height} height of 1st fanart
|
||||
{seriesfanart1path} path of 1st fanart
|
||||
{seriesfanart2width} width of 2nd fanart
|
||||
{seriesfanart2height} height of 2nd fanart
|
||||
{seriesfanart2path} path of 2nd fanart
|
||||
{seriesfanart3width} width of 3rd fanart
|
||||
{seriesfanart3height} height of 3rd fanart
|
||||
{seriesfanart3path} path of 3rd fanart
|
||||
{seriesbanner1width} width of 1st banner
|
||||
{seriesbanner1height} height of 1st banner
|
||||
{seriesbanner1path} path of 1st banner
|
||||
{seriesbanner2width} width of 2nd banner
|
||||
{seriesbanner2height} height of 2nd banner
|
||||
{seriesbanner2path} path of 2nd banner
|
||||
{seriesbanner3width} width of 3rd banner
|
||||
{seriesbanner3height} height of 3rd banner
|
||||
{seriesbanner3path} path of 3rd fanart
|
||||
{actors[]} array with movie actors
|
||||
{actors[name]} real name of actor
|
||||
{actors[role]} actor role
|
||||
{actors[thumb]} absolute path of scraped actor thumb
|
||||
{actors[thumbwidth]} width of scraped actor thumb
|
||||
{actors[thumbheight]} height of scraped actor thumb
|
||||
-->
|
||||
|
||||
<!-- a tab is one scrolling area, just position and draw as inside a normal area -->
|
||||
<!-- just define as many tabs as needed -->
|
||||
|
||||
<!-- TAB EPGINFO -->
|
||||
<tab name="EPG Info" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawtext x="0" y="0" font="{semibold}" fontsize="6%" color="{clrWhite}" text="{day} {date} {start} - {stop} ({duration} mins)" />
|
||||
<drawtext x="0" y="6%" width="100%" font="{semibold}" fontsize="8%" color="{clrWhite}" text="{title}" />
|
||||
<drawtext x="0" y="14%" width="100%" font="{regular}" fontsize="6%" color="{clrWhite}" text="{shorttext}" />
|
||||
|
||||
<drawtextbox condition="not{isseries}++not{ismovie}" x="0" y="20%" width="96%" font="{regular}" fontsize="6%" color="{clrWhite}" text="{description}" />
|
||||
<drawimage condition="{isseries}" name="seriesposter" imagetype="image" path="{seriesposter1path}" x="{areawidth}*0.6" y="20%" width="{areawidth}*0.4" height="{areawidth} * 0.4 * {seriesposter1height} / {seriesposter1width}"/>
|
||||
<drawimage condition="{ismovie}" name="movieposter" imagetype="image" path="{posterpath}" x="{areawidth}*0.6" y="20%" width="{areawidth}*0.4" height="{areawidth} * 0.4 * {posterheight} / {posterwidth}" />
|
||||
<drawtextbox condition="{isseries}" x="0" y="20%" width="96%" float="topright" floatwidth="{width(seriesposter)} + 10" floatheight="{height(seriesposter)} + 20" font="{regular}" fontsize="6%" color="{clrWhite}" text="{description}" />
|
||||
<drawtextbox condition="{ismovie}" x="0" y="20%" width="96%" float="topright" floatwidth="{width(movieposter)} + 10" floatheight="{height(movieposter)} + 20" font="{regular}" fontsize="6%" color="{clrWhite}" text="{description}" />
|
||||
|
||||
</tab>
|
||||
<!-- TAB RERUNS -->
|
||||
<tab name="{tr(reruns)}" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawtext align="center" y="0" width="100%" name="title" font="{semibold}" fontsize="6%" color="{clrWhite}" text="{tr(rerunsof)} '{title}'" />
|
||||
<loop name="reruns" x="0" y="{height(title)} + 10" width="{areawidth}" orientation="vertical">
|
||||
<drawimage name="logo" condition="{reruns[channellogoexists]}" imagetype="channellogo" path="{reruns[channelid]}" x="0" width="10%" height="10%" />
|
||||
<drawtext name="channelname" condition="not{reruns[channellogoexists]}" x="0" y="2%" font="{regular}" fontsize="5%" color="{clrWhite}" text="{reruns[channelname]}" />
|
||||
<drawtext condition="{reruns[channellogoexists]}" x="{width(logo)}+20" y="0" width="{areawidth} - {width(logo)} - 20" font="{regular}" fontsize="5%" color="{clrWhite}" text="{reruns[day]} {reruns[date]} {reruns[start]} - {reruns[stop]}" />
|
||||
<drawtext condition="{reruns[channellogoexists]}" x="{width(logo)}+20" y="4%" width="{areawidth} - {width(logo)} - 20" font="{semibold}" fontsize="5%" color="{clrWhite}" text="{reruns[title]} {reruns[shorttext]}" />
|
||||
<drawtext condition="not{reruns[channellogoexists]}" x="{width(channelname)}+20" y="0" width="{areawidth} - {width(logo)} - 20" font="{regular}" fontsize="5%" color="{clrWhite}" text="{reruns[day]} {reruns[date]} {reruns[start]} - {reruns[stop]}" />
|
||||
<drawtext condition="not{reruns[channellogoexists]}" x="{width(channelname)}+20" y="4%" width="{areawidth} - {width(logo)} - 20" font="{semibold}" fontsize="5%" color="{clrWhite}" text="{reruns[title]} {reruns[shorttext]}" />
|
||||
</loop>
|
||||
</tab>
|
||||
<!-- TAB ACTORS -->
|
||||
<tab condition="{isseries}||{ismovie}" name="{tr(actors)}" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawtext align="center" name="title" y="0" font="{semibold}" fontsize="15%" color="{clrWhite}" text="{tr(actors)}" />
|
||||
<loop name="actors" x="0" y="{height(title)} + 10" width="{areawidth}" orientation="horizontal" columnwidth="{areawidth}*0.3" rowheight="{areawidth}*0.3*1.8" overflow="linewrap">
|
||||
<drawimage name="thumb" imagetype="image" path="{actors[thumb]}" x="20" y="0" width="{columnwidth}-40" height="{columnwidth} * {actors[thumbheight]} / {actors[thumbwidth]} - 40 * {actors[thumbheight]} / {actors[thumbwidth]}"/>
|
||||
<drawtext align="center" y="{height(thumb)} + 10" width="{columnwidth}" name="actorname" font="{regular}" fontsize="7%" color="{clrWhite}" text="{actors[name]}" />
|
||||
<drawtext align="center" y="{height(thumb)} + 10 + {height(actorname)}" width="{columnwidth}" font="{regular}" fontsize="7%" color="{clrWhite}" text="{actors[role]}" />
|
||||
</loop>
|
||||
</tab>
|
||||
<!-- TAB TVDBINFO -->
|
||||
<tab condition="{isseries}" name="TvDBInfo" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawimage name="banner" imagetype="image" path="{seriesbanner1path}" align="center" y="10" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesbanner1height} / {seriesbanner1width}"/>
|
||||
<drawimage name="episodeimage" imagetype="image" path="{episodeimagepath}" x="{areawidth}*0.7" y="{height(banner)} + 20" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {episodeimageheight} / {episodeimagewidth}"/>
|
||||
<drawimage name="seasonposter" imagetype="image" path="{seasonposterpath}" x="{areawidth}*0.7" y="{height(banner)} + {height(episodeimage)} + 30" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {seasonposterheight} / {seasonposterwidth}"/>
|
||||
<drawtextbox x="0" y="{height(banner)} + 20" width="96%" float="topright" floatwidth="{width(seasonposter)} + 10" floatheight="{height(episodeimage)} + {height(seasonposter)} + 30" font="{regular}" fontsize="6%" color="{clrWhite}" text="{tr(episode)}: {episodetitle} ({tr(season)} {episodeseason}, {tr(episode)} {episodenumber}) {episodeoverview}| {tr(gueststars)}: {episodegueststars}|| {tr(seriesfirstaired)}: {seriesfirstaired}|| {tr(episodefirstaired)}: {episodefirstaired}|| {tr(network)}: {seriesnetwork}|| {tr(genre)}: {seriesgenre}|| {tr(status)}: {seriesstatus}|| {tr(rating)}: {seriesrating}|| {tr(episoderating)}: {episoderating} |{seriesoverview} " />
|
||||
</tab>
|
||||
<!-- TAB SERIESGALERY -->
|
||||
<tab condition="{isseries}" name="{tr(seriesgalery)}" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawimage name="banner1" imagetype="image" path="{seriesbanner1path}" align="center" y="10" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesbanner1height} / {seriesbanner1width}"/>
|
||||
<drawimage name="fanart1" imagetype="image" path="{seriesfanart1path}" align="center" y="{posy(banner1)} + {height(banner1)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesfanart1height} / {seriesfanart1width}"/>
|
||||
<drawimage name="banner2" imagetype="image" path="{seriesbanner2path}" align="center" y="{posy(fanart1)} + {height(fanart1)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesbanner2height} / {seriesbanner2width}"/>
|
||||
<drawimage name="fanart2" imagetype="image" path="{seriesfanart2path}" align="center" y="{posy(banner2)} + {height(banner2)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesfanart2height} / {seriesfanart2width}"/>
|
||||
<drawimage name="banner3" imagetype="image" path="{seriesbanner3path}" align="center" y="{posy(fanart2)} + {height(fanart2)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesbanner3height} / {seriesbanner3width}"/>
|
||||
<drawimage name="fanart3" imagetype="image" path="{seriesfanart3path}" align="center" y="{posy(banner3)} + {height(banner3)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesfanart3height} / {seriesfanart3width}"/>
|
||||
<drawimage name="poster1" imagetype="image" path="{seriesposter1path}" align="center" y="{posy(fanart3)} + {height(fanart3)} + 20" width="{areawidth}*0.5" height="{areawidth} * 0.5 * {seriesposter1height} / {seriesposter1width}"/>
|
||||
<drawimage name="poster2" imagetype="image" path="{seriesposter2path}" align="center" y="{posy(poster1)} + {height(poster1)} + 20" width="{areawidth}*0.5" height="{areawidth} * 0.5 * {seriesposter2height} / {seriesposter2width}"/>
|
||||
<drawimage name="poster3" imagetype="image" path="{seriesposter3path}" align="center" y="{posy(poster2)} + {height(poster2)} + 20" width="{areawidth}*0.5" height="{areawidth} * 0.5 * {seriesposter3height} / {seriesposter3width}"/>
|
||||
</tab>
|
||||
<!-- TAB MOVIEDBINFO -->
|
||||
<tab condition="{ismovie}" name="MovieDBInfo" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawimage name="poster" imagetype="image" path="{posterpath}" x="70%" y="10" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {posterheight} / {posterwidth}"/>
|
||||
<drawtextbox x="0" y="10" width="96%" float="topright" floatwidth="{width(poster)} + 10" floatheight="{height(poster)} + 20" font="{regular}" fontsize="6%" color="{clrWhite}" text="{tr(originaltitle)}: {movieoriginalTitle} |{tr(genre)}: {moviegenres} ||{movietagline} |{movieoverview} |{tr(budget)}: {moviebudget} ||{tr(revenue)}: {movierevenue} ||{tr(adult)}: {movieadult} ||{tr(releasedate)}: {moviereleasedate} ||{tr(runtime)}: {movieruntime} min || {tr(popularity)}: {moviepopularity} || {tr(voteaverage)}: {movievoteaverage} || {tr(homepage)}: {moviehomepage}| " />
|
||||
</tab>
|
||||
<!-- TAB MOVIEGALERY -->
|
||||
<tab condition="{ismovie}" name="{tr(moviegalery)}" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawimage name="fanart" imagetype="image" path="{fanartpath}" align="center" y="10" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {fanartheight} / {fanartwidth}"/>
|
||||
<drawimage name="poster" imagetype="image" path="{posterpath}" align="center" y="{height(fanart)} + 30" width="{areawidth}*0.6" height="{areawidth} * 0.6 * {posterheight} / {posterwidth}"/>
|
||||
<drawimage condition="{movieiscollection}" name="collectionfanart" imagetype="image" path="{collectionfanartpath}" align="center" y="{posy(poster)} + {height(poster)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {collectionfanartheight} / {collectionfanartwidth}"/>
|
||||
<drawimage condition="{movieiscollection}" name="collectionposter" imagetype="image" path="{collectionposterpath}" align="center" y="{posy(collectionfanart)} + {height(collectionfanart)} + 20" width="{areawidth}*0.6" height="{areawidth} * 0.6 * {collectionposterheight} / {collectionposterwidth}"/>
|
||||
</tab>
|
||||
<!-- Available Variables tablabels:
|
||||
{currenttab} name of currently active tab
|
||||
{prevtab} name of prev tab
|
||||
{nexttab} name of next tab
|
||||
{tabs[]} array with available tab labels
|
||||
{tabs[title]} title of tab
|
||||
{tabs[current]} true if tab is displayed currently
|
||||
-->
|
||||
<tablabels>
|
||||
<area x="56%" y="72%" width="41%" height="9%" layer="3">
|
||||
<drawtext align="center" y="0" width="100%" font="{semibold}" fontsize="100%" color="{clrWhite}" text="{currenttab}" />
|
||||
</area>
|
||||
<area x="56%" y="81%" width="18%" height="8%" layer="3">
|
||||
<drawtext align="center" valign="center" width="100%" font="{regular}" fontsize="60%" color="{clrGray}" text="{prevtab}" />
|
||||
</area>
|
||||
<area x="79%" y="81%" width="17%" height="8%" layer="3">
|
||||
<drawtext align="center" valign="center" width="100%" font="{regular}" fontsize="60%" color="{clrGray}" text="{nexttab}" />
|
||||
</area>
|
||||
</tablabels>
|
||||
</menudetailedepg>
|
||||
260
skins/blackhole/xmlfiles/displaymenudetailrecording.xml
Normal file
260
skins/blackhole/xmlfiles/displaymenudetailrecording.xml
Normal file
@@ -0,0 +1,260 @@
|
||||
<menudetailedrecording x="0" y="0" width="100%" height="100%" fadetime="0" scaletvx="55%" scaletvy="10%" scaletvwidth="40%" scaletvheight="40%" >
|
||||
|
||||
<scrollbar>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<!-- Available Variables in detailheader elements:
|
||||
{name} name of recording
|
||||
{shorttext} shorttext of recording
|
||||
{date} date of recording in dd.mm.yy
|
||||
{time} time of current recording in hh:mm
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{duration} real duration of recording in minutes
|
||||
{durationhours} real duration, full hours
|
||||
{durationminutes} real duration, rest of minutes
|
||||
{durationevent} duration of corresponding event in minutes
|
||||
{durationeventhours} event duration, full hours
|
||||
{durationeventminutes} event duration, rest of minutes
|
||||
{ismovie} true if event is scraped as a movie
|
||||
{isseries} true if event is scraped as a series
|
||||
{posteravailable} true if a poster is available
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
{banneravailable} true if a banner is available
|
||||
{bannerwidth} width of banner
|
||||
{bannerheight} height of banner
|
||||
{bannerpath} path of banner
|
||||
{recimgavailable} true if a recording image is available in the recording path
|
||||
{recimgpath} path of rec image
|
||||
-->
|
||||
<detailheader>
|
||||
<area x="1%" y="10%" width="50%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymendetailback" x="0" y="0" width="100%" height="100%" />
|
||||
</area>
|
||||
<area x="55%" y="52%" width="43%" height="38%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenucurrentback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area condition="not{ismovie}++not{isseries}" x="55%" y="52%" width="43%" height="20%" layer="3">
|
||||
<drawtext x="3%" y="15%" font="{regular}" fontsize="15%" color="{clrWhite}" text="{date} {time} ({duration} mins)" />
|
||||
<drawtext x="3%" y="30%" width="96%" font="{semibold}" fontsize="30%" color="{clrWhite}" text="{name}" />
|
||||
<drawtext x="3%" y="60%" width="96%" font="{regular}" fontsize="20%" color="{clrWhite}" text="{shorttext}" />
|
||||
</area>
|
||||
<area condition="{isseries}" x="55%" y="52%" width="43%" height="20%" layer="3">
|
||||
<drawimage name="banner" imagetype="image" path="{bannerpath}" align="center" y="1%" width="{areawidth}-20" height="{areawidth} * {bannerheight} / {bannerwidth}"/>
|
||||
<drawtext name="datetime" x="3%" y="{posy(banner)} + {height(banner)}" font="{regular}" fontsize="15%" color="{clrWhite}" text="{date} {time} ({duration} mins)" />
|
||||
<drawtext x="3%" y="{posy(datetime)} + {height(datetime)}" width="96%" font="{semibold}" fontsize="30%" color="{clrWhite}" text="{name} - {shorttext}" />
|
||||
</area>
|
||||
<area condition="{ismovie}" x="55%" y="52%" width="43%" height="20%" layer="3">
|
||||
<drawimage name="poster" imagetype="image" path="{posterpath}" x="1%" valign="center" width="{areaheight} * {posterwidth} / {posterheight}" height="{areaheight}-20"/>
|
||||
<drawtext x="{posx(poster)} + {width(poster)} + 10" y="15%" font="{regular}" fontsize="15%" color="{clrWhite}" text="{date} {time} ({duration} mins)" />
|
||||
<drawtext x="{posx(poster)} + {width(poster)} + 10" y="30%" width="{areawidth} - {posx(poster)} - {width(poster)} - 20" font="{semibold}" fontsize="30%" color="{clrWhite}" text="{name}" />
|
||||
<drawtext x="{posx(poster)} + {width(poster)} + 10" y="60%" width="{areawidth} - {posx(poster)} - {width(poster)} - 20" font="{regular}" fontsize="20%" color="{clrWhite}" text="{shorttext}" />
|
||||
</area>
|
||||
<area x="56%" y="72%" width="41%" height="17%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="tabback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</detailheader>
|
||||
<!-- Available Variables in tab elements:
|
||||
{name} title of recording
|
||||
{shorttext} shorttext of recording
|
||||
{description} description of recording
|
||||
{date} date of recording in dd.mm.yy
|
||||
{time} time of current recording in hh:mm
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{duration} real duration of recording in minutes
|
||||
{durationhours} real duration, full hours
|
||||
{durationminutes} real duration, rest of minutes
|
||||
{durationevent} duration of corresponding event in minutes
|
||||
{durationeventhours} event duration, full hours
|
||||
{durationeventminutes} event duration, rest of minutes
|
||||
|
||||
{recordingsize} size of recording (automatically in GB / MB)
|
||||
{recordingsizecutted} size of cutted recording (automatically in GB / MB)
|
||||
{recordinglength} length of recording (in hh::mm:ss)
|
||||
{recordinglengthcutted} length of cutted recording (in hh::mm:ss)
|
||||
{recordingbitrate} bitrate of recording (in MBit/s)
|
||||
{recordingformat} format of recording (TS / PS)
|
||||
{searchtimer} name of accordign searchtimer (if available)
|
||||
|
||||
{recimg1avaialble} true if first recording image is available
|
||||
{recimg2avaialble} true if first recording image is available
|
||||
{recimg3avaialble} true if first recording image is available
|
||||
{recimg1path} path of first recording image
|
||||
{recimg2path} path of second recording image
|
||||
{recimg3path} path of third recording image
|
||||
|
||||
{ismovie} true if event is scraped as a movie
|
||||
Available variables for movies:
|
||||
{movietitle} movie title from themoviedb
|
||||
{movieoriginalTitle} movie original title from themoviedb
|
||||
{movietagline} movie tagline from themoviedb
|
||||
{movieoverview} movie overview from themoviedb
|
||||
{movieadult} true if movie is rated as adult
|
||||
{moviebudget} movie budget from themoviedb in $
|
||||
{movierevenue} movie revenue from themoviedb in $
|
||||
{moviegenres} movie genres from themoviedb
|
||||
{moviehomepage} movie homepage from themoviedb
|
||||
{moviereleasedate} movie release date from themoviedb
|
||||
{movieruntime} movie runtime from themoviedb
|
||||
{moviepopularity} movie popularity from themoviedb
|
||||
{movievoteaverage} movie vote average from themoviedb
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
{fanartwidth} width of scraped fanart
|
||||
{fanartheight} height of scraped fanart
|
||||
{fanartpath} absolute path of scraped fanart
|
||||
{movieiscollection} true if movie is part of a collection
|
||||
{moviecollectionName} name of movie collection
|
||||
{collectionposterwidth} width of scraped collection poster
|
||||
{collectionposterheight} height of scraped collection poster
|
||||
{collectionposterpath} absolute path of scraped collection poster
|
||||
{collectionfanartwidth} width of scraped collection fanart
|
||||
{collectionfanartheight} height of scraped collection fanart
|
||||
{collectionfanartpath} absolute path of scraped collection fanart
|
||||
{actors[]} array with movie actors
|
||||
{actors[name]} real name of actor
|
||||
{actors[role]} actor role
|
||||
{actors[thumb]} absolute path of scraped actor thumb
|
||||
{actors[thumbwidth]} width of scraped actor thumb
|
||||
{actors[thumbheight]} height of scraped actor thumb
|
||||
|
||||
{isseries} true if event is scraped as a series
|
||||
Available variables for series:
|
||||
{seriesname} name of series
|
||||
{seriesoverview} series overview
|
||||
{seriesfirstaired} first aired date
|
||||
{seriesnetwork} network which produces series
|
||||
{seriesgenre} series genre
|
||||
{seriesrating} series thetvdb rating
|
||||
{seriesstatus} status of series (running / finished)
|
||||
{episodetitle} title of episode
|
||||
{episodenumber} number of episode
|
||||
{episodeseason} season of episode
|
||||
{episodefirstaired} first aired date of episode
|
||||
{episodegueststars} guest stars of episode
|
||||
{episodeoverview} episode overview
|
||||
{episoderating} user rating for episode
|
||||
{episodeimagewidth} episode image width
|
||||
{episodeimageheight} episode image height
|
||||
{episodeimagepath} episode image path
|
||||
{seasonposterwidth} episode season poster width
|
||||
{seasonposterheight} episode season poster height
|
||||
{seasonposterpath} episode season poster path
|
||||
{seriesposter1width} width of 1st poster
|
||||
{seriesposter1height} height of 1st poster
|
||||
{seriesposter1path} path of 1st poster
|
||||
{seriesposter2width} width of 2nd poster
|
||||
{seriesposter2height} height of 2nd poster
|
||||
{seriesposter2path} path of 2nd poster
|
||||
{seriesposter3width} width of 3rd poster
|
||||
{seriesposter3height} height of 3rd poster
|
||||
{seriesposter3path} path of 3rd poster
|
||||
{seriesfanart1width} width of 1st fanart
|
||||
{seriesfanart1height} height of 1st fanart
|
||||
{seriesfanart1path} path of 1st fanart
|
||||
{seriesfanart2width} width of 2nd fanart
|
||||
{seriesfanart2height} height of 2nd fanart
|
||||
{seriesfanart2path} path of 2nd fanart
|
||||
{seriesfanart3width} width of 3rd fanart
|
||||
{seriesfanart3height} height of 3rd fanart
|
||||
{seriesfanart3path} path of 3rd fanart
|
||||
{seriesbanner1width} width of 1st banner
|
||||
{seriesbanner1height} height of 1st banner
|
||||
{seriesbanner1path} path of 1st banner
|
||||
{seriesbanner2width} width of 2nd banner
|
||||
{seriesbanner2height} height of 2nd banner
|
||||
{seriesbanner2path} path of 2nd banner
|
||||
{seriesbanner3width} width of 3rd banner
|
||||
{seriesbanner3height} height of 3rd banner
|
||||
{seriesbanner3path} path of 3rd fanart
|
||||
{actors[]} array with movie actors
|
||||
{actors[name]} real name of actor
|
||||
{actors[role]} actor role
|
||||
{actors[thumb]} absolute path of scraped actor thumb
|
||||
{actors[thumbwidth]} width of scraped actor thumb
|
||||
{actors[thumbheight]} height of scraped actor thumb
|
||||
-->
|
||||
|
||||
<!-- a tab is one scrolling area, just position and draw as inside a normal area -->
|
||||
<!-- just define as many tabs as needed -->
|
||||
<tab name="Info" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawtext x="0" y="0" font="{semibold}" fontsize="6%" color="{clrWhite}" text="{date} {time} ({duration} mins)" />
|
||||
<drawtext x="0" y="6%" font="{semibold}" fontsize="8%" color="{clrWhite}" text="{name}" />
|
||||
<drawtext x="0" y="14%" font="{regular}" fontsize="6%" color="{clrWhite}" text="{shorttext}" />
|
||||
<drawtextbox condition="not{isseries}++not{ismovie}" x="0" y="20%" width="96%" font="{regular}" fontsize="8%" color="{clrWhite}" text="{description}" />
|
||||
<drawimage condition="{isseries}" name="seriesposter" imagetype="image" path="{seriesposter1path}" x="{areawidth}*0.7" y="20%" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {seriesposter1height} / {seriesposter1width}"/>
|
||||
<drawimage condition="{ismovie}" name="movieposter" imagetype="image" path="{posterpath}" x="{areawidth}*0.7" y="20%" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {posterheight} / {posterwidth}" />
|
||||
<drawtextbox condition="{isseries}" x="0" y="20%" width="96%" float="topright" floatwidth="{width(seriesposter)} + 10" floatheight="{height(seriesposter)} + 20" font="{regular}" fontsize="6%" color="{clrWhite}" text="{description}" />
|
||||
<drawtextbox condition="{ismovie}" x="0" y="20%" width="96%" float="topright" floatwidth="{width(movieposter)} + 10" floatheight="{height(movieposter)} + 20" font="{regular}" fontsize="6%" color="{clrWhite}" text="{description}" />
|
||||
</tab>
|
||||
<tab name="{tr(recinfo)}" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawtext align="center" y="0" name="title" font="{regular}" fontsize="8%" color="{clrWhite}" text="{tr(recinfo)}" />
|
||||
<drawtextbox x="0" y="{height(title)} + 20" width="96%" font="{regular}" fontsize="6%" color="{clrWhite}" text="{tr(recsize)}: {recordingsize} {tr(recsizecutted)}: {recordingsizecutted} {tr(reclength)}: {recordinglength} {tr(reclengthcutted)}: {recordinglengthcutted} {tr(bitrate)}: {recordingbitrate} {tr(format)}: {recordingformat} {tr(searchtimer)}: {searchtimer} " />
|
||||
</tab>
|
||||
<tab condition="{isseries}||{ismovie}" name="{tr(actors)}" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawtext align="center" name="title" y="0" font="{semibold}" fontsize="10%" color="{clrWhite}" text="{tr(actors)}" />
|
||||
<loop name="actors" x="0" y="{height(title)} + 10" width="{areawidth}" orientation="horizontal" columnwidth="{areawidth}*0.3" rowheight="{areawidth}*0.3*1.8" overflow="linewrap">
|
||||
<drawimage name="thumb" imagetype="image" path="{actors[thumb]}" x="20" y="0" width="{columnwidth}-40" height="{columnwidth} * {actors[thumbheight]} / {actors[thumbwidth]} - 40 * {actors[thumbheight]} / {actors[thumbwidth]}"/>
|
||||
<drawtext align="center" y="{height(thumb)} + 10" width="{columnwidth}" name="actorname" font="{regular}" fontsize="5%" color="{clrWhite}" text="{actors[name]}" />
|
||||
<drawtext align="center" y="{height(thumb)} + 10 + {height(actorname)}" width="{columnwidth}" font="{regular}" fontsize="5%" color="{clrWhite}" text="{actors[role]}" />
|
||||
</loop>
|
||||
</tab>
|
||||
<tab condition="{isseries}" name="TvDBInfo" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawimage name="banner" imagetype="image" path="{seriesbanner1path}" align="center" y="10" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesbanner1height} / {seriesbanner1width}"/>
|
||||
<drawimage name="episodeimage" imagetype="image" path="{episodeimagepath}" x="{areawidth}*0.7" y="{height(banner)} + 20" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {episodeimageheight} / {episodeimagewidth}"/>
|
||||
<drawimage name="seasonposter" imagetype="image" path="{seasonposterpath}" x="{areawidth}*0.7" y="{height(banner)} + {height(episodeimage)} + 30" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {seasonposterheight} / {seasonposterwidth}"/>
|
||||
<drawtextbox x="0" y="{height(banner)} + 20" width="96%" float="topright" floatwidth="{width(seasonposter)} + 10" floatheight="{height(episodeimage)} + {height(seasonposter)} + 30" font="{regular}" fontsize="6%" color="{clrWhite}" text="{tr(episode)}: {episodetitle} ({tr(season)} {episodeseason}, {tr(episode)} {episodenumber}) {episodeoverview}| {tr(gueststars)}: {episodegueststars}|| {tr(seriesfirstaired)}: {seriesfirstaired}|| {tr(episodefirstaired)}: {episodefirstaired}|| {tr(network)}: {seriesnetwork}|| {tr(genre)}: {seriesgenre}|| {tr(status)}: {seriesstatus}|| {tr(rating)}: {seriesrating}|| {tr(episoderating)}: {episoderating} |{seriesoverview} " />
|
||||
</tab>
|
||||
<tab condition="{isseries}" name="{tr(seriesgalery)}" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawimage name="banner1" imagetype="image" path="{seriesbanner1path}" align="center" y="10" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesbanner1height} / {seriesbanner1width}"/>
|
||||
<drawimage name="fanart1" imagetype="image" path="{seriesfanart1path}" align="center" y="{posy(banner1)} + {height(banner1)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesfanart1height} / {seriesfanart1width}"/>
|
||||
<drawimage name="banner2" imagetype="image" path="{seriesbanner2path}" align="center" y="{posy(fanart1)} + {height(fanart1)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesbanner2height} / {seriesbanner2width}"/>
|
||||
<drawimage name="fanart2" imagetype="image" path="{seriesfanart2path}" align="center" y="{posy(banner2)} + {height(banner2)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesfanart2height} / {seriesfanart2width}"/>
|
||||
<drawimage name="banner3" imagetype="image" path="{seriesbanner3path}" align="center" y="{posy(fanart2)} + {height(fanart2)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesbanner3height} / {seriesbanner3width}"/>
|
||||
<drawimage name="fanart3" imagetype="image" path="{seriesfanart3path}" align="center" y="{posy(banner3)} + {height(banner3)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {seriesfanart3height} / {seriesfanart3width}"/>
|
||||
<drawimage name="poster1" imagetype="image" path="{seriesposter1path}" align="center" y="{posy(fanart3)} + {height(fanart3)} + 20" width="{areawidth}*0.5" height="{areawidth} * 0.5 * {seriesposter1height} / {seriesposter1width}"/>
|
||||
<drawimage name="poster2" imagetype="image" path="{seriesposter2path}" align="center" y="{posy(poster1)} + {height(poster1)} + 20" width="{areawidth}*0.5" height="{areawidth} * 0.5 * {seriesposter2height} / {seriesposter2width}"/>
|
||||
<drawimage name="poster3" imagetype="image" path="{seriesposter3path}" align="center" y="{posy(poster2)} + {height(poster2)} + 20" width="{areawidth}*0.5" height="{areawidth} * 0.5 * {seriesposter3height} / {seriesposter3width}"/>
|
||||
</tab>
|
||||
<tab condition="{ismovie}" name="MovieDBInfo" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawimage name="poster" imagetype="image" path="{posterpath}" x="70%" y="10" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {posterheight} / {posterwidth}"/>
|
||||
<drawtextbox x="0" y="10" width="96%" float="topright" floatwidth="{width(poster)} + 10" floatheight="{height(poster)} + 20" font="{regular}" fontsize="6%" color="{clrWhite}" text="{tr(originaltitle)}: {movieoriginalTitle} |{tr(genre)}: {moviegenres} ||{movietagline} |{movieoverview} |{tr(budget)}: {moviebudget}$ ||{tr(revenue)}: {movierevenue}$ ||{tr(adult)}: {movieadult} ||{tr(releasedate)}: {moviereleasedate} ||{tr(runtime)}: {movieruntime} min || {tr(popularity)}: {moviepopularity} || {tr(voteaverage)}: {movievoteaverage} || {tr(homepage)}: {moviehomepage}| " />
|
||||
</tab>
|
||||
<tab condition="{ismovie}" name="{tr(moviegalery)}" x="2%" y="11%" width="48%" height="78%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawimage name="fanart" imagetype="image" path="{fanartpath}" align="center" y="10" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {fanartheight} / {fanartwidth}"/>
|
||||
<drawimage name="poster" imagetype="image" path="{posterpath}" align="center" y="{height(fanart)} + 30" width="{areawidth}*0.6" height="{areawidth} * 0.6 * {posterheight} / {posterwidth}"/>
|
||||
<drawimage condition="{movieiscollection}" name="collectionfanart" imagetype="image" path="{collectionfanartpath}" align="center" y="{posy(poster)} + {height(poster)} + 20" width="{areawidth}*0.9" height="{areawidth} * 0.9 * {collectionfanartheight} / {collectionfanartwidth}"/>
|
||||
<drawimage condition="{movieiscollection}" name="collectionposter" imagetype="image" path="{collectionposterpath}" align="center" y="{posy(collectionfanart)} + {height(collectionfanart)} + 20" width="{areawidth}*0.6" height="{areawidth} * 0.6 * {collectionposterheight} / {collectionposterwidth}"/>
|
||||
</tab> <!-- Available Variables tablabels:
|
||||
{currenttab} name of currently active tab
|
||||
{prevtab} name of prev tab
|
||||
{nexttab} name of next tab
|
||||
{tabs[]} array with available tab labels
|
||||
{tabs[title]} title of tab
|
||||
{tabs[current]} true if tab is displayed currently
|
||||
-->
|
||||
<tablabels>
|
||||
<area x="56%" y="72%" width="41%" height="9%" layer="3">
|
||||
<drawtext align="center" y="0" width="100%" font="{semibold}" fontsize="100%" color="{clrWhite}" text="{currenttab}" />
|
||||
</area>
|
||||
<area x="56%" y="81%" width="18%" height="8%" layer="3">
|
||||
<drawtext align="center" valign="center" width="100%" font="{regular}" fontsize="60%" color="{clrGray}" text="{prevtab}" />
|
||||
</area>
|
||||
<area x="79%" y="81%" width="17%" height="8%" layer="3">
|
||||
<drawtext align="center" valign="center" width="100%" font="{regular}" fontsize="60%" color="{clrGray}" text="{nexttab}" />
|
||||
</area>
|
||||
</tablabels>
|
||||
|
||||
</menudetailedrecording>
|
||||
37
skins/blackhole/xmlfiles/displaymenudetailtext.xml
Normal file
37
skins/blackhole/xmlfiles/displaymenudetailtext.xml
Normal file
@@ -0,0 +1,37 @@
|
||||
<menudetailedtext x="0" y="0" width="100%" height="100%" fadetime="0">
|
||||
|
||||
<background>
|
||||
<area x="0" y="0" width="100%" height="100%" layer="1">
|
||||
<drawimage imagetype="skinpart" path="displaymenuback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="1%" y="10%" width="93%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymendetailback" x="0" y="0" width="100%" height="100%" />
|
||||
</area>
|
||||
<area x="0" y="0" width="83%" height="8%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenuheader" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="74%" y="0" width="26%" height="46%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="displaymenucorner" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="{areawidth}*0.865" y="{areawidth}*0.005" width="13%" height="{areawidth}*0.13" layer="4">
|
||||
<drawimage imagetype="skinpart" path="watchback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</background>
|
||||
|
||||
<scrollbar>
|
||||
<area x="97%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="97%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<!-- Available Variables in tab elements:
|
||||
{text} detailed text
|
||||
-->
|
||||
<tab name="text" x="2%" y="11%" width="92%" height="79%" layer="3" scrollheight="{areaheight}/4">
|
||||
<drawtextbox x="0" y="0" width="100%" font="{regular}" fontsize="5%" color="{clrWhite}" text="{text}" />
|
||||
</tab>
|
||||
|
||||
</menudetailedtext>
|
||||
210
skins/blackhole/xmlfiles/displaymenumain.xml
Normal file
210
skins/blackhole/xmlfiles/displaymenumain.xml
Normal file
@@ -0,0 +1,210 @@
|
||||
<menumain x="0" y="0" width="100%" height="100%" fadetime="0" scaletvx="55%" scaletvy="10%" scaletvwidth="40%" scaletvheight="40%" >
|
||||
|
||||
<header>
|
||||
<area x="0" y="0" width="83%" height="8%" layer="3">
|
||||
<drawtext x="1%" width="100%" valign="center" font="{semibold}" fontsize="90%" color="{clrWhite}" text="{title} - {vdrversion}" />
|
||||
</area>
|
||||
</header>
|
||||
|
||||
<background>
|
||||
<area x="0" y="0" width="100%" height="100%" layer="1">
|
||||
<drawimage imagetype="skinpart" path="displaymenubacktv" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="0" y="0" width="83%" height="8%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenuheader" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="74%" y="0" width="26%" height="46%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="displaymenucorner" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="{areawidth}*0.865" y="{areawidth}*0.005" width="13%" height="{areawidth}*0.13" layer="4">
|
||||
<drawimage imagetype="skinpart" path="watchback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="55%" y="51%" width="44%" height="19%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="tachos_back" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="55%" y="51%" width="44%" height="19%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="tacho_percent_back" x="{areawidth}*0.005" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
</area>
|
||||
<area x="55%" y="51%" width="44%" height="19%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="tacho_load_back" x="{areawidth}*0.255" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
</area>
|
||||
<area x="55%" y="51%" width="44%" height="19%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="tacho_temp_back" x="{areawidth}*0.505" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
</area>
|
||||
<area x="55%" y="51%" width="44%" height="19%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="tacho_temp_back" x="{areawidth}*0.755" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
</area>
|
||||
<area x="55%" y="71%" width="44%" height="19%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="tachos_back" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</background>
|
||||
|
||||
<scrollbar>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<!-- Available Variables timers:
|
||||
{numtimers} number of active timers (max. 15 timers will be displayed)
|
||||
{numtimerconflicts} number of current timer conflicts
|
||||
{timer1exists} true if timer 1 available
|
||||
{timer2exists} true if timer 2 available
|
||||
...
|
||||
{timer15exists} true if timer 15 available
|
||||
{timers[]} array with active timers (local and remote if remotetimers plugin is in use)
|
||||
{timers[title]} title of timer
|
||||
{timers[datetime]} date and time of timer
|
||||
{timers[recording]} true if timer is recording currently
|
||||
{timers[channelname]} name of channel for which timer is created
|
||||
{timers[channelnumber]} number of channel
|
||||
{timers[channelid]} ChannelID of channel
|
||||
{timers[channellogoexists]} true if channel logo exists
|
||||
-->
|
||||
<timers>
|
||||
<area condition="not{numtimers}" x="55%" y="71%" width="44%" height="19%" layer="2">
|
||||
<drawtext align="center" valign="center" font="{semibold}" fontsize="40%" color="{clrWhite}" text="{tr(noactivetimers)}" />
|
||||
</area>
|
||||
<area condition="{numtimers}" x="55%" y="71%" width="44%" height="19%" layer="2">
|
||||
<loop name="timers" x="0" y="0" orientation="horizontal" columnwidth="{areawidth}/4" rowheight="{areaheight}" overflow="cut">
|
||||
<drawimage cache="true" name="logo" imagetype="channellogo" path="{timers[channelid]}" width="{columnwidth}-15" height="40%" align="center" y="10" />
|
||||
<drawrectangle condition="{timers[recording]}" x="0" y="{height(logo)}+10" width="{columnwidth}-5" height="{rowheight} - {height(logo)} - 20" color="{clrRedTrans}" />
|
||||
<drawtextbox x="5" y="{height(logo)} + 10" width="{columnwidth}-10" align="center" maxlines="2" font="{regular}" fontsize="15%" color="{clrWhite}" text="{timers[title]}" />
|
||||
<drawtext align="center" y="75%" font="{regular}" fontsize="20%" color="{clrWhite}" text="{timers[datetime]}" />
|
||||
</loop>
|
||||
</area>
|
||||
</timers>
|
||||
|
||||
<!-- Available Variables discusage:
|
||||
{freetime} available disc capacity in hh:mm
|
||||
{freepercent} available disc capacity in percent
|
||||
{usedpercent} used disc capacity in percent
|
||||
{freegb} available disc capacity in gigabytes
|
||||
{discalert} true if disc usage is > 95%
|
||||
{vdrusagestring} localized VDR internal usage string
|
||||
-->
|
||||
<discusage>
|
||||
<area x="55%" y="51%" width="44%" height="19%" layer="5">
|
||||
<drawimage imagetype="skinpart" path="tachohands/perc_{usedpercent}" x="{areawidth}*0.005" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
</area>
|
||||
<area x="55%" y="51%" width="11%" height="19%" layer="4">
|
||||
<drawtext align="center" y="80%" font="{regular}" fontsize="14%" color="{clrWhite}" text="Disc Usage: {usedpercent}%" />
|
||||
</area>
|
||||
</discusage>
|
||||
|
||||
<!-- Available Variables devices:
|
||||
{numdevices} number of available devices
|
||||
{devices[]} array with available devices
|
||||
{devices[num]} number of current device
|
||||
{devices[type]} type of device (DVB-S, DVB-C, ...)
|
||||
{devices[istuned]} true if device is currently tuned to a transponder
|
||||
{devices[livetv]} true if device is currently playing livetv
|
||||
{devices[recording]} true if device is currently recording
|
||||
{devices[hascam]} true if device has a CAM
|
||||
{devices[cam]} number of CAM
|
||||
{devices[signalstrength]} signalstrength of devcie
|
||||
{devices[signalquality]} signalstrength of devcie
|
||||
{devices[channelnumber]} number of the currently tuned channel
|
||||
{devices[channelname]} name of the currently tuned channel
|
||||
{devices[channellogoexists]} true if a channel logo exists
|
||||
{devices[channelid]} ID of the currently tuned channel
|
||||
{devices[source]} source of the currently tuned channel
|
||||
-->
|
||||
<devices>
|
||||
</devices>
|
||||
|
||||
<!-- Available Variables systemload:
|
||||
{load} current system load
|
||||
{loadhand} system load for tacho hand (between 0 and 2.5 in 0.025 steps multiplied by 1000, >2.5 is always 2525)
|
||||
-->
|
||||
<systemload>
|
||||
<area x="55%" y="51%" width="44%" height="19%" layer="5">
|
||||
<drawimage imagetype="skinpart" path="tachohands/load_{loadhand}" x="{areawidth}*0.255" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
</area>
|
||||
<area x="66%" y="51%" width="11%" height="19%" layer="4">
|
||||
<drawtext align="center" y="80%" font="{regular}" fontsize="14%" color="{clrWhite}" text="Load: {load}" />
|
||||
</area>
|
||||
</systemload>
|
||||
|
||||
<!-- Available Variables tempreatures:
|
||||
{cputemp} current cpu temperature in °C
|
||||
{gputemp} current gpu temperature in °C
|
||||
-->
|
||||
<temperatures>
|
||||
<area x="55%" y="51%" width="44%" height="19%" layer="5">
|
||||
<drawimage condition="gt({cputemp}, 80)" imagetype="skinpart" path="tachohands/temp_81" x="{areawidth}*0.505" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
<drawimage condition="lt({cputemp}, 81)" imagetype="skinpart" path="tachohands/temp_{cputemp}" x="{areawidth}*0.505" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
<drawimage condition="gt({gputemp}, 80)" imagetype="skinpart" path="tachohands/temp_81" x="{areawidth}*0.755" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
<drawimage condition="lt({cputemp}, 81)" imagetype="skinpart" path="tachohands/temp_{gputemp}" x="{areawidth}*0.755" y="5%" width="24%" height="{areawidth}*0.24"/>
|
||||
</area>
|
||||
<area x="77%" y="51%" width="11%" height="19%" layer="4">
|
||||
<drawtext align="center" y="80%" font="{regular}" fontsize="14%" color="{clrWhite}" text="CPU Temp: {cputemp}°C" />
|
||||
</area>
|
||||
<area x="88%" y="51%" width="11%" height="19%" layer="4">
|
||||
<drawtext align="center" y="80%" font="{regular}" fontsize="14%" color="{clrWhite}" text="GPU Temp: {gputemp}°C" />
|
||||
</area>
|
||||
</temperatures>
|
||||
|
||||
<!-- Available Variables currentschedule:
|
||||
{title} Title of the current Schedule
|
||||
{subtitle} Subtitle of the current Schedule
|
||||
{start} Start of current Schedule in hh:mm
|
||||
{stop} End of current Schedule in hh:mm
|
||||
{duration} Duration of current Schedule in min
|
||||
{durationhours} Duration, full hours
|
||||
{minutes} Duration, rest of minutes
|
||||
{elapsed} Elapsed time of current Schedule in min
|
||||
{remaining} Remaining time of current Schedule in min
|
||||
{hasPoster} true if poster is available
|
||||
{posterpath} Full Path of Poster to use in image path attribute
|
||||
{posterwidth} width of poster in pixel
|
||||
{posterheight} height of poster in pixel
|
||||
{hasBanner} true if banner is available
|
||||
{bannerpath} Full Path of banner to use in image path attribute
|
||||
{bannerwidth} width of banner in pixel
|
||||
{bannerheight} height of banner in pixel
|
||||
-->
|
||||
<currentschedule>
|
||||
</currentschedule>
|
||||
|
||||
<!-- Available Variables customtokens:
|
||||
all custom tokens set by the svdrp command SCTK are available in this viewelement
|
||||
For instance, use an appropriate script which runs periodically as cronjob and
|
||||
sets these custom tokens with svdrpsend or dbus2vdr
|
||||
-->
|
||||
<customtokens>
|
||||
</customtokens>
|
||||
|
||||
<menuitems x="1%" y="10%" orientation="vertical" width="50%" height="80%" align="center" numlistelements="10">
|
||||
<!-- Available Variables main menu listelement:
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{label} label of menu item
|
||||
{number} number of menu item (or empty string if not set)
|
||||
{icon} path of appropriate icon
|
||||
{current} true if item is currently selected
|
||||
{separator} true if item is a list separator
|
||||
-->
|
||||
<listelement>
|
||||
<area x="0" width="100%" layer="2">
|
||||
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="100%" height="100%"/>
|
||||
<drawimage condition="{current}" imagetype="skinpart" path="menubuttonactive" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="0" width="100%" layer="3">
|
||||
<drawtext condition="not{current}" x="1%" width="98%" valign="center" font="{regular}" fontsize="80%" color="{clrGray}" text="{number} {label} " />
|
||||
<drawtext condition="{current}" x="1%" width="98%" valign="center" font="{regular}" fontsize="80%" color="{clrWhite}" text="{number} {label} " />
|
||||
</area>
|
||||
</listelement>
|
||||
<!-- additional element which is drawn for current element -->
|
||||
<!-- Available Variables main menu currentelement:
|
||||
{label} label of menu item
|
||||
{number} number of menu item (or empty string if not set)
|
||||
{icon} path of appropriate icon
|
||||
-->
|
||||
<currentelement delay="50" fadetime="0">
|
||||
</currentelement>
|
||||
</menuitems>
|
||||
|
||||
</menumain>
|
||||
119
skins/blackhole/xmlfiles/displaymenurecordings.xml
Normal file
119
skins/blackhole/xmlfiles/displaymenurecordings.xml
Normal file
@@ -0,0 +1,119 @@
|
||||
<menurecordings x="0" y="0" width="100%" height="100%" fadetime="0" scaletvx="55%" scaletvy="10%" scaletvwidth="40%" scaletvheight="40%">
|
||||
|
||||
<scrollbar>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<menuitems x="1%" y="10%" orientation="vertical" width="98%" height="80%" align="center" numlistelements="10">
|
||||
<!-- Available Variables recordings menu listelement:
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{name} Name of recording
|
||||
{date} Date of recording
|
||||
{time} Time of recording
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{duration} real duration of recording in minutes
|
||||
{durationhours} real duration, full hours
|
||||
{durationminutes} real duration, rest of minutes
|
||||
{durationevent} duration of corresponding event in minutes
|
||||
{durationeventhours} event duration, full hours
|
||||
{durationeventminutes} event duration, rest of minutes
|
||||
{current} true if item is currently selected
|
||||
{new} true if recording is new
|
||||
{cutted} true if recording is cutted
|
||||
{folder} true if item is a folder
|
||||
{numrecordingsfolder} if item is a folder, number of recordings in this folder
|
||||
{newrecordingsfolder} if item is a folder, number of new recordings in this folder
|
||||
{hasposterthumbnail} true if a scraped poster thumbnail is available for recording
|
||||
{thumbnailbwidth} width of scraped poster thumbnail
|
||||
{thumbnailheight} height of scraped poster thumbnail
|
||||
{thumbnailpath} absolute path of scraped poster thumbnail
|
||||
-->
|
||||
<listelement>
|
||||
<area x="0" width="51%" layer="2">
|
||||
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="100%" height="100%"/>
|
||||
<drawimage condition="{current}" imagetype="skinpart" path="menubuttonactive" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area condition="not{folder}" x="1%" width="50%" layer="3">
|
||||
<drawtext condition="not{current}" x="0" y="5%" font="{regular}" fontsize="35%" color="{clrGray}" text="{date} - {time}, {duration} min" />
|
||||
<drawtext condition="{current}" x="0" y="5%" font="{regular}" fontsize="35%" color="{clrWhite}" text="{date} - {time}, {duration} min" />
|
||||
</area>
|
||||
<area condition="not{folder}" x="1%" width="50%" layer="3">
|
||||
<drawimage name="new" condition="{new}" imagetype="icon" path="ico_new_rec" align="right" y="8%" width="{areaheight}/2" height="{areaheight}/2" />
|
||||
<drawimage name="cutted" condition="{new}++{cutted}" imagetype="icon" path="ico_cutted" x="{areawidth} - {areaheight} - 10" y="8%" width="{areaheight}/2" height="{areaheight}/2" />
|
||||
<drawimage condition="not{new}++{cutted}" imagetype="icon" path="ico_cutted" align="right" y="8%" width="{areaheight}/2" height="{areaheight}/2" />
|
||||
</area>
|
||||
<areascroll condition="not{folder}" scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" x="1%" width="50%" layer="3">
|
||||
<drawtext condition="not{current}" name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrGray}" text="{name}" />
|
||||
<drawtext condition="{current}" name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrWhite}" text="{name}" />
|
||||
</areascroll>
|
||||
<area condition="{folder}" x="1%" width="4%" layer="3">
|
||||
<drawimage imagetype="icon" path="ico_folder" x="0" valign="center" width="{areaheight}*0.8" height="80%"/>
|
||||
</area>
|
||||
<areascroll condition="{folder}" scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" x="6%" width="45%" layer="3">
|
||||
<drawtext condition="not{current}" name="menutext" x="0" valign="center" font="{regular}" fontsize="70%" color="{clrGray}" text="{name} ({numrecordingsfolder} rec., {newrecordingsfolder} new)" />
|
||||
<drawtext condition="{current}" name="menutext" x="0" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{name} ({numrecordingsfolder} rec., {newrecordingsfolder} new)" />
|
||||
</areascroll>
|
||||
</listelement>
|
||||
<!-- additional element which is drawn for current element -->
|
||||
<!-- Available Variables channels menu currentelement:
|
||||
{menuitemx} x position of according menu item
|
||||
{menuitemy} y position of according menu item
|
||||
{menuitemwidth} width of according menu item
|
||||
{menuitemheight} height of according menu item
|
||||
{name} Name of recording
|
||||
{shorttext} Short Text of recording
|
||||
{description} Descrption of recording
|
||||
{date} Date of recording
|
||||
{time} Time of recording
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{duration} real duration of recording in minutes
|
||||
{durationhours} real duration, full hours
|
||||
{durationminutes} real duration, rest of minutes
|
||||
{durationevent} duration of corresponding event in minutes
|
||||
{durationeventhours} event duration, full hours
|
||||
{durationeventminutes} event duration, rest of minutes {new} true if recording is new
|
||||
{cutted} true if recording is cutted
|
||||
{folder} true if item is a folder
|
||||
{numrecordingsfolder} if item is a folder, number of recordings in this folder
|
||||
{newrecordingsfolder} if item is a folder, number of new recordings in this folder
|
||||
{hasposter} true if a scraped poster is available for recording
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
-->
|
||||
<currentelement delay="500" fadetime="0">
|
||||
<area x="55%" y="52%" width="45%" height="48%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenucurrentback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area condition="{folder}" x="55%" y="52%" width="45%" height="48%" layer="3">
|
||||
<drawimage imagetype="icon" path="ico_folder" x="25%" y="3%" width="50%" height="{areawidth}*0.5"/>
|
||||
<drawtext align="center" y="75%" font="{regular}" fontsize="20%" color="{clrWhite}" text="{numrecordingsfolder} recs, {newrecordingsfolder} new" />
|
||||
</area>
|
||||
<areascroll condition="not{folder}++not{hasposter}" orientation="vertical" mode="forthandback" delay="1000" scrollspeed="medium" x="56%" y="53%" width="43%" height="46%" layer="3">
|
||||
<drawtext x="0" y="0" font="{semibold}" width="100%" fontsize="10%" color="{clrWhite}" text="{date} - {time}, {duration} min" />
|
||||
<drawtext x="0" y="10%" font="{semibold}" width="100%" fontsize="12%" color="{clrWhite}" text="{name}" />
|
||||
<drawtextbox name="shorttext" x="0" y="21%" width="100%" font="{regular}" fontsize="9%" color="{clrWhite}" text="{shorttext}" />
|
||||
<drawtextbox x="0" y="{posy(shorttext)} + {height(shorttext)}" width="100%" font="{regular}" fontsize="8%" color="{clrWhite}" text="{description}" />
|
||||
</areascroll>
|
||||
<area condition="not{folder}++{hasposter}" x="56%" y="53%" width="15%" height="46%" layer="3">
|
||||
<drawimage imagetype="image" path="{posterpath}" align="center" valign="center" width="{areawidth}" height="{areawidth} * {posterheight} / {posterwidth}"/>
|
||||
</area>
|
||||
<areascroll condition="not{folder}++{hasposter}" orientation="vertical" mode="forthandback" delay="1000" scrollspeed="medium" x="72%" y="53%" width="27%" height="46%" layer="3">
|
||||
<drawtext x="0" y="0" font="{semibold}" width="100%" fontsize="10%" color="{clrWhite}" text="{date} - {time}, {duration} min" />
|
||||
<drawtext x="0" y="10%" font="{semibold}" width="100%" fontsize="12%" color="{clrWhite}" text="{name}" />
|
||||
<drawtextbox name="shorttext" x="0" y="21%" width="100%" font="{regular}" fontsize="9%" color="{clrWhite}" text="{shorttext}" />
|
||||
<drawtextbox x="0" y="{posy(shorttext)} + {height(shorttext)}" width="100%" font="{regular}" fontsize="8%" color="{clrWhite}" text="{description}" />
|
||||
</areascroll>
|
||||
</currentelement>
|
||||
</menuitems>
|
||||
|
||||
</menurecordings>
|
||||
196
skins/blackhole/xmlfiles/displaymenuschedules.xml
Normal file
196
skins/blackhole/xmlfiles/displaymenuschedules.xml
Normal file
@@ -0,0 +1,196 @@
|
||||
<menuschedules x="0" y="0" width="100%" height="100%" fadetime="0" scaletvx="55%" scaletvy="10%" scaletvwidth="40%" scaletvheight="40%" >
|
||||
<!-- Available Variables header:
|
||||
{title} title of current menu
|
||||
{vdrversion} running VDR Version
|
||||
{hasicon} true if a menu icon is available
|
||||
{icon} path of menu icon
|
||||
{channelnumber} Number of Channel of current event
|
||||
{channelname} Name of current Channel of current event
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{channelid} ChannelID as path to display channel logo
|
||||
{whatson} true if menu "What's on" is displayed
|
||||
{whatsonnow} true if menu "What's on now" is displayed
|
||||
{whatsonnext} true if menu "What's on next" is displayed
|
||||
-->
|
||||
<header>
|
||||
<area x="0" y="0" width="83%" height="8%" layer="3">
|
||||
<drawtext condition="{whatsonnow}||{whatsonnext}" x="5" valign="center" font="{semibold}" fontsize="100%" color="{clrWhite}" text="{title}" />
|
||||
<drawimage name="logo" condition="{whatson}" imagetype="channellogo" path="{channelid}" x="1%" width="5%" height="90%" align="left" valign="center" />
|
||||
<drawtext condition="{whatson}" x="{posx(logo)} + {width(logo)}+20" valign="center" font="{semibold}" fontsize="100%" color="{clrWhite}" text="{channelnumber} - {channelname}" />
|
||||
</area>
|
||||
</header>
|
||||
|
||||
<scrollbar>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<menuitems x="1%" y="10%" orientation="vertical" width="98%" height="80%" align="center" numlistelements="10">
|
||||
<!-- Available Variables schedules menu listelement:
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{title} title of event
|
||||
{shorttext} shorttext of event
|
||||
{start} event start time in hh::mm
|
||||
{stop} event stop time
|
||||
{day} day of current event
|
||||
{date} date of current event in dd.mm.yy
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{running} true if event is currently running
|
||||
{elapsed} elapsed time of event, if not running 0
|
||||
{duration} duration of event
|
||||
{durationhours} duration, full hours
|
||||
{durationminutes} duration, rest of minutes
|
||||
{current} true if item is currently selected
|
||||
{separator} true if item is a list separator
|
||||
{channelname} Channel Name
|
||||
{channelnumber} Channel Number
|
||||
{channelid} ChannelID as path to display channel logo
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{whatson} true if menu "What's on" is displayed
|
||||
{whatsonnow} true if menu "What's on now" is displayed
|
||||
{whatsonnext} true if menu "What's on next" is displayed
|
||||
{timerpartitial} true if partitial timer is set for the event
|
||||
{timerfull} true if full timer is set for the event
|
||||
{hasVPS} true if event has VPS information
|
||||
-->
|
||||
<listelement>
|
||||
<area x="0" width="51%" layer="2">
|
||||
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="100%" height="100%"/>
|
||||
<drawimage condition="{current}" imagetype="skinpart" path="menubuttonactive" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<!-- progress bar for running -->
|
||||
<area condition="{running}" x="25%" width="25%" layer="4">
|
||||
<drawimage imagetype="skinpart" path="progressbarback" x="0" y="10%" width="100%" height="20%"/>
|
||||
</area>
|
||||
<area condition="{running}" x="25%" width="25%" layer="5">
|
||||
<drawimage imagetype="skinpart" path="progressbar" x="{areaheight}*0.1" y="10%" width="{elapsed}/{duration}*{areawidth} - {elapsed}/{duration}*{areaheight}*0.2" height="20%"/>
|
||||
</area>
|
||||
<area condition="{running}" x="25%" width="25%" layer="6">
|
||||
<drawimage imagetype="skinpart" path="progressbarend" x="{areaheight}*0.1 + {elapsed}/{duration}*{areawidth} - {elapsed}/{duration}*{areaheight}*0.2 - 1" y="10%" width="{areaheight}*0.1" height="20%"/>
|
||||
</area>
|
||||
<!-- timer symbols-->
|
||||
<area condition="{timerfull}||{timerpartitial}" x="47%" width="3%" layer="4">
|
||||
<drawimage condition="{timerfull}" imagetype="icon" path="ico_timer" align="right" y="1%" width="{areaheight}/2" height="{areaheight}/2" />
|
||||
<drawimage condition="{timerpartitial}" imagetype="icon" path="ico_timer" align="right" y="1%" width="{areaheight} * 0.35" height="{areaheight} * 0.35" />
|
||||
</area>
|
||||
<!-- element whatson -->
|
||||
<area condition="not{separator}++{whatson}++not{current}" x="1%" width="50%" layer="3">
|
||||
<drawtext x="0" y="5%" font="{regular}" fontsize="35%" color="{clrGray}" text="{start} - {stop}" />
|
||||
</area>
|
||||
<areascroll scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" condition="not{separator}++{whatson}++not{current}" x="1%" width="50%" layer="3">
|
||||
<drawtext name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrGray}" text="{title}" />
|
||||
</areascroll>
|
||||
<!-- current element whatson -->
|
||||
<area condition="not{separator}++{whatson}++{current}" x="1%" width="50%" layer="3">
|
||||
<drawtext x="0" y="5%" font="{regular}" fontsize="35%" color="{clrWhite}" text="{start} - {stop}" />
|
||||
</area>
|
||||
<areascroll scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" condition="not{separator}++{whatson}++{current}" x="1%" width="50%" layer="3">
|
||||
<drawtext name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrWhite}" text="{title}" />
|
||||
</areascroll>
|
||||
<!-- element whatsonnow -->
|
||||
<area condition="not{separator}++{whatsonnow}" x="1%" width="9%" layer="3">
|
||||
<drawimage name="logo" imagetype="channellogo" path="{channelid}" width="90%" height="90%" align="center" valign="center" />
|
||||
</area>
|
||||
<area condition="not{separator}++{whatsonnow}++not{current}" x="11%" width="39%" layer="3">
|
||||
<drawtext x="0" y="5%" font="{regular}" fontsize="35%" color="{clrGray}" text="{start} - {stop}" />
|
||||
</area>
|
||||
<areascroll scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" condition="not{separator}++{whatsonnow}++not{current}" x="11%" width="39%" layer="3">
|
||||
<drawtext name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrGray}" text="{title}" />
|
||||
</areascroll>
|
||||
<!-- current element whatsonnow -->
|
||||
<area condition="not{separator}++{whatsonnow}++{current}" x="11%" width="39%" layer="3">
|
||||
<drawtext x="0" y="5%" font="{regular}" fontsize="35%" color="{clrWhite}" text="{start} - {stop}" />
|
||||
</area>
|
||||
<areascroll scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" condition="not{separator}++{whatsonnow}++{current}" x="11%" width="39%" layer="3">
|
||||
<drawtext name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrWhite}" text="{title}" />
|
||||
</areascroll>
|
||||
<!-- element whatsonnext -->
|
||||
<area condition="not{separator}++{whatsonnext}" x="1%" width="9%" layer="3">
|
||||
<drawimage name="logo" imagetype="channellogo" path="{channelid}" width="90%" height="90%" align="center" valign="center" />
|
||||
</area>
|
||||
<area condition="not{separator}++{whatsonnext}++not{current}" x="11%" width="39%" layer="3">
|
||||
<drawtext x="0" y="5%" font="{regular}" fontsize="35%" color="{clrGray}" text="{start} - {stop}" />
|
||||
</area>
|
||||
<areascroll scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" condition="not{separator}++{whatsonnext}++not{current}" x="11%" width="39%" layer="3">
|
||||
<drawtext name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrGray}" text="{title}" />
|
||||
</areascroll>
|
||||
<!-- current element whatsonnext -->
|
||||
<area condition="not{separator}++{whatsonnext}++{current}" x="11%" width="39%" layer="3">
|
||||
<drawtext x="0" y="5%" font="{regular}" fontsize="35%" color="{clrWhite}" text="{start} - {stop}" />
|
||||
</area>
|
||||
<areascroll scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" condition="not{separator}++{whatsonnext}++{current}" x="11%" width="39%" layer="3">
|
||||
<drawtext name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrWhite}" text="{title}" />
|
||||
</areascroll>
|
||||
<!-- day or channel separator -->
|
||||
<area condition="{separator}" x="1%" width="50%" layer="3">
|
||||
<drawtext x="0" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{title}" />
|
||||
</area>
|
||||
</listelement>
|
||||
<!-- Available Variables schedules menu currentelement:
|
||||
{menuitemx} x position of according menu item
|
||||
{menuitemy} y position of according menu item
|
||||
{menuitemwidth} width of according menu item
|
||||
{menuitemheight} height of according menu item
|
||||
{title} title of event
|
||||
{shorttext} shorttext of event
|
||||
{description} detailed description of event
|
||||
{start} event start time in hh::mm
|
||||
{stop} event stop time
|
||||
{day} day of current event
|
||||
{date} date of current event in dd.mm.yy
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{running} true if event is currently running
|
||||
{elapsed} elapsed time of event, if not running 0
|
||||
{duration} duration of event
|
||||
{durationhours} duration, full hours
|
||||
{durationminutes} duration, rest of minutes
|
||||
{channelname} Channel Name
|
||||
{channelnumber} Channel Number
|
||||
{channelid} ChannelID as path to display channel logo
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{hasposter} true if a scraped poster is available for this element
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
{timerpartitial} true if partitial timer is set for the event
|
||||
{timerfull} true if full timer is set for the event
|
||||
{whatson} true if menu "What's on" is displayed
|
||||
{whatsonnow} true if menu "What's on now" is displayed
|
||||
{whatsonnext} true if menu "What's on next" is displayed
|
||||
{schedule[]} array with next 10 schedules, only for whatsonnow and whatsonnext
|
||||
{schedule[title]} title of event
|
||||
{schedule[shorttext]} shorttext of event
|
||||
{schedule[start]} start time of event in hh:mm
|
||||
{schedule[stop]} stop time of event in hh:mm
|
||||
-->
|
||||
<currentelement delay="200" fadetime="0">
|
||||
<area x="55%" y="52%" width="45%" height="48%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenucurrentback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<areascroll condition="not{hasposter}" orientation="vertical" mode="forthandback" delay="1000" scrollspeed="medium" x="56%" y="53%" width="43%" height="46%" layer="3">
|
||||
<drawtext x="0" y="0" font="{semibold}" width="100%" fontsize="10%" color="{clrWhite}" text="{day} {daynumeric}.{month} {start} - {stop}" />
|
||||
<drawtext x="0" y="10%" font="{semibold}" width="100%" fontsize="12%" color="{clrWhite}" text="{title}" />
|
||||
<drawtextbox name="shorttext" x="0" y="21%" width="100%" font="{regular}" fontsize="9%" color="{clrWhite}" text="{shorttext}" />
|
||||
<drawtextbox x="0" y="{posy(shorttext)} + {height(shorttext)}" width="100%" font="{regular}" fontsize="8%" color="{clrWhite}" text="{description}" />
|
||||
</areascroll>
|
||||
<area condition="{hasposter}" x="56%" y="53%" width="15%" height="46%" layer="3">
|
||||
<drawimage imagetype="image" path="{posterpath}" align="center" valign="center" width="{areawidth}" height="{areawidth} * {posterheight} / {posterwidth}"/>
|
||||
</area>
|
||||
<areascroll condition="{hasposter}" orientation="vertical" mode="forthandback" delay="1000" scrollspeed="medium" x="72%" y="53%" width="27%" height="46%" layer="3">
|
||||
<drawtext x="0" y="0" font="{semibold}" width="100%" fontsize="10%" color="{clrWhite}" text="{day} {daynumeric}.{month} {start} - {stop}" />
|
||||
<drawtext x="0" y="10%" font="{semibold}" width="100%" fontsize="12%" color="{clrWhite}" text="{title}" />
|
||||
<drawtextbox name="shorttext" x="0" y="21%" width="100%" font="{regular}" fontsize="9%" color="{clrWhite}" text="{shorttext}" />
|
||||
<drawtextbox x="0" y="{posy(shorttext)} + {height(shorttext)}" width="100%" font="{regular}" fontsize="8%" color="{clrWhite}" text="{description}" />
|
||||
</areascroll>
|
||||
</currentelement>
|
||||
</menuitems>
|
||||
|
||||
</menuschedules>
|
||||
51
skins/blackhole/xmlfiles/displaymenusetup.xml
Normal file
51
skins/blackhole/xmlfiles/displaymenusetup.xml
Normal file
@@ -0,0 +1,51 @@
|
||||
<menusetup x="0" y="0" width="100%" height="100%" fadetime="0" scaletvx="55%" scaletvy="10%" scaletvwidth="40%" scaletvheight="40%" >
|
||||
|
||||
<scrollbar>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<menuitems x="1%" y="10%" orientation="vertical" width="98%" height="80%" align="center" numlistelements="10">
|
||||
<!-- Available Variables setup menu listelement:
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{label} label of menu item
|
||||
{number} number of menu item (or empty string if not set)
|
||||
{icon} path of appropriate icon
|
||||
{current} true if item is currently selected
|
||||
{separator} true if item is a list separator
|
||||
-->
|
||||
<listelement>
|
||||
<area x="0" width="51%" layer="2">
|
||||
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="100%" height="100%"/>
|
||||
<drawimage condition="{current}" imagetype="skinpart" path="menubuttonactive" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="0" width="51%" layer="3">
|
||||
<drawtext condition="not{current}" x="1%" width="98%" valign="center" font="{regular}" fontsize="80%" color="{clrGray}" text="{number} {label} " />
|
||||
<drawtext condition="{current}" x="1%" width="98%" valign="center" font="{regular}" fontsize="80%" color="{clrWhite}" text="{number} {label} " />
|
||||
</area>
|
||||
</listelement>
|
||||
<!-- additional element which is drawn for current element -->
|
||||
<!-- Available Variables main menu currentelement:
|
||||
{menuitemx} x position of according menu item
|
||||
{menuitemy} y position of according menu item
|
||||
{menuitemwidth} width of according menu item
|
||||
{menuitemheight} height of according menu item
|
||||
{label} label of menu item
|
||||
{number} number of menu item (or empty string if not set)
|
||||
{icon} path of appropriate icon
|
||||
-->
|
||||
<currentelement delay="50" fadetime="0">
|
||||
<area x="55%" y="52%" width="45%" height="48%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenucurrentback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="55%" y="52%" width="45%" height="48%" layer="3">
|
||||
<drawimage imagetype="menuicon" path="{icon}" align="center" valign="center" width="{areaheight}*0.9" height="{areaheight}*0.9"/>
|
||||
</area>
|
||||
</currentelement>
|
||||
</menuitems>
|
||||
|
||||
</menusetup>
|
||||
117
skins/blackhole/xmlfiles/displaymenutimers.xml
Normal file
117
skins/blackhole/xmlfiles/displaymenutimers.xml
Normal file
@@ -0,0 +1,117 @@
|
||||
<menutimers x="0" y="0" width="100%" height="100%" fadetime="0" scaletvx="55%" scaletvy="10%" scaletvwidth="40%" scaletvheight="40%" >
|
||||
|
||||
<scrollbar>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="scrollbarback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="52%" y="10%" width="2%" height="80%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="scrollbar" x="0" y="{areaheight} * {offset} / 1000" width="100%" height="{areaheight} * {height} / 1000"/>
|
||||
</area>
|
||||
</scrollbar>
|
||||
|
||||
<menuitems x="1%" y="10%" orientation="vertical" width="98%" height="80%" align="center" numlistelements="10">
|
||||
<!-- Available Variables channels menu listelement:
|
||||
{nummenuitem} number of item in list, starts with 1
|
||||
{title} Title of Timer
|
||||
{timerstart} Start Time of Timer in hh::mm
|
||||
{timerstop} End Time of Timer in hh::mm
|
||||
{day} Day (numerical)
|
||||
{dayname} Day, for repeating timers days where timer is active
|
||||
{month} Month (two digits)
|
||||
{monthname} Month, three letter abbrevation
|
||||
{year} Year (4 digits)
|
||||
{channelname} Name of channel which is set for the timer
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{channelid} ID of channel which is set for the timer (for dispalying channel logo)
|
||||
{channelnumber} Number of channel which is set for the timer
|
||||
{eventtitle} Title of corresponding event
|
||||
{eventstart} Start Time of corresponding event in hh::mm
|
||||
{eventstop} Stop Time of corresponding event in hh::mm
|
||||
{current} true if item is currently selected
|
||||
{flagactive} true if timer is active
|
||||
{flaginstant} true if timer is an instant timer
|
||||
{flagvps} true if timer uses VPS
|
||||
{flagrecording} true if is recording currently
|
||||
{flagpending} true if timer is pending
|
||||
-->
|
||||
<listelement>
|
||||
<area x="0" width="51%" layer="2">
|
||||
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="100%" height="100%"/>
|
||||
<drawimage condition="{current}" imagetype="skinpart" path="menubuttonactive" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area condition="not{separator}" x="1%" width="9%" layer="3">
|
||||
<drawimage name="logo" imagetype="channellogo" path="{channelid}" width="90%" height="90%" align="center" valign="center" />
|
||||
</area>
|
||||
<area condition="not{separator}" x="11%" width="39%" layer="3">
|
||||
<drawtext condition="not{current}" x="0" y="5%" font="{regular}" fontsize="35%" color="{clrGray}" text="{channelname}, {dayname} {day}.{month} {timerstart} - {timerstop}" />
|
||||
<drawtext condition="{current}" x="0" y="5%" font="{regular}" fontsize="35%" color="{clrWhite}" text="{channelname}, {dayname} {day}.{month} {timerstart} - {timerstop}" />
|
||||
</area>
|
||||
<area condition="not{separator}" x="11%" width="39%" layer="4">
|
||||
<drawimage condition="{flagactive}" imagetype="icon" path="ico_timer_active" align="right" y="8%" width="{areaheight}/3" height="{areaheight}/3" />
|
||||
<drawimage condition="not{flagactive}" imagetype="icon" path="ico_timer_inactive" align="right" y="8%" width="{areaheight}/3" height="{areaheight}/3" />
|
||||
</area>
|
||||
<areascroll scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" condition="not{separator}" x="11%" width="39%" layer="3">
|
||||
<drawtext condition="not{current}" name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrGray}" text="{title}" />
|
||||
<drawtext condition="{current}" name="menutext" x="0" y="35%" font="{regular}" fontsize="60%" color="{clrWhite}" text="{title}" />
|
||||
</areascroll>
|
||||
<area condition="{separator}" x="1%" width="50%" layer="3">
|
||||
<drawtext x="0" valign="center" font="{regular}" fontsize="70%" color="{clrWhite}" text="{title}" />
|
||||
</area>
|
||||
</listelement>
|
||||
<!-- additional element which is drawn for current element -->
|
||||
<!-- Available Variables channels menu currentelement:
|
||||
{menuitemx} x position of according menu item
|
||||
{menuitemy} y position of according menu item
|
||||
{menuitemwidth} width of according menu item
|
||||
{menuitemheight} height of according menu item
|
||||
{title} Title of Timer
|
||||
{timerstart} Start Time of Timer in hh::mm
|
||||
{timerstop} End Time of Timer in hh::mm
|
||||
{day} Day (numerical)
|
||||
{dayname} Day, for repeating timers days where timer is active
|
||||
{month} Month (two digits)
|
||||
{monthname} Month, three letter abbrevation
|
||||
{year} Year (4 digits)#
|
||||
{channelname} Name of channel which is set for the timer
|
||||
{channellogoexists} true if a channel logo exists
|
||||
{channelid} ID of channel which is set for the timer (for dispalying channel logo)
|
||||
{channelnumber} Number of channel which is set for the timer
|
||||
{eventtitle} Title of corresponding event
|
||||
{eventstart} Start Time of corresponding event in hh::mm
|
||||
{eventstop} Stop Time of corresponding event in hh::mm
|
||||
{eventshorttext} Short Text corresponding event
|
||||
{eventdescription} Description corresponding event
|
||||
{hasposter} true if a scraped poster is available for event
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
{flagactive} true if timer is active
|
||||
{flaginstant} true if timer is an instant timer
|
||||
{flagvps} true if timer uses VPS
|
||||
{flagrecording} true if is recording currently
|
||||
{flagpending} true if timer is pending
|
||||
-->
|
||||
<currentelement delay="500" fadetime="0">
|
||||
<area condition="{flagactive}" x="55%" y="52%" width="45%" height="48%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaymenucurrentback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<areascroll condition="{flagactive} ++ not{hasposter}" orientation="vertical" mode="forthandback" delay="1000" scrollspeed="medium" x="56%" y="53%" width="43%" height="46%" layer="3">
|
||||
<drawtext x="0" y="0" font="{semibold}" width="100%" fontsize="10%" color="{clrWhite}" text="{dayname} {day}.{month} {eventstart} - {eventstop}" />
|
||||
<drawtext x="0" y="10%" font="{semibold}" width="100%" fontsize="12%" color="{clrWhite}" text="{eventtitle}" />
|
||||
<drawtextbox name="shorttext" x="0" y="21%" width="100%" font="{regular}" fontsize="9%" color="{clrWhite}" text="{eventshorttext}" />
|
||||
<drawtextbox x="0" y="{posy(shorttext)} + {height(shorttext)}" width="100%" font="{regular}" fontsize="8%" color="{clrWhite}" text="{eventdescription}" />
|
||||
</areascroll>
|
||||
<area condition="{flagactive} ++ {hasposter}" x="56%" y="53%" width="15%" height="46%" layer="3">
|
||||
<drawimage imagetype="image" path="{posterpath}" align="center" valign="center" width="{areawidth}" height="{areawidth} * {posterheight} / {posterwidth}"/>
|
||||
</area>
|
||||
<areascroll condition="{flagactive} ++ {hasposter}" orientation="vertical" mode="forthandback" delay="1000" scrollspeed="medium" x="72%" y="53%" width="27%" height="46%" layer="3">
|
||||
<drawtext x="0" y="0" font="{semibold}" width="100%" fontsize="10%" color="{clrWhite}" text="{dayname} {day}.{month} {eventstart} - {eventstop}" />
|
||||
<drawtext x="0" y="10%" font="{semibold}" width="100%" fontsize="12%" color="{clrWhite}" text="{eventtitle}" />
|
||||
<drawtextbox name="shorttext" x="0" y="21%" width="100%" font="{regular}" fontsize="9%" color="{clrWhite}" text="{eventshorttext}" />
|
||||
<drawtextbox x="0" y="{posy(shorttext)} + {height(shorttext)}" width="100%" font="{regular}" fontsize="8%" color="{clrWhite}" text="{eventdescription}" />
|
||||
</areascroll>
|
||||
</currentelement>
|
||||
|
||||
</menuitems>
|
||||
|
||||
</menutimers>
|
||||
28
skins/blackhole/xmlfiles/displaymessage.xml
Normal file
28
skins/blackhole/xmlfiles/displaymessage.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE displaymessage SYSTEM "../../../dtd/displaymessage.dtd">
|
||||
|
||||
<displaymessage x="0" y="0" width="100%" height="100%" fadetime="{fadetime}">
|
||||
|
||||
<background>
|
||||
</background>
|
||||
|
||||
<!-- Available Variables message:
|
||||
{text} message text
|
||||
{status} true if message is a status message
|
||||
{info} true if message is a info message
|
||||
{warning} true if message is a warn message
|
||||
{error} true if message is a error message
|
||||
-->
|
||||
<message>
|
||||
<area x="5%" y="80%" width="90%" height="15%" layer="6">
|
||||
<drawimage condition="{status}" imagetype="skinpart" path="messageblue" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{info}" imagetype="skinpart" path="messagegreen" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{warning}" imagetype="skinpart" path="messageyellow" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{error}" imagetype="skinpart" path="messagered" x="0" y="0" width="100%" height="100%" />
|
||||
</area>
|
||||
<area x="5%" y="80%" width="90%" height="15%" layer="7">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="40%" color="{clrWhite}" text="{text}" />
|
||||
</area>
|
||||
</message>
|
||||
|
||||
</displaymessage>
|
||||
367
skins/blackhole/xmlfiles/displayreplay.xml
Normal file
367
skins/blackhole/xmlfiles/displayreplay.xml
Normal file
@@ -0,0 +1,367 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE displayreplay SYSTEM "../../../dtd/displayreplay.dtd">
|
||||
|
||||
<displayreplay x="0" y="70%" width="100%" height="30%" fadetime="{fadeTime}">
|
||||
|
||||
<background>
|
||||
<!-- global background -->
|
||||
<area x="0" y="0" width="100%" height="100%" layer="1">
|
||||
<drawimage imagetype="skinpart" path="displaychannelback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<!-- progressbar background -->
|
||||
<area x="17%" y="36%" width="67%" height="40%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displaychannelbackepg" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="18%" y="45%" width="65%" height="8%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="progressbarback_replay" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<!-- watch background -->
|
||||
<area x="86%" y="20%" width="{areaheight}*0.6" height="{areaheight}*0.6" layer="2">
|
||||
<drawimage imagetype="skinpart" path="watchback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</background>
|
||||
|
||||
<backgroundmodeonly>
|
||||
<area x="{areawidth}/2 - 2.5*{areaheight}*0.3" y="40%" width="5*{areaheight}*0.3" height="30%" layer="3">
|
||||
<fill color="{clrBlackTrans}" />
|
||||
</area>
|
||||
</backgroundmodeonly>
|
||||
|
||||
<!-- Available Variables datetime:
|
||||
{time} time in hh:mm
|
||||
{day} day in digits
|
||||
{dayleadingzero} day in digits with leading 0
|
||||
{dayname} Full name of the day
|
||||
{daynameshort} Short 3 char name of the day
|
||||
{month} month in digits with leading 0
|
||||
{monthname} Full name of the month
|
||||
{monthnameshort} 3 letter abbrivation of month name
|
||||
{year} year in yyyy
|
||||
-->
|
||||
<datetime>
|
||||
<area x="86%" y="5%" width="{areaheight}*0.6" height="14%" layer="3">
|
||||
<drawtext align="center" y="0" font="{semibold}" fontsize="100%" color="{clrWhite}" text="{daynameshort} {day}.{month}" />
|
||||
</area>
|
||||
<area x="86%" y="80%" width="{areaheight}*0.6" height="16%" layer="3">
|
||||
<drawtext align="center" y="0" font="{digital}" fontsize="100%" color="{clrWhite}" text="{time}" />
|
||||
</area>
|
||||
</datetime>
|
||||
|
||||
<!-- Available Variables time:
|
||||
{sec} current seconds
|
||||
{min} current minutes
|
||||
{hour} current hours
|
||||
{hmins} current "hourminutes" to display an hour hand
|
||||
-->
|
||||
<time>
|
||||
<area x="86%" y="20%" width="{areaheight}*0.6" height="{areaheight}*0.6" layer="5">
|
||||
<drawimage imagetype="skinpart" path="watchhands/s_{sec}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="86%" y="20%" width="{areaheight}*0.6" height="{areaheight}*0.6" layer="4">
|
||||
<drawimage imagetype="skinpart" path="watchhands/m_{min}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="86%" y="20%" width="{areaheight}*0.6" height="{areaheight}*0.6" layer="3">
|
||||
<drawimage imagetype="skinpart" path="watchhands/h_{hmins}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</time>
|
||||
|
||||
<!-- Available Variables scrapercontent:
|
||||
{posterpath} Full Path of Poster to use in image path attribute
|
||||
{posterwidth} width of poster in pixel
|
||||
{posterheight} height of poster in pixel
|
||||
{hasposter} true if poster is available
|
||||
{bannerpath} Full Path of banner to use in image path attribute
|
||||
{bannerwidth} width of banner in pixel
|
||||
{bannerheight} height of banner in pixel
|
||||
{hasBanner} true if banner is available
|
||||
|
||||
Use this tokens if you want to display a banner for series and a poster for movies:
|
||||
{mediapath} Full Path of Poster or Banner to use in image path attribute
|
||||
{mediawidth} width of image in pixel
|
||||
{mediaheight} height of image in pixel
|
||||
{isbanner} true if image is a banner, false if it is a poster
|
||||
-->
|
||||
<scrapercontent debug="true">
|
||||
<area condition="{hasposter}" x="1%" y="15%" width="{areaheight}*0.7*{posterwidth}/{posterheight}" height="70%" layer="2">
|
||||
<drawimage imagetype="image" path="{posterpath}" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area condition="not{hasposter}" x="1%" y="15%" width="14%" height="70%" layer="2">
|
||||
<drawimage imagetype="icon" path="ico_recording" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
</scrapercontent>
|
||||
|
||||
<!-- Available Variables rectitle:
|
||||
{rectitle} Title of Recording
|
||||
{recsubtitle} Subtitle of the Recording
|
||||
{recdate} Date Recording in dd.mm.yy
|
||||
{rectime} Time of Recording in hh:mm
|
||||
-->
|
||||
<rectitle>
|
||||
<area x="17%" y="16%" width="67%" height="18%" layer="2">
|
||||
<drawtext x="0" y="0" font="{semibold}" width="100%" fontsize="100%" color="{clrWhite}" text="{rectitle} - {recsubtitle}" />
|
||||
</area>
|
||||
</rectitle>
|
||||
|
||||
<!-- Available Variables recinfo:
|
||||
{screenwidth} width of currently displayed recording in px
|
||||
{screenheight} height of currently displayed recording in px
|
||||
{resolution} resolution: hd1080i, hd720p, sd576i
|
||||
{aspect} screen aspect, each 4:3, 16:9 or 21:9
|
||||
{isHD} true for hd1080i and hd720p
|
||||
{isWideScreen} true if aspect is 16:9 or 21:9
|
||||
-->
|
||||
<recinfo>
|
||||
<area x="17%" y="80%" width="67%" height="15%" layer="4">
|
||||
<drawimage imagetype="icon" path="ico_{resolution}" x="0" y="0" width="{areaheight}*3" height="{areaheight}"/>
|
||||
<drawimage condition="{isWideScreen}" imagetype="icon" path="ico_widescreen" x="{areaheight}*3 + 10" y="0" width="{areaheight}*3" height="{areaheight}"/>
|
||||
</area>
|
||||
</recinfo>
|
||||
|
||||
<!-- Available Variables currenttime:
|
||||
{reccurrent} Current Time in hh:mm:ss
|
||||
-->
|
||||
<currenttime>
|
||||
<area x="18%" y="61%" width="30%" height="15%" layer="3">
|
||||
<drawtext x="0" valign="center" font="{digital}" fontsize="80%" color="{clrWhite}" text="{reccurrent}" />
|
||||
</area>
|
||||
</currenttime>
|
||||
|
||||
<!-- Available Variables totaltime:
|
||||
{rectotal} Total Time in hh:mm:ss
|
||||
-->
|
||||
<totaltime>
|
||||
<area x="54%" y="61%" width="29%" height="15%" layer="3">
|
||||
<drawtext align="right" valign="center" font="{digital}" fontsize="80%" color="{clrWhite}" text="{rectotal}" />
|
||||
</area>
|
||||
</totaltime>
|
||||
|
||||
<!-- Available Variables progressbar:
|
||||
{current} current frame of recording
|
||||
{total} total frames of recording
|
||||
-->
|
||||
<progressbar>
|
||||
<area x="18%" y="45%" width="65%" height="8%" layer="4">
|
||||
<drawimage imagetype="skinpart" path="progressbar" x="2" y="2" width="{current}/{total}*{areawidth} - {current}/{total}*4" height="{areaheight}-4"/>
|
||||
</area>
|
||||
</progressbar>
|
||||
|
||||
<!-- Available Variables cutmarks:
|
||||
{marks[]} array of available marks
|
||||
{marks[position]} frame of current mark
|
||||
{marks[endposition]} frame where startmark ends
|
||||
{marks[total]} total number of frames
|
||||
{marks[active]} true if current replay position hits exactly the mark
|
||||
{marks[startmark]} true if mark is start mark
|
||||
-->
|
||||
<cutmarks>
|
||||
<area x="18%" y="43%" width="65%" height="12%" layer="5" transparency="40">
|
||||
<loop name="marks" x="0" y="0" orientation="absolute">
|
||||
<!-- draw mark -->
|
||||
<drawimage condition="{marks[startmark]}" imagetype="icon" path="ico_cutmark_start" x="{marks[position]}/{marks[total]}*{areawidth} - {areaheight}/3" y="0" width="{areaheight}/3" height="{areaheight}" />
|
||||
<drawimage condition="not{marks[startmark]}" imagetype="icon" path="ico_cutmark_stop" x="{marks[position]}/{marks[total]}*{areawidth}" y="0" width="{areaheight}/3" height="{areaheight}" />
|
||||
<!-- draw bar to next mark if mark is startmark-->
|
||||
<drawrectangle condition="{marks[startmark]}" x="{marks[position]}/{marks[total]}*{areawidth}" y="40%" width="{marks[endposition]}/{marks[total]}*{areawidth} - {marks[position]}/{marks[total]}*{areawidth}" height="20%" color="{clrRed}" />
|
||||
</loop>
|
||||
</area>
|
||||
</cutmarks>
|
||||
|
||||
<!-- Available Variables controlicons and controliconsmodeonly:
|
||||
{play} true if recording is played currently
|
||||
{pause} true if recording is paused
|
||||
{forward} true if fast forwarding
|
||||
{forward1x} true if fast forwarding 1x (with 3 trickspeeds)
|
||||
{forward2x} true if fast forwarding 2x (with 3 trickspeeds)
|
||||
{forward3x} true if fast forwarding 3x (with 3 trickspeeds)
|
||||
{rewind} true if rewinding
|
||||
{rewind1x} true if rewinding 1x (with 3 trickspeeds)
|
||||
{rewind2x} true if rewinding 2x (with 3 trickspeeds)
|
||||
{rewind3x} true if rewinding 3x (with 3 trickspeeds)
|
||||
-->
|
||||
<controlicons>
|
||||
<area x="67%" y="1%" width="25%" height="20%" layer="3">
|
||||
<drawimage condition="not{rewind} ++ not{rewind1x} ++ not{rewind2x} ++ not{rewind3x}" imagetype="icon" path="ico_back_inactive" x="0" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{rewind}" imagetype="icon" path="ico_back_active" x="{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{rewind1x}" imagetype="icon" path="ico_back_active_x1" x="0" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{rewind2x}" imagetype="icon" path="ico_back_active_x2" x="0" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{rewind3x}" imagetype="icon" path="ico_back_active_x3" x="0" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
|
||||
<drawimage condition="not{pause}" imagetype="icon" path="ico_pause_inactive" x="{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{pause}" imagetype="icon" path="ico_pause_active" x="{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
|
||||
<drawimage condition="not{play}" imagetype="icon" path="ico_play_inactive" x="2*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{play}" imagetype="icon" path="ico_play_active" x="2*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
|
||||
<drawimage condition="not{forward} ++ not{forward1x} ++ not{forward2x} ++ not{forward3x}" imagetype="icon" path="ico_fwd_inactive" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{forward}" imagetype="icon" path="ico_fwd_active" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{forward1x}" imagetype="icon" path="ico_fwd_active_x1" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{forward2x}" imagetype="icon" path="ico_fwd_active_x2" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{forward3x}" imagetype="icon" path="ico_fwd_active_x3" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
</area>
|
||||
</controlicons>
|
||||
|
||||
<controliconsmodeonly>
|
||||
<area x="{areawidth}/2 - 2*{areaheight}*0.3" y="40%" width="4*{areaheight}*0.3" height="30%" layer="3">
|
||||
<drawimage condition="not{rewind} ++ not{rewind1x} ++ not{rewind2x} ++ not{rewind3x}" imagetype="icon" path="ico_back_inactive" x="0" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{rewind}" imagetype="icon" path="ico_back_active" x="{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{rewind1x}" imagetype="icon" path="ico_back_active_x1" x="0" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{rewind2x}" imagetype="icon" path="ico_back_active_x2" x="0" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{rewind3x}" imagetype="icon" path="ico_back_active_x3" x="0" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
|
||||
<drawimage condition="not{pause}" imagetype="icon" path="ico_pause_inactive" x="{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{pause}" imagetype="icon" path="ico_pause_active" x="{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
|
||||
<drawimage condition="not{play}" imagetype="icon" path="ico_play_inactive" x="2*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{play}" imagetype="icon" path="ico_play_active" x="2*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
|
||||
<drawimage condition="not{forward} ++ not{forward1x} ++ not{forward2x} ++ not{forward3x}" imagetype="icon" path="ico_fwd_inactive" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{forward}" imagetype="icon" path="ico_fwd_active" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{forward1x}" imagetype="icon" path="ico_fwd_active_x1" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{forward2x}" imagetype="icon" path="ico_fwd_active_x2" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
<drawimage condition="{forward3x}" imagetype="icon" path="ico_fwd_active_x3" x="3*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
|
||||
</area>
|
||||
</controliconsmodeonly>
|
||||
|
||||
<!-- Available Variables jump:
|
||||
{jump} time to jump to in hh:mm
|
||||
-->
|
||||
<jump>
|
||||
<area x="50%" y="80%" width="30%" height="20%" layer="3">
|
||||
<drawtext align="right" valign="center" font="{digital}" fontsize="60%" color="{clrWhite}" text="{jump}" />
|
||||
</area>
|
||||
</jump>
|
||||
<!-- Available Variables message:
|
||||
{text} message text
|
||||
{status} true if message is a status message
|
||||
{info} true if message is a info message
|
||||
{warning} true if message is a warn message
|
||||
{error} true if message is a error message
|
||||
-->
|
||||
<message>
|
||||
<area x="5%" y="80%" width="90%" height="15%" layer="6">
|
||||
<drawimage condition="{status}" imagetype="skinpart" path="messageblue" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{info}" imagetype="skinpart" path="messagegreen" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{warning}" imagetype="skinpart" path="messageyellow" x="0" y="0" width="100%" height="100%" />
|
||||
<drawimage condition="{error}" imagetype="skinpart" path="messagered" x="0" y="0" width="100%" height="100%" />
|
||||
</area>
|
||||
<area x="5%" y="80%" width="90%" height="15%" layer="7">
|
||||
<drawtext align="center" valign="center" font="{regular}" fontsize="40%" color="{clrWhite}" text="{text}" />
|
||||
</area>
|
||||
</message>
|
||||
|
||||
<!-- Available Variables onpause and onpausemodeonly:
|
||||
{name} title of recording
|
||||
{shorttext} shorttext of recording
|
||||
{description} description of recording
|
||||
{date} date of recording in dd.mm.yy
|
||||
{time} time of recording in hh:mm
|
||||
{daynumeric} day as number
|
||||
{month} month as number
|
||||
{year} year as number
|
||||
{duration} real duration of recording in minutes
|
||||
{durationhours} real duration, full hours
|
||||
{durationminutes} real duration, rest of minutes
|
||||
{durationevent} duration of corresponding event in minutes
|
||||
{durationeventhours} event duration, full hours
|
||||
{durationeventminutes} event duration, rest of minutes
|
||||
|
||||
{ismovie} true if event is scraped as a movie
|
||||
Available variables for movies:
|
||||
{movietitle} movie title from themoviedb
|
||||
{movieoriginalTitle} movie original title from themoviedb
|
||||
{movietagline} movie tagline from themoviedb
|
||||
{movieoverview} movie overview from themoviedb
|
||||
{movieadult} true if movie is rated as adult
|
||||
{moviebudget} movie budget from themoviedb in $
|
||||
{movierevenue} movie revenue from themoviedb in $
|
||||
{moviegenres} movie genres from themoviedb
|
||||
{moviehomepage} movie homepage from themoviedb
|
||||
{moviereleasedate} movie release date from themoviedb
|
||||
{movieruntime} movie runtime from themoviedb
|
||||
{moviepopularity} movie popularity from themoviedb
|
||||
{movievoteaverage} movie vote average from themoviedb
|
||||
{posterwidth} width of scraped poster
|
||||
{posterheight} height of scraped poster
|
||||
{posterpath} absolute path of scraped poster
|
||||
{fanartwidth} width of scraped fanart
|
||||
{fanartheight} height of scraped fanart
|
||||
{fanartpath} absolute path of scraped fanart
|
||||
{movieiscollection} true if movie is part of a collection
|
||||
{moviecollectionName} name of movie collection
|
||||
{collectionposterwidth} width of scraped collection poster
|
||||
{collectionposterheight} height of scraped collection poster
|
||||
{collectionposterpath} absolute path of scraped collection poster
|
||||
{collectionfanartwidth} width of scraped collection fanart
|
||||
{collectionfanartheight} height of scraped collection fanart
|
||||
{collectionfanartpath} absolute path of scraped collection fanart
|
||||
{actors[]} array with movie actors
|
||||
{actors[name]} real name of actor
|
||||
{actors[role]} actor role
|
||||
{actors[thumb]} absolute path of scraped actor thumb
|
||||
{actors[thumbwidth]} width of scraped actor thumb
|
||||
{actors[thumbheight]} height of scraped actor thumb
|
||||
|
||||
{isseries} true if event is scraped as a series
|
||||
Available variables for series:
|
||||
{seriesname} name of series
|
||||
{seriesoverview} series overview
|
||||
{seriesfirstaired} first aired date
|
||||
{seriesnetwork} network which produces series
|
||||
{seriesgenre} series genre
|
||||
{seriesrating} series thetvdb rating
|
||||
{seriesstatus} status of series (running / finished)
|
||||
{episodetitle} title of episode
|
||||
{episodenumber} number of episode
|
||||
{episodeseason} season of episode
|
||||
{episodefirstaired} first aired date of episode
|
||||
{episodegueststars} guest stars of episode
|
||||
{episodeoverview} episode overview
|
||||
{episoderating} user rating for episode
|
||||
{episodeimagewidth} episode image width
|
||||
{episodeimageheight} episode image height
|
||||
{episodeimagepath} episode image path
|
||||
{seasonposterwidth} episode season poster width
|
||||
{seasonposterheight} episode season poster height
|
||||
{seasonposterpath} episode season poster path
|
||||
{seriesposter1width} width of 1st poster
|
||||
{seriesposter1height} height of 1st poster
|
||||
{seriesposter1path} path of 1st poster
|
||||
{seriesposter2width} width of 2nd poster
|
||||
{seriesposter2height} height of 2nd poster
|
||||
{seriesposter2path} path of 2nd poster
|
||||
{seriesposter3width} width of 3rd poster
|
||||
{seriesposter3height} height of 3rd poster
|
||||
{seriesposter3path} path of 3rd poster
|
||||
{seriesfanart1width} width of 1st fanart
|
||||
{seriesfanart1height} height of 1st fanart
|
||||
{seriesfanart1path} path of 1st fanart
|
||||
{seriesfanart2width} width of 2nd fanart
|
||||
{seriesfanart2height} height of 2nd fanart
|
||||
{seriesfanart2path} path of 2nd fanart
|
||||
{seriesfanart3width} width of 3rd fanart
|
||||
{seriesfanart3height} height of 3rd fanart
|
||||
{seriesfanart3path} path of 3rd fanart
|
||||
{seriesbanner1width} width of 1st banner
|
||||
{seriesbanner1height} height of 1st banner
|
||||
{seriesbanner1path} path of 1st banner
|
||||
{seriesbanner2width} width of 2nd banner
|
||||
{seriesbanner2height} height of 2nd banner
|
||||
{seriesbanner2path} path of 2nd banner
|
||||
{seriesbanner3width} width of 3rd banner
|
||||
{seriesbanner3height} height of 3rd banner
|
||||
{seriesbanner3path} path of 3rd fanart
|
||||
{actors[]} array with movie actors
|
||||
{actors[name]} real name of actor
|
||||
{actors[role]} actor role
|
||||
{actors[thumb]} absolute path of scraped actor thumb
|
||||
{actors[thumbwidth]} width of scraped actor thumb
|
||||
{actors[thumbheight]} height of scraped actor thumb
|
||||
-->
|
||||
<!-- delay (in seconds) defines the time to wait till viewelement is displayed
|
||||
fadetime in ms -->
|
||||
<onpause delay="60" fadetime="0">
|
||||
</onpause>
|
||||
|
||||
<onpausemodeonly delay="30" fadetime="0">
|
||||
</onpausemodeonly>
|
||||
|
||||
</displayreplay>
|
||||
36
skins/blackhole/xmlfiles/displayvolume.xml
Normal file
36
skins/blackhole/xmlfiles/displayvolume.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE displayvolume SYSTEM "../../../dtd/displayvolume.dtd">
|
||||
|
||||
<displayvolume x="79%" y="{areaheight} - {areawidth}*0.26" width="20%" height="{areawidth}*0.25" fadetime="{fadeTime}">
|
||||
|
||||
<background>
|
||||
<area x="0" y="0" width="100%" height="100%" layer="2">
|
||||
<drawimage imagetype="skinpart" path="displayvolumeback" x="0" y="0" width="100%" height="100%"/>
|
||||
</area>
|
||||
<area x="0" y="0" width="100%" height="100%" layer="3">
|
||||
<drawimage imagetype="skinpart" path="tacho_percent_back" x="{areawidth}*0.059" y="{areawidth}*0.059" width="{areawidth}*0.882" height="{areawidth}*0.882"/>
|
||||
</area>
|
||||
</background>
|
||||
|
||||
<!-- Available Variables volume:
|
||||
{volume} current volume, range from 0 to 255
|
||||
{volpercent} current volume in %
|
||||
{maxvolume} maximal volume
|
||||
{mute} true if volume is muted
|
||||
-->
|
||||
<volume>
|
||||
<area x="0" y="80%" width="100%" height="20%" layer="4">
|
||||
<drawtext align="center" valign="center" color="{clrWhite}" font="{semibold}" fontsize="80%" text="{volume} / {maxvolume}" />
|
||||
</area>
|
||||
<area x="0" y="0" width="100%" height="100%" layer="5">
|
||||
<drawimage imagetype="skinpart" path="tachohands/perc_{volpercent}" x="{areawidth}*0.059" y="{areawidth}*0.059" width="{areawidth}*0.882" height="{areawidth}*0.882"/>
|
||||
</area>
|
||||
<area x="0" y="80%" width="20%" height="20%" layer="5">
|
||||
<drawimage condition="gt({volpercent}, 74)" imagetype="icon" path="ico_volume_full" align="center" valign="center" width="90%" height="90%"/>
|
||||
<drawimage condition="gt({volpercent}, 34) ++ lt({volpercent}, 75)" imagetype="icon" path="ico_volume_medium" align="center" valign="center" width="90%" height="90%"/>
|
||||
<drawimage condition="gt({volpercent}, 0) ++ lt({volpercent}, 35)" imagetype="icon" path="ico_volume_low" align="center" valign="center" width="90%" height="90%"/>
|
||||
<drawimage condition="eq({volpercent}, 0)" imagetype="icon" path="ico_volume_mute" align="center" valign="center" width="90%" height="90%"/>
|
||||
</area>
|
||||
</volume>
|
||||
|
||||
</displayvolume>
|
||||
Reference in New Issue
Block a user