126 lines
4.3 KiB
Diff
126 lines
4.3 KiB
Diff
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
|