summaryrefslogtreecommitdiff
path: root/views
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 /views
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
Diffstat (limited to 'views')
-rw-r--r--views/displaychannelview.c29
1 files changed, 27 insertions, 2 deletions
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) {