summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY3
-rw-r--r--graphlcd/skins/reelbox/images/arrow.pbmbin0 -> 59 bytes
-rw-r--r--graphlcd/skins/reelbox/images/arrow_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/images/message.pbmbin0 -> 123 bytes
-rw-r--r--graphlcd/skins/reelbox/images/mute.pbm4
-rw-r--r--graphlcd/skins/reelbox/reelbox.skin426
-rw-r--r--graphlcd/skins/reelbox/symbols/dolby.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/dolby_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/empty.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/empty_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/multilanguage.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/multilanguage_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/mute.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/mute_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/recording.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/recording2.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/recording2_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/recording3.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/recording3_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/recording4.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/recording4_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/recording_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/replay-fast-fwd.pbmbin0 -> 63 bytes
-rw-r--r--graphlcd/skins/reelbox/symbols/replay-fast-rwd.pbmbin0 -> 63 bytes
-rw-r--r--graphlcd/skins/reelbox/symbols/replay-pause.pbmbin0 -> 63 bytes
-rw-r--r--graphlcd/skins/reelbox/symbols/replay-play.pbmbin0 -> 63 bytes
-rw-r--r--graphlcd/skins/reelbox/symbols/replay-slow-fwd.pbmbin0 -> 63 bytes
-rw-r--r--graphlcd/skins/reelbox/symbols/replay-slow-rwd.pbmbin0 -> 63 bytes
-rw-r--r--graphlcd/skins/reelbox/symbols/scrambled.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/scrambled_small.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/teletext.pbm4
-rw-r--r--graphlcd/skins/reelbox/symbols/teletext_small.pbm4
32 files changed, 517 insertions, 0 deletions
diff --git a/HISTORY b/HISTORY
index da77eeb..95e9c6b 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3,6 +3,9 @@ VDR Plugin 'graphlcd' Revision History
2021-01-24
- [pbiering] fix deadlock for vdr >= 2.4.4 (at least found here) in case of deleting a channel
+2021-01-28
+- Import reviewed 'ReelBox' frontpanel skin
+
2021-01-17
- Fix name inconsistency between read and write of setup config value "ShowReplayLogo"
diff --git a/graphlcd/skins/reelbox/images/arrow.pbm b/graphlcd/skins/reelbox/images/arrow.pbm
new file mode 100644
index 0000000..2ea2c0f
--- /dev/null
+++ b/graphlcd/skins/reelbox/images/arrow.pbm
Binary files differ
diff --git a/graphlcd/skins/reelbox/images/arrow_small.pbm b/graphlcd/skins/reelbox/images/arrow_small.pbm
new file mode 100644
index 0000000..b02a42b
--- /dev/null
+++ b/graphlcd/skins/reelbox/images/arrow_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+8 7
+  \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/images/message.pbm b/graphlcd/skins/reelbox/images/message.pbm
new file mode 100644
index 0000000..a8ff675
--- /dev/null
+++ b/graphlcd/skins/reelbox/images/message.pbm
Binary files differ
diff --git a/graphlcd/skins/reelbox/images/mute.pbm b/graphlcd/skins/reelbox/images/mute.pbm
new file mode 100644
index 0000000..f19b0fa
--- /dev/null
+++ b/graphlcd/skins/reelbox/images/mute.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+23 22
+`00 `a }Al88l}A @ `a00` \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/reelbox.skin b/graphlcd/skins/reelbox/reelbox.skin
new file mode 100644
index 0000000..9132fb9
--- /dev/null
+++ b/graphlcd/skins/reelbox/reelbox.skin
@@ -0,0 +1,426 @@
+<?xml version="1.0"?>
+<skin version="1.2" name="reelbox">
+
+ <font id="FontInfo" url="fnt:f8n.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontChannel" url="fnt:f12b.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontMenuTitle" url="fnt:f8b.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontMenuItem" url="fnt:f8n.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontMenuButton" url="fnt:f8n.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontTitle" url="fnt:f8b.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontTitleSmall" url="fnt:f5n.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontInfoSmall" url="fnt:f5n.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontInfoSmall2" url="fnt:f5n.fnt" condition="le({ScreenHeight},64)"/>
+ <font id="FontTimes" url="fnt:f8n.fnt" condition="le({ScreenHeight},64)"/>
+
+ <font id="FontTitle" url="ft2:VeraBd.ttf:24" condition="gt({ScreenHeight},128)"/>
+ <font id="FontTitleSmall" url="ft2:Vera.ttf:20" condition="gt({ScreenHeight},128)"/>
+ <font id="FontInfoSmall" url="ft2:VeraBd.ttf:16" condition="gt({ScreenHeight},128)"/>
+ <font id="FontInfoSmall2" url="ft2:Vera.ttf:14" condition="gt({ScreenHeight},128)"/>
+
+ <font id="FontInfo" url="ft2:Vera.ttf:14"/>
+ <font id="FontChannel" url="ft2:VeraBd.ttf:22"/>
+ <font id="FontMenuTitle" url="ft2:Vera.ttf:15"/>
+ <font id="FontMenuItem" url="ft2:Vera.ttf:12"/>
+ <font id="FontMenuButton" url="ft2:VeraBd.ttf:9"/>
+ <font id="FontTitle" url="ft2:VeraBd.ttf:20" />
+ <font id="FontTitleSmall" url="ft2:Vera.ttf:10" />
+ <font id="FontInfoSmall" url="ft2:Vera.ttf:10"/>
+ <font id="FontInfoSmall2" url="ft2:Vera.ttf:10"/>
+ <font id="FontTimes" url="ft2:Vera.ttf:14"/>
+
+ <variable id="LineThickness" value="1" condition="le({ScreenHeight},64)" default="2" />
+ <variable id="PaddingW" value="1" condition="le({ScreenHeight},64)" />
+ <variable id="PaddingW" value="2" condition="ge({ScreenHeight},240)" default="1" />
+ <variable id="PaddingH" value="1" condition="le({ScreenHeight},64)" default="1" />
+ <variable id="PaddingH2" value="0" condition="le({ScreenHeight},64)" default="1" />
+
+ <!-- COLOURS -->
+ <!-- defines -->
+ <variable id="ColMonoFG" value="{ForegroundColor}"/>
+ <variable id="ColMonoBG" value="{BackgroundColor}"/>
+
+ <condblock condition="QueryFeature('iscolour')">
+ <!-- display id normal -->
+ <variable id="ColChannelBG" value="'0x77300060'" default="#ColMonoFG" />
+ <variable id="ColChannelInfo" value="'white'" default="#ColMonoBG" />
+ <variable id="ColDateTime" value="'white'" default="#ColMonoBG" />
+ <variable id="ColBorder" value="'0x770000FF'" default="#ColMonoBG" />
+ <variable id="ColLogoBG" value="'black'" default="#ColMonoBG" />
+ <variable id="ColLogoFG" value="'cyan'" default="#ColMonoFG" />
+ <variable id="ColSymbol" value="'yellow'" default="#ColMonoFG" />
+ <variable id="ColSymbolGreyed" value="'0x333333'" default="#ColMonoBG" />
+ <variable id="ColPresProgrText" value="'0xCCCCFF'" default="#ColMonoFG" />
+ <variable id="ColPresProgrBar" value="'0xDDC0FFC0'" default="#ColMonoFG" />
+ <variable id="ColPresProgrBarBrd" value="'0xAAFFFFFF'" default="#ColMonoFG" />
+ <variable id="ColPresentTitle" value="'0xAAC0FFFF'" default="#ColMonoFG" />
+ <variable id="ColPresentShort" value="'0xAAC0C0FF'" default="#ColMonoFG" />
+ <variable id="ColFollowingTitle" value="'0xAAFFFFFF'" default="#ColMonoFG" />
+ <variable id="ColFollowingShort" value="'0xAAFFFFFF'" default="#ColMonoFG" />
+ <variable id="ColRecSymbol" value="'magenta'" default="#ColMonoFG" />
+ <variable id="ColRecText" value="'magenta'" default="#ColMonoFG" />
+ <variable id="ColFemonBar" value="'0x550000FF'" default="#ColMonoFG" />
+ <variable id="ColFemonText" value="'0xDDDDDD'" default="#ColMonoFG" />
+ <!-- display id volume -->
+ <variable id="ColVolumeBG" value="'black'" default="#ColMonoBG" />
+ <variable id="ColVolumeFG" value="'white'" default="#ColMonoFG" />
+ <variable id="ColVolumeBar" value="'green'" default="#ColMonoFG" />
+ <!-- display id audio -->
+ <variable id="ColAudioBG" value="'0x77300060'" default="#ColMonoBG" />
+ <variable id="ColAudioHeaderBG" value="'green'" default="#ColMonoFG" />
+ <variable id="ColAudioHeaderFG" value="'black'" default="#ColMonoBG" />
+ <variable id="ColAudioEntry" value="'white'" default="#ColMonoFG" />
+ <variable id="ColAudioEntryCurr" value="'black'" default="#ColMonoBG" />
+ <variable id="ColAudioSelected" value="'cyan'" default="#ColMonoFG" />
+ <!-- display id message -->
+ <variable id="ColMessageBG" value="'0xAA000000'" default="#ColMonoBG" />
+ <variable id="ColMessageFG" value="'red'" default="#ColMonoFG" />
+ <variable id="ColMessageIcon" value="'0x77FF0000'" default="#ColMonoFG" />
+ <variable id="ColMessageText" value="'white'" default="#ColMonoFG" />
+ <!-- display id replay -->
+ <variable id="ColReplayBorder" value="#ColBorder" default="#ColMonoFG" /> <!-- -->
+ <variable id="ColReplayLogo" value="'cyan'" default="#ColMonoFG" />
+ <variable id="ColReplayText" value="'white'" default="#ColMonoFG" />
+ <variable id="ColReplaySymbol" value="'yellow'" default="#ColMonoFG" />
+ <variable id="ColReplayBar" value="'magenta'" default="#ColMonoFG" />
+ <variable id="ColReplayTime" value="'white'" default="#ColMonoFG" />
+ <!-- display id menu -->
+ <!--variable id="ColMenuHeaderBG" value="'yellow'" condition="QueryFeature('iscolour')"/-->
+ <variable id="ColMenuHeaderBG" value="#ColChannelBG" default="#ColChannelBG"/> <!-- -->
+ <variable id="ColMenuHeaderFG" value="'white'" default="#ColChannelInfo"/>
+ <variable id="ColMenuBorder" value="#ColMenuHeaderBG" default="#ColBorder" />
+ <!--variable id="ColMenuEntryMarker" value="'yellow'" default="#ColMonoFG" /-->
+ <variable id="ColMenuEntry" value="'white'" default="#ColMonoFG" />
+ <variable id="ColMenuEntryCurr" value="'black'" default="#ColMonoBG" />
+ <variable id="ColMenuSelected" value="'0xFF00AAAA'" default="#ColMonoFG" />
+ <variable id="ColMenuText" value="'magenta'" default="#ColMonoFG" />
+ <variable id="ColMenuButtonRBG" value="'red'" default="#ColMonoFG" />
+ <variable id="ColMenuButtonRFG" value="'white'" default="#ColMonoBG" />
+ <variable id="ColMenuButtonGBG" value="'green'" default="#ColMonoFG" />
+ <variable id="ColMenuButtonGFG" value="'black'" default="#ColMonoBG" />
+ <variable id="ColMenuButtonYBG" value="'yellow'" default="#ColMonoFG" />
+ <variable id="ColMenuButtonYFG" value="'black'" default="#ColMonoBG" />
+ <variable id="ColMenuButtonBBG" value="'blue'" default="#ColMonoFG" />
+ <variable id="ColMenuButtonBFG" value="'white'" default="#ColMonoBG" />
+ <variable id="ColMenuButtonBG" value="'0xEEEEEE'" default="#ColMonoFG" />
+ <variable id="ColMenuButtonFG" value="'black'" default="#ColMonoBG" />
+ </condblock>
+
+
+ <display id="normal">
+
+ <!-- LogoSymbSmall: 1: small, symbols left of logo, 0: large, symbols at bottom of logo -->
+ <variable id="LogoSymbSmall" value="1" condition="le({ScreenHeight},65)" default="0" />
+ <!-- LogoSymbPos: 1: logo + symbols inside channel bar, 0: logo + symbols below channel bar -->
+ <variable id="LogoSymbPos" value="1" condition="le({ScreenHeight},128)" default="0" />
+ <variable id="ChannelLogo" value="'{ConfigPath}/logos/channels/{ChannelAlias}_m.glcd'" condition="#LogoSymbSmall"
+ default="'{ConfigPath}/logos/channels/{ChannelAlias}_l.glcd'"/>
+ <variable id="LogoW" value="40" condition="#LogoSymbSmall" default="64" />
+ <variable id="LogoH" value="29" condition="#LogoSymbSmall" default="48" />
+ <variable id="LogoBorder" value="0" />
+
+ <variable id="SymbolW" value="ImageWidth('symbols/empty_small.pbm')" condition="#LogoSymbSmall" default="ImageWidth('symbols/empty.pbm')" />
+ <variable id="SymbolH" value="ImageHeight('symbols/empty_small.pbm')" condition="#LogoSymbSmall" default="ImageHeight('symbols/empty.pbm')"/>
+ <variable id="SymbolGap" value="1" condition="#LogoSymbSmall" default="2" />
+ <variable id="SymbolTeletext" value="'symbols/teletext_small.pbm'" condition="#LogoSymbSmall" default="'symbols/teletext.pbm'"/>
+ <variable id="SymbolDolby" value="'symbols/dolby_small.pbm'" condition="#LogoSymbSmall" default="'symbols/dolby.pbm'"/>
+ <variable id="SymbolScrambled" value="'symbols/scrambled_small.pbm'" condition="#LogoSymbSmall" default="'symbols/scrambled.pbm'"/>
+ <variable id="SymbolMute" value="'symbols/mute_small.pbm'" condition="#LogoSymbSmall" default="'symbols/mute.pbm'"/>
+ <variable id="SymbolRecording" value="'symbols/recording_small.pbm'" condition="#LogoSymbSmall" default="'symbols/recording.pbm'"/>
+
+ <!-- dimensions of logo + symbols + borders -->
+ <variable id="LogoSymbW" value="#SymbolW" condition="and(#LogoSymbSmall,not({SettingShowChannelLogo}),{SettingShowSymbols})" />
+ <variable id="LogoSymbW" value="add(#SymbolW,#SymbolGap,#LogoBorder,#LogoW,#LogoBorder)" condition="and(#LogoSymbSmall,{SettingShowChannelLogo},{SettingShowSymbols})" />
+ <variable id="LogoSymbW" value="add(mul(#SymbolW,4),mul(#SymbolGap,3))" condition="and(not(#LogoSymbSmall),not({SettingShowChannelLogo}),{SettingShowSymbols})" />
+ <variable id="LogoSymbW" value="add(#LogoBorder,#LogoW,#LogoBorder)" condition="and(not(#LogoSymbSmall),{SettingShowChannelLogo},{SettingShowSymbols})" />
+ <variable id="LogoSymbW" value="add(#LogoBorder,#LogoW,#LogoBorder)" condition="and({SettingShowChannelLogo},not({SettingShowSymbols}))" />
+ <variable id="LogoSymbW" value="0" />
+ <variable id="LogoSymbH" value="add(mul(#SymbolH,4),mul(#SymbolGap,3))" condition="and(#LogoSymbSmall,{SettingShowSymbols})" />
+ <variable id="LogoSymbH" value="#SymbolH" condition="and(not(#LogoSymbSmall),not({SettingShowChannelLogo}),{SettingShowSymbols})" />
+ <variable id="LogoSymbH" value="add(#LogoBorder,#LogoH,#LogoBorder,#SymbolGap,#SymbolH)" condition="and(not(#LogoSymbSmall),{SettingShowChannelLogo},{SettingShowSymbols})" />
+ <variable id="LogoSymbH" value="add(#LogoBorder,#LogoH,#LogoBorder)" condition="and({SettingShowChannelLogo},not({SettingShowSymbols}))" />
+ <variable id="LogoSymbH" value="0" />
+
+ <variable id="ChannelBarW" value="sub({ScreenWidth},mul(#LogoSymbPos,add(#LogoSymbW,4)))" />
+ <variable id="ChannelBarH" value="add(FontLineHeight('FontChannel'),FontLineHeight('FontInfo'),#PaddingH2)" />
+ <variable id="ChannelContentW" value="sub({ScreenWidth},#LogoW,mul(2,#LogoPadding))" condition="and({SettingShowChannelLogo},#LogoTopRight)"
+ default="{ScreenWidth}" />
+
+ <variable id="LogoSymbX" value="sub({ScreenWidth},1,#LogoSymbW)" />
+ <variable id="LogoSymbY" value="0" condition="#LogoSymbPos" default="#ChannelBarH" />
+
+ <variable id="TimeBarW" value="FontTextWidth('FontTimes','00:00 - 00:00')"/>
+ <variable id="TimeBarY" value="add(#ChannelBarH,#LineThickness,0)"/>
+
+
+ <rectangle x="0" y="0" width="#ChannelBarW" height="#ChannelBarH" color="#ColChannelBG" filled="yes" />
+ <text x="#PaddingW" y="1" width="sub(#ChannelBarW,mul(#PaddingW,2),1)" height="FontLineHeight('FontChannel')" color="#ColChannelInfo" align="left" scrollmode="never" font="FontChannel">
+ {ChannelNumber} | {ChannelName}
+ </text>
+ <text condition="not(and(#LogoSymbSmall,{SettingShowChannelLogo}))" x="#PaddingW" y="add(FontLineHeight('FontChannel'),#PaddingH2)" width="sub(#ChannelBarW,mul(#PaddingW,2),1)" height="FontLineHeight('FontInfo')" color="#ColDateTime" align="left" font="FontInfo">
+ {DateTime:%a %d.%m.%Y}
+ </text>
+ <text condition="and(#LogoSymbSmall,{SettingShowChannelLogo})" x="#PaddingW" y="add(FontLineHeight('FontChannel'))" width="sub(#ChannelBarW,mul(#PaddingW,2),1)" height="FontLineHeight('FontInfo')" color="#ColDateTime" align="left" font="FontInfo">
+ {DateTime:%d.%m.}
+ </text>
+ <text x="#PaddingW" y="add(FontLineHeight('FontChannel'),#PaddingH2)" width="sub(#ChannelBarW,mul(#PaddingW,2))" height="FontLineHeight('FontInfo')" color="#ColDateTime" align="right" font="FontInfo">
+ {DateTime:%H\:%M}
+ </text>
+ <!-- logo + symbols -->
+ <rectangle x="#LogoSymbX" y="#LogoSymbY" width="#LogoSymbW" height="#LogoSymbH" filled="yes" color="#ColLogoBG" condition="gt(#LogoSymbW,0)" />
+
+ <block condition="{SettingShowChannelLogo}">
+ <image x="mul(-1,add(#LogoBorder,#LogoW))" y="add(#LogoSymbY,#LogoBorder)" width="#LogoW" height="#LogoH" bgcolor="#ColLogoBG" color="#ColLogoFG" path="#ChannelLogo"/>
+ </block>
+ <block condition="and(not(#LogoSymbSmall),{SettingShowSymbols})">
+ <image x="add(#LogoSymbX,mul(0,add(#SymbolW,#SymbolGap)))" y="add(#LogoSymbY,mul({SettingShowChannelLogo},add(#LogoBorder,#LogoH,#LogoBorder,#SymbolGap)))" color="#ColSymbol" path="#SymbolTeletext" condition="{ChannelHasTeletext}"/>
+ <image x="add(#LogoSymbX,mul(1,add(#SymbolW,#SymbolGap)))" y="add(#LogoSymbY,mul({SettingShowChannelLogo},add(#LogoBorder,#LogoH,#LogoBorder,#SymbolGap)))" color="#ColSymbol" path="#SymbolDolby" condition="{ChannelHasDolby}"/>
+ <image x="add(#LogoSymbX,mul(2,add(#SymbolW,#SymbolGap)))" y="add(#LogoSymbY,mul({SettingShowChannelLogo},add(#LogoBorder,#LogoH,#LogoBorder,#SymbolGap)))" color="#ColSymbol" path="#SymbolScrambled" condition="{ChannelIsEncrypted}"/>
+ <image x="add(#LogoSymbX,mul(3,add(#SymbolW,#SymbolGap)))" y="add(#LogoSymbY,mul({SettingShowChannelLogo},add(#LogoBorder,#LogoH,#LogoBorder,#SymbolGap)))" color="#ColSymbol" path="#SymbolMute" condition="{VolumeIsMute}"/>
+ </block>
+ <block condition="and(#LogoSymbSmall,{SettingShowSymbols})">
+ <image x="#LogoSymbX" y="add(#LogoSymbY,mul(0,add(#SymbolH,#SymbolGap)))" color="#ColSymbol" path="#SymbolTeletext" condition="{ChannelHasTeletext}"/>
+ <image x="#LogoSymbX" y="add(#LogoSymbY,mul(1,add(#SymbolH,#SymbolGap)))" color="#ColSymbol" path="#SymbolDolby" condition="{ChannelHasDolby}"/>
+ <image x="#LogoSymbX" y="add(#LogoSymbY,mul(2,add(#SymbolH,#SymbolGap)))" color="#ColSymbol" path="#SymbolScrambled" condition="{ChannelIsEncrypted}"/>
+ <image x="#LogoSymbX" y="add(#LogoSymbY,mul(3,add(#SymbolH,#SymbolGap)))" color="#ColSymbol" path="#SymbolMute" condition="{VolumeIsMute}"/>
+ </block>
+ <block condition="and({SettingShowTimebar},{FollowingValid})">
+ <text x1="0" x2="-1" y1="#TimeBarY" y2="-1" color="#ColPresProgrText" align="left" font="FontTimes">
+ {PresentStartDateTime:%H\:%M} - {FollowingStartDateTime:%H\:%M}
+ </text>
+ <rectangle x="add(#PaddingW,#TimeBarW,4)" width="#TimeBarW" y="add(#TimeBarY,#PaddingH)" height="6" color="#ColPresProgrBarBrd"/>
+ <progress x="add(#PaddingW,2,#TimeBarW,4)" width="sub(#TimeBarW,4)" y1="add(#TimeBarY,#PaddingH,2)" height="2" color="#ColPresProgrBar" direction="0" current="{PresentProgress}" total="{PresentDuration}"/>
+ </block>
+
+ <!-- ProginfoPlaceY: Y start for title-info w/o and w/ limits because of logos + symbols
+ ProginfoPlaceYLim: Y start for title-info w/o any limits -->
+ <variable id="ProginfoPlaceY" value="add(#TimeBarY,#PaddingH,4,#PaddingH2)" condition="{SettingShowTimebar}"
+ default="add(#ChannelBarH,#PaddingH)" />
+ <variable id="ProginfoPlaceYLim" value="#ProginfoPlaceY" condition="lt(add(#LogoSymbX,#LogoSymbH,#PaddingH),#ProginfoPlaceY)"
+ default="add(#LogoSymbY,#LogoSymbH,#PaddingH)" />
+ <!--variable id="PresentTextY" value="sub(sub(#RecordingsLineY,FontLineHeight('FontInfo')),2)"/-->
+
+ <variable id="ProginfoLines" value="5" condition="gt(sub({ScreenHeight},#ProginfoPlaceY,1),add(FontLineHeight('FontTitle'),FontLineHeight('FontTitleSmall'),FontLineHeight('FontInfoSmall'),FontLineHeight('FontInfoSmall2'),#LineThickness,1,FontLineHeight('FontInfoSmall2')))" />
+ <variable id="ProginfoLines" value="4" condition="gt(sub({ScreenHeight},#ProginfoPlaceY,1),add(FontLineHeight('FontTitle'),FontLineHeight('FontTitleSmall'),FontLineHeight('FontInfoSmall'),#LineThickness,1,FontLineHeight('FontInfoSmall2')))" />
+ <variable id="ProginfoLines" value="3" condition="gt(sub({ScreenHeight},#ProginfoPlaceY,1),add(FontLineHeight('FontTitle'),FontLineHeight('FontTitleSmall'),FontLineHeight('FontInfoSmall')))" />
+ <variable id="ProginfoLines" value="2" condition="gt(sub({ScreenHeight},#ProginfoPlaceY,1),add(FontLineHeight('FontTitle'),FontLineHeight('FontInfoSmall')))" />
+ <variable id="ProginfoLines" value="1" />
+
+ <variable id="ProginfoLine1YRaw" value="#ProginfoPlaceY" />
+ <variable id="ProginfoLine2YRaw" value="add(#ProginfoLine1YRaw,FontLineHeight('FontTitle'),1)" />
+ <variable id="ProginfoLine3YRaw" value="add(#ProginfoLine2YRaw,FontLineHeight('FontTitleSmall'),-1)" />
+ <variable id="ProginfoLine4YRaw" value="add(#ProginfoLine3YRaw,FontLineHeight('FontInfoSmall'),1)" />
+ <variable id="ProginfoLine5YRaw" value="add(#ProginfoLine4YRaw,FontLineHeight('FontInfoSmall'),1)" />
+
+ <variable id="ProginfoGapH" value="sub(#ProginfoLine5YRaw,#ProginfoLine4YRaw)" condition="eq(#ProginfoLines,5)" />
+ <variable id="ProginfoGapH" value="sub(#ProginfoLine4YRaw,#ProginfoLine3YRaw)" condition="eq(#ProginfoLines,4)" />
+ <variable id="ProginfoGapH" value="0" />
+
+ <!-- big displays: divide free space and add as gap(s) -->
+ <variable id="ProginfoLine1Y" value="add(#ProginfoLine1YRaw,div(#ProginfoGapH,2))" />
+ <variable id="ProginfoLine2Y" value="add(#ProginfoLine2YRaw,div(#ProginfoGapH,2))" />
+ <variable id="ProginfoLine3Y" value="add(#ProginfoLine3YRaw,#ProginfoGapH)" />
+ <variable id="ProginfoLine4Y" value="add(#ProginfoLine4YRaw,#ProginfoGapH)" />
+ <variable id="ProginfoLine5Y" value="add(#ProginfoLine5YRaw,#ProginfoGapH)" />
+
+ <!-- Y starts for information lines -->
+ <variable id="PresentTitleY" value="#ProginfoLine1Y" />
+ <variable id="PresentShortTextY" value="#ProginfoLine2Y" />
+ <variable id="FollowingTitleY" value="#ProginfoLine3Y" condition="gt(#ProginfoLines,2)" default="#ProginfoLine2Y" />
+ <variable id="FollowingShortTextY" value="#ProginfoLine4Y" condition="gt(#ProginfoLines,3)" default="0" />
+ <variable id="RecordingsAreaY" value="#ProginfoLine5Y" condition="eq(#ProginfoLines,5)" />
+ <variable id="RecordingsAreaY" value="#ProginfoLine4Y" condition="eq(#ProginfoLines,4)" />
+ <variable id="RecordingsAreaY" value="#ProginfoLine3Y" condition="eq(#ProginfoLines,3)" default="#ProginfoLine2Y" />
+
+ <!-- width for information lines (default: screenwidth, except a line would overlap logo/symbol area -->
+ <variable id="PresentTitleW" value="-1" condition="ge(#PresentTitleY,#ProginfoPlaceYLim)" default="sub(#LogoSymbX,1,#PaddingW)" />
+ <variable id="PresentShortTextW" value="-1" condition="ge(#PresentShortTextY,#ProginfoPlaceYLim)" default="sub(#LogoSymbX,1,#PaddingW)" />
+ <variable id="FollowingTitleW" value="-1" condition="ge(#FollowingTitleY,#ProginfoPlaceYLim)" default="sub(#LogoSymbX,1,#PaddingW)" />
+ <variable id="FollowingShortTextW" value="-1" condition="ge(#FollowingShortTextY,#ProginfoPlaceYLim)" default="sub(#LogoSymbX,1,#PaddingW)" />
+ <variable id="RecordingsAreaW" value="-1" condition="ge(#RecordingsAreaY,#ProginfoPlaceYLim)" default="sub(#LogoSymbX,1,#PaddingW)" />
+
+ <variable id="RecordingsLineY" value="sub(#RecordingsAreaY,1)"/>
+ <variable id="RecordingsTextY" value="add(#RecordingsLineY,#LineThickness,1)" />
+ <variable id="RecordingsSymbolY" value="add(#RecordingsTextY,div(sub(FontLineHeight('FontInfoSmall2'),#SymbolH),2))"/>
+
+ <!--variable id="PresentShortTextY" value="add(#PresentTitleY,FontLineHeight('FontTitle'))" /-->
+ <!--variable id="FollowingTextY" value="add(#PresentShortTextY,FontLineHeight('FontTitleSmall'))" /-->
+ <!--variable id="FollowingShortTextY" value="add(#FollowingTextY,FontLineHeight('FontInfoSmall'))" /-->
+
+ <text x="0" y="#PresentTitleY" width="#PresentTitleW" height="FontLineHeight('FontTitle')" color="#ColPresentTitle" align="left" font="FontTitle">
+ {PresentTitle}
+ </text>
+
+ <text x="0" y="#PresentShortTextY" condition="gt(#ProginfoLines,2)" width="#PresentShortTextW" height="FontLineHeight('FontTitleSmall')" color="#ColPresentTitle" align="left" font="FontTitleSmall">
+ {PresentShortText}
+ </text>
+ <block condition="{FollowingValid}">
+ <text x="0" y="#FollowingTitleY" condition="or(gt(#ProginfoLines,3),and(ge(#ProginfoLines,2),not({IsRecording})))" height="FontLineHeight('FontInfoSmall')" color="#ColPresentTitle" align="left" font="FontInfoSmall">
+ {FollowingStartDateTime:%H\:%M}
+ </text>
+ <text x="FontTextWidth('FontInfoSmall','00:00 ')" condition="or(gt(#ProginfoLines,2),and(ge(#ProginfoLines,1),not({IsRecording})))" y="#FollowingTitleY" width="sub(#FollowingTitleW,FontTextWidth('FontInfoSmall','00:00 '))" height="FontLineHeight('FontInfoSmall')" color="#ColPresentTitle" align="left" font="FontInfoSmall">
+ {FollowingTitle}
+ </text>
+ <text x="FontTextWidth('FontInfoSmall','00:00 ')" condition="or(gt(#ProginfoLines,3),and(eq(#ProginfoLines,2),not({IsRecording})))" y="#FollowingShortTextY" width="sub(#FollowingShortTextW,FontTextWidth('FontInfoSmall','00:00 '))" height="FontLineHeight('FontInfoSmall2')" color="#ColPresentTitle" align="left" font="FontInfoSmall2">
+ {FollowingShortText}
+ </text>
+ </block>
+
+ <rectangle x1="0" x2="-1" y="#RecordingsLineY" height="#LineThickness" condition="{IsRecording}" color="#ColBorder" filled="yes"/>
+ <image x="0" y="#RecordingsSymbolY" color="#ColSymbol" path="#SymbolRecording" condition="{IsRecording}"/>
+ <text x1="add(#SymbolW,2)" x2="-1" y="#RecordingsTextY" height="FontLineHeight('FontInfoSmall2')" color="#ColRecText" align="left" font="FontInfoSmall2">
+ {Recordings}
+ </text>
+ </display>
+
+ <display id="volume">
+ <variable id="VolumeBarX" value="20"/>
+ <variable id="VolumeBarW" value="sub({ScreenWidth},mul(2,#VolumeBarX))"/>
+ <variable id="VolumeBarH" value="30"/>
+ <variable id="VolumeBarY" value="div(sub({ScreenHeight},#VolumeBarH),2)"/>
+ <variable id="MuteImage" value="'images/mute.pbm'"/>
+ <variable id="MuteImageW" value="ImageWidth(#MuteImage)"/>
+ <variable id="MuteImageH" value="ImageHeight(#MuteImage)"/>
+ <rectangle x1="#VolumeBarX" y1="#VolumeBarY" width="#VolumeBarW" height="#VolumeBarH" color="#ColVolumeBG" filled="yes" radius="3"/>
+ <rectangle x1="add(#VolumeBarX,2)" y1="add(#VolumeBarY,2)" width="sub(#VolumeBarW,4)" height="sub(#VolumeBarH,4)" color="#ColVolumeFG" radius="2"/>
+ <block condition="not({VolumeIsMute})">
+ <progress x1="add(#VolumeBarX,4)" y1="add(#VolumeBarY,4)" width="sub(#VolumeBarW,8)" height="sub(#VolumeBarH,8)" color="#ColVolumeBar" direction="0" current="{VolumeCurrent}" total="{VolumeTotal}"/>
+ </block>
+ <block condition="{VolumeIsMute}">
+ <image x="div(sub({ScreenWidth},#MuteImageW),2)" y="div(sub({ScreenHeight},#MuteImageH),2)" color="#ColVolumeBar" path="#MuteImage"/>
+ </block>
+ </display>
+
+ <display id="audio">
+ <variable id="AudioX" value="10"/>
+ <variable id="AudioW" value="sub({ScreenWidth},mul(4,#AudioX))"/>
+ <variable id="AudioH" value="sub(div({ScreenHeight},2),4)"/>
+ <variable id="AudioY" value="sub({ScreenHeight},div({ScreenHeight},2))"/>
+ <variable id="AudioHeaderH" value="add(FontLineHeight('FontMenuTitle'),1,#PaddingH,#PaddingH)"/>
+ <variable id="AudioChannelW" value="FontTextWidth('FontMenuItem','L|R')" />
+
+ <rectangle x="#AudioX" y="#AudioY" width="#AudioW" height="#AudioHeaderH" color="#ColAudioHeaderBG" filled="yes"/>
+ <text x="add(#PaddingW,#AudioX)" y="add(#PaddingH,#AudioY)" width="sub(#AudioW,#PaddingW,#PaddingW)" height="FontLineHeight('FontMenuTitle')" color="#ColAudioHeaderFG" font="FontMenuTitle">Audio</text>
+ <!--rectangle x1="0" y1="add(FontLineHeight('FontMenuTitle'),2)" x2="-1" height="#LineThickness" color="#ColMenuBorder" filled="yes"/-->
+ <rectangle x="#AudioX" y="add(#AudioY,#AudioHeaderH)" width="#AudioW" height="sub(#AudioH,#AudioHeaderH)" color="#ColAudioBG" filled="yes"/>
+ <list x="#AudioX" y="add(#AudioY,#AudioHeaderH)" width="#AudioW" height="sub(#AudioH,#AudioHeaderH)">
+ <item height="#ItemHeight"/>
+ <rectangle x="0" y="0" width="#AudioW" height="add(#ItemHeight,1)" color="#ColAudioSelected" condition="{IsAudioTrackCurrent}" filled="yes"/>
+ <text x="#PaddingW" width="#AudioChannelW" y="0" height="#ItemHeight" condition="and({IsAudioTrackCurrent},eq({AudioChannel},0))" color="#ColAudioEntryCurr" scrollmode="never" align="center" font="FontMenuItem">L|R</text>
+ <text x="#PaddingW" width="#AudioChannelW" y="0" height="#ItemHeight" condition="and({IsAudioTrackCurrent},eq({AudioChannel},1))" color="#ColAudioEntryCurr" scrollmode="never" align="left" font="FontMenuItem">L| </text>
+ <text x="#PaddingW" width="#AudioChannelW" y="0" height="#ItemHeight" condition="and({IsAudioTrackCurrent},eq({AudioChannel},2))" color="#ColAudioEntryCurr" scrollmode="never" align="right" font="FontMenuItem"> |R</text>
+ <text x1="add(#PaddingW,#AudioChannelW,FontTextWidth('FontMenuItem',' '))" x2="-1" y="0" height="#ItemHeight" color="#ColAudioEntryCurr" font="FontMenuItem">{AudioTrackCurrent}</text>
+ <text x1="add(#PaddingW,#AudioChannelW,FontTextWidth('FontMenuItem',' '))" x2="-1" y="0" height="#ItemHeight" color="#ColAudioEntry" font="FontMenuItem">{AudioTrackItem}</text>
+ <!--text x1="#ArrowWidth" x2="-1" y1="0" height="#ItemHeight" color="#ColMenuEntryCurr" font="FontMenuItem">{MenuCurrent}</text-->
+ <!--image x="0" y="#ArrowY" color="#ColMenuEntryMarker" path="#ArrowBitmap" condition="{IsMenuCurrent}"/-->
+ <!--text x1="#ArrowWidth" x2="-1" y1="0" height="#ItemHeight" color="#ColMenuEntry" font="FontMenuItem">{MenuItem}</text-->
+ </list>
+ </display>
+
+ <display id="message">
+ <variable id="MessageX" value="10"/>
+ <variable id="MessageW" value="sub({ScreenWidth},mul(2,#MessageX))"/>
+ <variable id="MessageTextH" value="mul(4,FontLineHeight('FontInfo'))"/>
+ <variable id="MessageH" value="add(#MessageTextH,8)"/>
+ <variable id="MessageY" value="div(sub({ScreenHeight},#MessageH),2)"/>
+ <variable id="MessageBitmap" value="'images/message.pbm'"/>
+ <variable id="MessageBitmapW" value="ImageWidth(#MessageBitmap)"/>
+ <variable id="MessageBitmapH" value="ImageHeight(#MessageBitmap)"/>
+
+ <rectangle x1="#MessageX" y1="#MessageY" width="#MessageW" height="#MessageH" color="#ColMessageBG" filled="yes" radius="3"/>
+ <rectangle x1="add(#MessageX,2)" y1="add(#MessageY,2)" width="sub(#MessageW,4)" height="sub(#MessageH,4)" color="#ColMessageFG" radius="2"/>
+ <block condition="lt(#MessageBitmapH,sub(#MessageH,12))">
+ <image x1="add(#MessageX,6)" y1="add(#MessageY,6)" color="#ColMessageIcon" path="#MessageBitmap"/>
+ <text x1="add(add(#MessageX,10),#MessageBitmapW)" y1="add(#MessageY,4)" width="sub(sub(#MessageW,14),#MessageBitmapW)" height="#MessageTextH" color="#ColMessageText" align="left" multiline="yes" font="FontInfo">
+ {Message}
+ </text>
+ </block>
+ <block condition="ge(#MessageBitmapH,sub(#MessageH,12))">
+ <text x1="add(#MessageX,4)" y1="add(#MessageY,4)" width="sub(#MessageW,8)" height="#MessageTextH" color="#ColMessageText" align="left" multiline="yes" font="FontInfo">
+ {Message}
+ </text>
+ </block>
+ </display>
+
+ <display id="replay">
+ <variable id="ReplayProgressH" value="14"/>
+ <variable id="ReplayProgressGap" value="2"/>
+ <variable id="ReplayTimeY" value="mul(FontLineHeight('FontInfo'),-1)"/>
+ <variable id="ReplayProgressY" value="sub(#ReplayTimeY,#ReplayProgressH,#ReplayProgressGap)"/>
+ <variable id="ReplayLogo" value="'{ConfigPath}/logos/replay/replay-{ReplayMode}_m.glcd'" condition="le({ScreenHeight},64)"/>
+ <variable id="ReplayLogo" value="'{ConfigPath}/logos/replay/replay-{ReplayMode}_l.glcd'"/>
+ <variable id="ReplayLogoW" value="ImageWidth(#ReplayLogo)" />
+ <variable id="ReplayLogoH" value="ImageHeight(#ReplayLogo)" />
+ <variable id="ReplayLogoX" value="sub({ScreenWidth},#ReplayLogoW)" />
+
+ <block condition="{SettingShowReplayLogo}">
+ <image x="#ReplayLogoX" y="0" color="#ColReplayLogo" path="#ReplayLogo"/>
+ <!--
+ <rectangle x="sub(#ReplayLogoX,#LineThickness)" width="#LineThickness" y="0" height="#LogoH" color="#ColReplayBorder" filled="yes"/>
+ <rectangle x1="sub(#ReplayLogoX,#LineThickness)" x2="-1" y="#ReplayLogoH" height="#LineThickness" color="#ColReplayBorder" filled="yes"/>
+ -->
+ <text x1="0" x2="sub(#ReplayLogoX,#LineThickness,2)" y1="0" y2="#ReplayProgressY" color="#ColReplayText" align="left" multiline="yes" font="FontTitle">
+ {ReplayTitle}
+ </text>
+ </block>
+ <block condition="not({SettingShowReplayLogo})">
+ <text x1="0" x2="-1" y1="0" y2="sub(#ReplayProgressY,13)" color="#ColReplayText" align="left" multiline="yes" font="FontTitle">
+ {ReplayTitle}
+ </text>
+ </block>
+ <text x1="0" x2="-1" y1="sub(#ReplayProgressY,13)" y2="-1" color="#ColReplayText" align="left" font="FontChannel">{ReplayPositionIndex:%m} &lt;-&gt; {ReplayRemaining:%m} min</text>
+ <rectangle x1="0" y1="#ReplayProgressY" width="15" height="14" color="#ColReplayBorder"/>
+ <image x="1" y="add(#ReplayProgressY,1)" color="#ColReplayLogo" path="symbols/replay-play.pbm" condition="{ReplayIsPlaying}"/>
+ <image x="1" y="add(#ReplayProgressY,1)" color="#ColReplayLogo" path="symbols/replay-pause.pbm" condition="{ReplayIsPausing}"/>
+ <image x="1" y="add(#ReplayProgressY,1)" color="#ColReplayLogo" path="symbols/replay-fast-fwd.pbm" condition="{ReplayIsFastForward}"/>
+ <image x="1" y="add(#ReplayProgressY,1)" color="#ColReplayLogo" path="symbols/replay-fast-rwd.pbm" condition="{ReplayIsFastRewind}"/>
+ <image x="1" y="add(#ReplayProgressY,1)" color="#ColReplayLogo" path="symbols/replay-slow-fwd.pbm" condition="{ReplayIsSlowForward}"/>
+ <image x="1" y="add(#ReplayProgressY,1)" color="#ColReplayLogo" path="symbols/replay-slow-rwd.pbm" condition="{ReplayIsSlowRewind}"/>
+ <rectangle x1="14" x2="-1" y1="#ReplayProgressY" height="#ReplayProgressH" color="#ColReplayBorder"/>
+ <progress x1="16" x2="-3" y1="add(#ReplayProgressY,2)" height="sub(#ReplayProgressH,4)" color="#ColReplayBar" direction="0" current="{ReplayPosition}" total="{ReplayDuration}"/>
+ <text x1="0" x2="-1" y1="#ReplayTimeY" y2="-1" color="#ColReplayText" align="left" font="FontInfo">
+ {ReplayPositionIndex:%H\:%M\:%S}
+ </text>
+ <text x1="0" x2="-1" y1="#ReplayTimeY" y2="-1" color="#ColReplayText" align="right" font="FontInfo">
+ {ReplayDurationIndex:%H\:%M\:%S}
+ </text>
+ </display>
+
+ <display id="menu">
+ <variable id="ButtonPitch" value="div({ScreenWidth},4)"/>
+ <variable id="ButtonWidth" value="sub(#ButtonPitch,2)"/>
+ <variable id="ButtonHeight" value="add(FontLineHeight('FontMenuButton'),1)"/>
+ <variable id="ButtonY" value="mul(#ButtonHeight,-1)"/>
+ <variable id="ItemHeight" value="add(FontLineHeight('FontMenuItem'),1)"/>
+
+ <rectangle x1="0" y1="0" width="{ScreenWidth}" height="add(FontLineHeight('FontMenuTitle'),1)" color="#ColMenuHeaderBG" filled="yes"/>
+ <text x1="#PaddingW" x2="-1" y1="1" height="FontLineHeight('FontMenuTitle')" color="#ColMenuHeaderFG" font="FontMenuTitle">{MenuTitle}</text>
+ <rectangle x1="0" y1="add(FontLineHeight('FontMenuTitle'),4)" x2="-1" height="#LineThickness" color="#ColMenuBorder" filled="yes"/>
+ <list x1="0" y1="add(FontLineHeight('FontMenuTitle'),1)" x2="-1" y2="#ButtonY">
+ <item height="#ItemHeight"/>
+ <rectangle x="0" y="0" height="add(#ItemHeight,1)" color="#ColMenuSelected" condition="{IsMenuCurrent}" filled="yes"/>
+ <text x1="#PaddingW" x2="-1" y1="1" height="#ItemHeight" color="#ColMenuEntryCurr" font="FontMenuItem">{MenuCurrent}</text>
+ <text x1="#PaddingW" x2="-1" y1="1" height="#ItemHeight" color="#ColMenuEntry" font="FontMenuItem">{MenuItem}</text>
+ </list>
+ <block condition="{ButtonRed}">
+ <rectangle x1="add(mul(#ButtonPitch,0),1)" y1="#ButtonY" width="#ButtonWidth" height="#ButtonHeight" color="#ColMenuButtonRBG" filled="yes" radius="2"/>
+ <text x1="add(mul(#ButtonPitch,0),2)" y1="add(#ButtonY,1)" width="sub(#ButtonPitch,4)" height="FontLineHeight('FontMenuButton')" color="#ColMenuButtonRFG" align="center" scrollmode="once" font="FontMenuButton">{ButtonRed}</text>
+ </block>
+ <block condition="{ButtonGreen}">
+ <rectangle x1="add(mul(#ButtonPitch,1),1)" y1="#ButtonY" width="#ButtonWidth" height="#ButtonHeight" color="#ColMenuButtonGBG" filled="yes" radius="2"/>
+ <text x1="add(mul(#ButtonPitch,1),2)" y1="add(#ButtonY,1)" width="sub(#ButtonPitch,4)" height="FontLineHeight('FontMenuButton')" color="#ColMenuButtonGFG" align="center" scrollmode="once" font="FontMenuButton">{ButtonGreen}</text>
+ </block>
+ <block condition="{ButtonYellow}">
+ <rectangle x1="add(mul(#ButtonPitch,2),1)" y1="#ButtonY" width="#ButtonWidth" height="#ButtonHeight" color="#ColMenuButtonYBG" filled="yes" radius="2"/>
+ <text x1="add(mul(#ButtonPitch,2),2)" y1="add(#ButtonY,1)" width="sub(#ButtonPitch,4)" height="FontLineHeight('FontMenuButton')" color="#ColMenuButtonYFG" align="center" scrollmode="once" font="FontMenuButton">{ButtonYellow}</text>
+ </block>
+ <block condition="{ButtonBlue}">
+ <rectangle x1="add(mul(#ButtonPitch,3),1)" y1="#ButtonY" width="#ButtonWidth" height="#ButtonHeight" color="#ColMenuButtonBBG" filled="yes" radius="2"/>
+ <text x1="add(mul(#ButtonPitch,3),2)" y1="add(#ButtonY,1)" width="sub(#ButtonPitch,4)" height="FontLineHeight('FontMenuButton')" color="#ColMenuButtonBFG" align="center" scrollmode="once" font="FontMenuButton">{ButtonBlue}</text>
+ </block>
+
+ <block condition="{MenuText}">
+ <text x="#PaddingW" y="add(FontLineHeight('FontMenuTitle'),4)" y2="#ButtonY" color="#ColMenuText" multiline="yes" mlrelscroll="{MenuTextScroll}" font="FontMenuItem">{MenuText}</text>
+ </block>
+
+ </display>
+</skin>
diff --git a/graphlcd/skins/reelbox/symbols/dolby.pbm b/graphlcd/skins/reelbox/symbols/dolby.pbm
new file mode 100644
index 0000000..7273c86
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/dolby.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+†‚†ž \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/dolby_small.pbm b/graphlcd/skins/reelbox/symbols/dolby_small.pbm
new file mode 100644
index 0000000..a4a72f9
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/dolby_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+??? \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/empty.pbm b/graphlcd/skins/reelbox/symbols/empty.pbm
new file mode 100644
index 0000000..2fbee34
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/empty.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+ \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/empty_small.pbm b/graphlcd/skins/reelbox/symbols/empty_small.pbm
new file mode 100644
index 0000000..fe8389b
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/empty_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+???97 \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/multilanguage.pbm b/graphlcd/skins/reelbox/symbols/multilanguage.pbm
new file mode 100644
index 0000000..0b6c317
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/multilanguage.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+rڢڜr \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/multilanguage_small.pbm b/graphlcd/skins/reelbox/symbols/multilanguage_small.pbm
new file mode 100644
index 0000000..3435bfd
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/multilanguage_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+?? \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/mute.pbm b/graphlcd/skins/reelbox/symbols/mute.pbm
new file mode 100644
index 0000000..d88a206
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/mute.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+v 0  0 v \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/mute_small.pbm b/graphlcd/skins/reelbox/symbols/mute_small.pbm
new file mode 100644
index 0000000..f86fc93
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/mute_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+G_)%)G_ \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/recording.pbm b/graphlcd/skins/reelbox/symbols/recording.pbm
new file mode 100644
index 0000000..b13c220
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/recording.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+ff \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/recording2.pbm b/graphlcd/skins/reelbox/symbols/recording2.pbm
new file mode 100644
index 0000000..569dc17
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/recording2.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+n~ \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/recording2_small.pbm b/graphlcd/skins/reelbox/symbols/recording2_small.pbm
new file mode 100644
index 0000000..b52adb7
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/recording2_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+? \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/recording3.pbm b/graphlcd/skins/reelbox/symbols/recording3.pbm
new file mode 100644
index 0000000..af1e5da
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/recording3.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+nn \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/recording3_small.pbm b/graphlcd/skins/reelbox/symbols/recording3_small.pbm
new file mode 100644
index 0000000..1383772
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/recording3_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+ \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/recording4.pbm b/graphlcd/skins/reelbox/symbols/recording4.pbm
new file mode 100644
index 0000000..cfc18b7
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/recording4.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+~^ \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/recording4_small.pbm b/graphlcd/skins/reelbox/symbols/recording4_small.pbm
new file mode 100644
index 0000000..33300e6
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/recording4_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+? \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/recording_small.pbm b/graphlcd/skins/reelbox/symbols/recording_small.pbm
new file mode 100644
index 0000000..b378aae
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/recording_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+?? \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/replay-fast-fwd.pbm b/graphlcd/skins/reelbox/symbols/replay-fast-fwd.pbm
new file mode 100644
index 0000000..a5dfa47
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/replay-fast-fwd.pbm
Binary files differ
diff --git a/graphlcd/skins/reelbox/symbols/replay-fast-rwd.pbm b/graphlcd/skins/reelbox/symbols/replay-fast-rwd.pbm
new file mode 100644
index 0000000..bccfb9c
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/replay-fast-rwd.pbm
Binary files differ
diff --git a/graphlcd/skins/reelbox/symbols/replay-pause.pbm b/graphlcd/skins/reelbox/symbols/replay-pause.pbm
new file mode 100644
index 0000000..5a45410
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/replay-pause.pbm
Binary files differ
diff --git a/graphlcd/skins/reelbox/symbols/replay-play.pbm b/graphlcd/skins/reelbox/symbols/replay-play.pbm
new file mode 100644
index 0000000..9808fa2
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/replay-play.pbm
Binary files differ
diff --git a/graphlcd/skins/reelbox/symbols/replay-slow-fwd.pbm b/graphlcd/skins/reelbox/symbols/replay-slow-fwd.pbm
new file mode 100644
index 0000000..5187921
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/replay-slow-fwd.pbm
Binary files differ
diff --git a/graphlcd/skins/reelbox/symbols/replay-slow-rwd.pbm b/graphlcd/skins/reelbox/symbols/replay-slow-rwd.pbm
new file mode 100644
index 0000000..a069fa4
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/replay-slow-rwd.pbm
Binary files differ
diff --git a/graphlcd/skins/reelbox/symbols/scrambled.pbm b/graphlcd/skins/reelbox/symbols/scrambled.pbm
new file mode 100644
index 0000000..50d6fd1
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/scrambled.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+rڿژr \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/scrambled_small.pbm b/graphlcd/skins/reelbox/symbols/scrambled_small.pbm
new file mode 100644
index 0000000..56c7af7
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/scrambled_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+?? \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/teletext.pbm b/graphlcd/skins/reelbox/symbols/teletext.pbm
new file mode 100644
index 0000000..c1bfccd
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/teletext.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+15 11
+ \ No newline at end of file
diff --git a/graphlcd/skins/reelbox/symbols/teletext_small.pbm b/graphlcd/skins/reelbox/symbols/teletext_small.pbm
new file mode 100644
index 0000000..825ce98
--- /dev/null
+++ b/graphlcd/skins/reelbox/symbols/teletext_small.pbm
@@ -0,0 +1,4 @@
+P4
+# Created by Paint Shop Pro 5
+11 7
+??? \ No newline at end of file