summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff')
-rw-r--r--media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff126
1 files changed, 126 insertions, 0 deletions
diff --git a/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff b/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff
new file mode 100644
index 000000000000..8c2c180ab2c2
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff
@@ -0,0 +1,126 @@
+diff -Naur graphlcd-0.1.4.orig/state.c graphlcd-0.1.4/state.c
+--- graphlcd-0.1.4.orig/state.c 2007-02-04 23:35:16.317687570 +0100
++++ graphlcd-0.1.4/state.c 2007-02-04 23:42:12.065780817 +0100
+@@ -16,6 +16,7 @@
+
+ #include <vdr/eitscan.h>
+ #include <vdr/i18n.h>
++#include <vdr/plugin.h>
+
+ #include "compat.h"
+
+@@ -654,6 +655,8 @@
+
+ void cGraphLCDState::GetProgramme()
+ {
++ bool ptitle = false;
++
+ mutex.Lock();
+ #if VDRVERSNUM < 10300
+ const cEventInfo * present = NULL, * following = NULL;
+@@ -670,9 +673,11 @@
+ {
+ event.presentTime = present->GetTime();
+ event.presentTitle = "";
+- if (!isempty(present->GetTitle()))
++ if (!isempty(present->GetTitle())) {
+ event.presentTitle = present->GetTitle();
+ event.presentSubtitle = "";
++ ptitle = true;
++ }
+ if (!isempty(present->GetSubtitle()))
+ event.presentSubtitle = present->GetSubtitle();
+ }
+@@ -704,9 +709,11 @@
+ {
+ event.presentTime = present->StartTime();
+ event.presentTitle = "";
+- if (!isempty(present->Title()))
++ if (!isempty(present->Title())) {
+ event.presentTitle = present->Title();
+ event.presentSubtitle = "";
++ ptitle = true;
++ }
+ if (!isempty(present->ShortText()))
+ event.presentSubtitle = present->ShortText();
+ }
+@@ -724,6 +731,54 @@
+ }
+ }
+ #endif
++
++#if VDRVERSNUM >= 10330
++ { // get&display Radiotext
++ cPlugin *p;
++ p = cPluginManager::CallFirstService("RadioTextService-v1.0", NULL);
++ if (p) {
++ RadioTextService_v1_0 rtext;
++ if (cPluginManager::CallFirstService("RadioTextService-v1.0", &rtext)) {
++ if (rtext.rds_info == 2 && strstr(rtext.rds_title, "---") == NULL) {
++ char rtpinfo[2][65], rtstr[140];
++ strcpy(rtpinfo[0], rtext.rds_title);
++ strcpy(rtpinfo[1], rtext.rds_artist);
++ sprintf(rtstr, "%02d:%02d %s | %s", rtext.title_start->tm_hour, rtext.title_start->tm_min, trim(((std::string)(rtpinfo[0]))).c_str(), trim(((std::string)(rtpinfo[1]))).c_str());
++ ptitle ? event.presentSubtitle = rtstr : event.presentTitle = rtstr;
++ }
++ else if (rtext.rds_info > 0) {
++ char rtstr[65];
++ strcpy(rtstr, rtext.rds_text);
++ ptitle ? event.presentSubtitle = trim(rtstr) : event.presentTitle = trim(rtstr);
++ }
++ }
++ }
++ }
++#endif
++
++#if VDRVERSNUM >= 10330
++ { // get&display LcrData
++ cPlugin *p;
++ p = cPluginManager::CallFirstService("LcrService-v1.0", NULL);
++ if (p)
++ {
++ LcrService_v1_0 lcrData;
++ if (cPluginManager::CallFirstService("LcrService-v1.0", &lcrData))
++ {
++ if ( strstr( lcrData.destination, "---" ) == NULL )
++ {
++ char lcrStringParts[3][25], lcrString[100];
++ strcpy( lcrStringParts[0], (const char *)lcrData.destination );
++ strcpy( lcrStringParts[1], (const char *)lcrData.price );
++ strcpy( lcrStringParts[2], (const char *)lcrData.pulse );
++ sprintf(lcrString, "%s | %s", trim((std::string)(lcrStringParts[1])).c_str(), trim((std::string)(lcrStringParts[2])).c_str());
++ event.presentTitle = trim(lcrStringParts[0]);
++ event.presentSubtitle = trim(lcrString);
++ }
++ }
++ }
++ }
++#endif
+ mutex.Unlock();
+ }
+
+diff -Naur graphlcd-0.1.4.orig/state.h graphlcd-0.1.4/state.h
+--- graphlcd-0.1.4.orig/state.h 2007-02-04 23:35:16.317687570 +0100
++++ graphlcd-0.1.4/state.h 2007-02-04 23:43:05.728759351 +0100
+@@ -130,4 +130,21 @@
+ tVolumeState GetVolumeState();
+ };
+
++// Radiotext
++struct RadioTextService_v1_0 {
++ int rds_info;
++ int rds_pty;
++ char *rds_text;
++ char *rds_title;
++ char *rds_artist;
++ struct tm *title_start;
++};
++
++// LcrData
++struct LcrService_v1_0 {
++ cString destination;
++ cString price;
++ cString pulse;
++};
++
+ #endif