Hallo,
wollte für das Plugin skinflatplus einen Patch einbauen. Folgendes habe ich gemacht:
Code
sudo apt-get install build-essential devscripts
sudo apt-get build-dep vdr-plugin-skinflatplus
sudo mkdir -p ~/src/vdr-plugin-skinflatplus
cd ~/src/vdr-plugin-skinflatplus
sudo apt-get source vdr-plugin-skinflatplus
cd vdr-plugin-skinflatplus
patch -p1 < ../patchtvs.diff
sudo dch -l local "added tvs infos"
sudo dpkg-buildpackage -b -us -uc
sudo dpkg -i ...deb"
Display More
VDR schmiert jetzt ab:
Code
Nov 08 10:05:15 vdr01 vdr[9022]: [9022] starting plugin: skinflatplus
Nov 08 10:05:15 vdr01 vdr[9022]: [9022] skinflatplus: TrueColor OSD found
Nov 08 10:05:15 vdr01 vdr[9022]: [9022] skinflatplus: load theme:
Nov 08 10:05:15 vdr01 vdr[9022]: Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Nov 08 10:05:15 vdr01 systemd[1]: vdr.service: Main process exited, code=killed, status=6/ABRT
Hier der Patch:
Diff
diff --git a/HISTORY b/HISTORY
index 487870dc..5c14a36b 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,7 +1,8 @@
VDR Plugin 'skinflatplus' Revision History
---------------------------------------
-2021-XX-XX: Version X.X.X
+2022-XX-XX: Version X.X.X
- [add] option for widget dvbdevices to display device numbers userfriendly
+- [add] display additional information from TVScraper (causedBy and reason)
2021-02-24: Version 0.6.1
- [fix] '%' sign not shown in menu weather widget at certian font
diff --git a/displaymenu.c b/displaymenu.c
index 2c4c4b01..df7a3097 100644
--- a/displaymenu.c
+++ b/displaymenu.c
@@ -3214,7 +3214,6 @@ void cFlatDisplayMenu::DrawItemExtraRecording(const cRecording *Recording, cStri
if (recInfo->Aux()) {
string str_epgsearch = xml_substring(recInfo->Aux(), "<epgsearch>", "</epgsearch>");
string channel, searchtimer, pattern;
-
if (!str_epgsearch.empty()) {
channel = xml_substring(str_epgsearch, "<channel>", "</channel>");
searchtimer = xml_substring(str_epgsearch, "<searchtimer>", "</searchtimer>");
@@ -3222,19 +3221,30 @@ void cFlatDisplayMenu::DrawItemExtraRecording(const cRecording *Recording, cStri
searchtimer = xml_substring(str_epgsearch, "<Search timer>", "</Search timer>");
}
+ string str_tvscraper = xml_substring(recInfo->Aux(), "<tvscraper>", "</tvscraper>");
+ string causedby, reason;
+ if (!str_tvscraper.empty()) {
+ causedby = xml_substring(str_tvscraper, "<causedBy>", "</causedBy>");
+ reason = xml_substring(str_tvscraper, "<reason>", "</reason>");
+ }
+
string str_vdradmin = xml_substring(recInfo->Aux(), "<vdradmin-am>", "</vdradmin-am>");
if (!str_vdradmin.empty()) {
pattern = xml_substring(str_vdradmin, "<pattern>", "</pattern>");
}
- if ((!channel.empty() && !searchtimer.empty()) || !pattern.empty()) {
- text << endl << endl << tr("additional information") << ":" << endl;
+ if ((!channel.empty() && !searchtimer.empty()) || (!causedby.empty() && !reason.empty()) || !pattern.empty()) {
+ text << endl << endl << tr("additional information") << ":"; // Zusatzinfos anzeigen
if (!channel.empty() && !searchtimer.empty()) {
- text << "EPGsearch: " << tr("channel") << ": " << channel << ", " << tr("search pattern") << ": "
+ text << endl << "EPGsearch: " << tr("channel") << ": " << channel << ", " << tr("search pattern") << ": "
<< searchtimer;
}
+ if (!causedby.empty() && !reason.empty()) { // TVScraper
+ text << endl << "TVScraper: " << tr("caused by") << ": " << causedby << ", " << tr("reason") << ": "
+ << reason;
+ }
if (!pattern.empty()) {
- text << "VDRadmin-AM: " << tr("search pattern") << ": " << pattern;
+ text << endl << "VDRadmin-AM: " << tr("search pattern") << ": " << pattern;
}
}
}
@@ -3601,7 +3611,6 @@ void cFlatDisplayMenu::SetRecording(const cRecording *Recording) {
if (recInfo->Aux()) {
string str_epgsearch = xml_substring(recInfo->Aux(), "<epgsearch>", "</epgsearch>");
string channel, searchtimer, pattern;
-
if (!str_epgsearch.empty()) {
channel = xml_substring(str_epgsearch, "<channel>", "</channel>");
searchtimer = xml_substring(str_epgsearch, "<searchtimer>", "</searchtimer>");
@@ -3609,19 +3618,29 @@ void cFlatDisplayMenu::SetRecording(const cRecording *Recording) {
searchtimer = xml_substring(str_epgsearch, "<Search timer>", "</Search timer>");
}
+ string str_tvscraper = xml_substring(recInfo->Aux(), "<tvscraper>", "</tvscraper>");
+ string causedby, reason;
+ if (!str_tvscraper.empty()) {
+ causedby = xml_substring(str_tvscraper, "<causedBy>", "</causedBy>");
+ reason = xml_substring(str_tvscraper, "<reason>", "</reason>");
+ }
+
string str_vdradmin = xml_substring(recInfo->Aux(), "<vdradmin-am>", "</vdradmin-am>");
if (!str_vdradmin.empty()) {
pattern = xml_substring(str_vdradmin, "<pattern>", "</pattern>");
}
- if ((!channel.empty() && !searchtimer.empty()) || !pattern.empty()) {
- recAdditional << endl;
- if (!channel.empty() && !searchtimer.empty()) {
- recAdditional << "EPGsearch: " << tr("channel") << ": " << channel << ", " << tr("search pattern") << ": "
+ if ((!channel.empty() && !searchtimer.empty()) || (!causedby.empty() && !reason.empty()) || !pattern.empty()) {
+ if (!channel.empty() && !searchtimer.empty()) { // EPGSearch
+ recAdditional << endl << "EPGsearch: " << tr("channel") << ": " << channel << ", " << tr("search pattern") << ": "
<< searchtimer;
}
- if (!pattern.empty()) {
- recAdditional << "VDRadmin-AM: " << tr("search pattern") << ": " << pattern;
+ if (!causedby.empty() && !reason.empty()) { // TVScraper
+ recAdditional << endl << "TVScraper: " << tr("caused by") << ": " << causedby << ", " << tr("reason") << ": "
+ << reason;
+ }
+ if (!pattern.empty()) { // VDR-Admin
+ recAdditional << endl << "VDRadmin-AM: " << tr("search pattern") << ": " << pattern;
}
}
}
@@ -4695,7 +4714,7 @@ int cFlatDisplayMenu::DrawMainMenuWidgetDVBDevices(int wLeft, int wWidth, int Co
}
}
channelName = strDevice.str().c_str();
-
+
cString str = cString::sprintf("%d", i + 1); // Display Tuners 1..4
if (Config.MainMenuWidgetDVBDevicesNativeNumbering) {
str = cString::sprintf("%d", i); // Display Tuners 0..3
diff --git a/po/de_DE.po b/po/de_DE.po
index ae3eedce..e2cb4fee 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -132,6 +132,12 @@ msgstr "Kanal"
msgid "search pattern"
msgstr "Suchmuster"
+msgid "caused by"
+msgstr "Ausgelöst durch"
+
+msgid "reason"
+msgstr "Grund"
+
msgid "Recording information"
msgstr "Aufnahme Informationen"
Display More
Dachte nicht, dass der so schwerwiegende Folgen hat...
Wie bekomme ich das wieder hin.
Und wie komme ich zurück zum alten Plugin aus dem Repo?