summaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2014-10-17 17:44:02 +0200
committerlouis <louis.braun@gmx.de>2014-10-17 17:44:02 +0200
commitdf57e20e06a4274e5cf0d98b05d33701e24842a9 (patch)
treedba8a3d0cf7a5f25d11bc6db4ec2da6d10799308 /views
parent6b16f46272ad44d9fbf737ed43e696b95e972f34 (diff)
downloadvdr-plugin-skindesigner-df57e20e06a4274e5cf0d98b05d33701e24842a9.tar.gz
vdr-plugin-skindesigner-df57e20e06a4274e5cf0d98b05d33701e24842a9.tar.bz2
introduced new viewelement audioinfo in displaychannel
Diffstat (limited to 'views')
-rw-r--r--views/displaychannelview.c55
-rw-r--r--views/displaychannelview.h6
2 files changed, 46 insertions, 15 deletions
diff --git a/views/displaychannelview.c b/views/displaychannelview.c
index d55164a..6a68e25 100644
--- a/views/displaychannelview.c
+++ b/views/displaychannelview.c
@@ -13,6 +13,10 @@ cDisplayChannelView::cDisplayChannelView(cTemplateView *tmplView) : cView(tmplVi
lastSignalDisplay = 0;
lastSignalStrength = 0;
lastSignalQuality = 0;
+ lastNumAudioTracks = 0;
+ lastAudioChannel = -1;
+ lastTracDesc = "";
+ lastTrackLang = "";
DeleteOsdOnExit();
SetFadeTime(tmplView->GetNumericParameter(ptFadeTime));
}
@@ -201,7 +205,25 @@ void cDisplayChannelView::DrawStatusIcons(const cChannel *Channel) {
if (Timer->Recording())
isRecording = true;
- //enhanced audio information
+ 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));
+
+ DrawViewElement(veStatusInfo, &stringTokens, &intTokens);
+}
+
+void cDisplayChannelView::ClearStatusIcons(void) {
+ ClearViewElement(veStatusInfo);
+}
+
+void cDisplayChannelView::DrawAudioInfo(void) {
+ if (!ViewElementImplemented(veAudioInfo)) {
+ return;
+ }
+
int numAudioTracks = 0;
int audioChannel = -1;
string trackDescription = "";
@@ -219,23 +241,26 @@ void cDisplayChannelView::DrawStatusIcons(const cChannel *Channel) {
}
}
}
+ if (lastNumAudioTracks != numAudioTracks || lastAudioChannel != audioChannel || lastTracDesc.compare(trackDescription) || lastTrackLang.compare(trackLanguage)) {
+ lastNumAudioTracks = numAudioTracks;
+ lastAudioChannel = audioChannel;
+ lastTracDesc = trackDescription;
+ lastTrackLang = trackLanguage;
- 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, &stringTokens, &intTokens);
+ map < string, int > intTokens;
+ map < string, string > stringTokens;
+ 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));
+
+ ClearAudioInfo();
+ DrawViewElement(veAudioInfo, &stringTokens, &intTokens);
+ }
}
-void cDisplayChannelView::ClearStatusIcons(void) {
- ClearViewElement(veStatusInfo);
+void cDisplayChannelView::ClearAudioInfo(void) {
+ ClearViewElement(veAudioInfo);
}
void cDisplayChannelView::DrawScreenResolution(void) {
diff --git a/views/displaychannelview.h b/views/displaychannelview.h
index 9d16e25..c87c2a1 100644
--- a/views/displaychannelview.h
+++ b/views/displaychannelview.h
@@ -12,6 +12,10 @@ private:
int lastSignalDisplay;
int lastSignalStrength;
int lastSignalQuality;
+ int lastNumAudioTracks;
+ int lastAudioChannel;
+ string lastTracDesc;
+ string lastTrackLang;
string GetScreenResolutionString(int width, int height, bool *isHD);
string GetScreenAspectString(double aspect, bool *isWideScreen);
string GetChannelSep(const cChannel *channel, bool prev);
@@ -32,6 +36,8 @@ public:
void ClearEPGInfo(void);
void DrawStatusIcons(const cChannel *Channel);
void ClearStatusIcons(void);
+ void DrawAudioInfo(void);
+ void ClearAudioInfo(void);
void DrawScreenResolution(void);
void ClearScreenResolution(void);
void DrawScraperContent(const cEvent *event);