summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2014-10-03 07:17:16 +0200
committerlouis <louis.braun@gmx.de>2014-10-03 07:17:16 +0200
commit86ec43925f2dbd6fc329ad2c78777a6ef62c1c15 (patch)
tree751d15169cc10b058a4bf60a23c37ee4e6fb3aca
parent45d84b7d8ab0427625a6b0e5d7bf659014aac4d7 (diff)
downloadvdr-plugin-skindesigner-86ec43925f2dbd6fc329ad2c78777a6ef62c1c15.tar.gz
vdr-plugin-skindesigner-86ec43925f2dbd6fc329ad2c78777a6ef62c1c15.tar.bz2
added some more tokens with more detailed audio information in displaychannel -> statusinfo
-rw-r--r--HISTORY3
-rw-r--r--skindesigner.c2
-rw-r--r--skins/default/xmlfiles/displaychannel.xml6
-rw-r--r--skinskeleton/xmlfiles/displaychannel.xml4
-rw-r--r--views/displaychannelview.c29
5 files changed, 40 insertions, 4 deletions
diff --git a/HISTORY b/HISTORY
index 23775a8..8583bc3 100644
--- a/HISTORY
+++ b/HISTORY
@@ -5,3 +5,6 @@ VDR Plugin 'skindesigner' Revision History
- Initial revision.
+Version 0.0.2
+
+- added some more tokens with more detailed audio information in displaychannel -> statusinfo
diff --git a/skindesigner.c b/skindesigner.c
index 822e42f..b2b2b7f 100644
--- a/skindesigner.c
+++ b/skindesigner.c
@@ -20,7 +20,7 @@
#endif
-static const char *VERSION = "0.0.1";
+static const char *VERSION = "0.0.2";
static const char *DESCRIPTION = "SkinDesigner";
static const char *MAINMENUENTRY = "Skin Designer";
diff --git a/skins/default/xmlfiles/displaychannel.xml b/skins/default/xmlfiles/displaychannel.xml
index 6162562..7f43e34 100644
--- a/skins/default/xmlfiles/displaychannel.xml
+++ b/skins/default/xmlfiles/displaychannel.xml
@@ -85,8 +85,12 @@
{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
+ {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
-->
- <statusinfo>
+ <statusinfo debug="true">
<area x="22%" y="94%" width="76%" height="6%" layer="2">
<!-- encrypted / decrypted icon -->
<drawimage name="enc" condition="{isEncrypted}" imagetype="icon" path="ico_crypt_on" x="{areawidth} - {width(enc)}" valign="center" width="{areaheight}*0.8*1.76" height="{areaheight}*0.8"/>
diff --git a/skinskeleton/xmlfiles/displaychannel.xml b/skinskeleton/xmlfiles/displaychannel.xml
index 7f55232..716ccad 100644
--- a/skinskeleton/xmlfiles/displaychannel.xml
+++ b/skinskeleton/xmlfiles/displaychannel.xml
@@ -52,6 +52,10 @@
{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
+ {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
-->
<statusinfo>
</statusinfo>
diff --git a/views/displaychannelview.c b/views/displaychannelview.c
index 66155a1..fb264fd 100644
--- a/views/displaychannelview.c
+++ b/views/displaychannelview.c
@@ -176,6 +176,9 @@ void cDisplayChannelView::DrawStatusIcons(const cChannel *Channel) {
return;
}
+ map < string, int > intTokens;
+ map < string, string > stringTokens;
+
bool isRadio = !Channel->Vpid() && Channel->Apid(0);
bool hasVT = Channel->Vpid() && Channel->Tpid();
bool isStereo = Channel->Apid(0);
@@ -188,15 +191,37 @@ void cDisplayChannelView::DrawStatusIcons(const cChannel *Channel) {
if (Timer->Recording())
isRecording = true;
- map < string, int > intTokens;
+ //enhanced audio information
+ int numAudioTracks = 0;
+ int audioChannel = -1;
+ string trackDescription = "";
+ string trackLanguage = "";
+
+ cDevice *device = cDevice::PrimaryDevice();
+ if (device) {
+ numAudioTracks = device->NumAudioTracks();
+ audioChannel = device->GetAudioChannel();
+ if (numAudioTracks > 0) {
+ const tTrackId *track = device->GetTrack(device->GetCurrentAudioTrack());
+ if (track) {
+ trackDescription = track->description ? track->description : "";
+ trackLanguage = track->language ? track->language : "";
+ }
+ }
+ }
+
intTokens.insert(pair<string,int>("isRadio", isRadio));
intTokens.insert(pair<string,int>("hasVT", hasVT));
intTokens.insert(pair<string,int>("isStereo", isStereo));
intTokens.insert(pair<string,int>("isDolby", isDolby));
intTokens.insert(pair<string,int>("isEncrypted", isEncrypted));
intTokens.insert(pair<string,int>("isRecording", isRecording));
+ intTokens.insert(pair<string,int>("numaudiotracks", numAudioTracks));
+ intTokens.insert(pair<string,int>("audiochannel", audioChannel));
+ stringTokens.insert(pair<string,string>("trackdesc", trackDescription));
+ stringTokens.insert(pair<string,string>("tracklang", trackLanguage));
- DrawViewElement(veStatusInfo, NULL, &intTokens);
+ DrawViewElement(veStatusInfo, &stringTokens, &intTokens);
}
void cDisplayChannelView::ClearStatusIcons(void) {