diff options
| author | louis <louis.braun@gmx.de> | 2014-10-17 17:44:02 +0200 |
|---|---|---|
| committer | louis <louis.braun@gmx.de> | 2014-10-17 17:44:02 +0200 |
| commit | df57e20e06a4274e5cf0d98b05d33701e24842a9 (patch) | |
| tree | dba8a3d0cf7a5f25d11bc6db4ec2da6d10799308 /views | |
| parent | 6b16f46272ad44d9fbf737ed43e696b95e972f34 (diff) | |
| download | vdr-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.c | 55 | ||||
| -rw-r--r-- | views/displaychannelview.h | 6 |
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); |
