diff options
author | Dimitar Petrovski <dimeptr@gmail.com> | 2012-10-29 11:33:53 +0100 |
---|---|---|
committer | Dimitar Petrovski <dimeptr@gmail.com> | 2012-10-29 11:33:53 +0100 |
commit | 89602f07f60672d0d7ab1dbf8f06be9e8f6566d1 (patch) | |
tree | f317a56853384c14048dd4eb96d096b925afa370 | |
parent | 023c24e88bae40f472cb0c37fc02ea67d4a5b5bc (diff) | |
download | vdr-plugin-eepg-89602f07f60672d0d7ab1dbf8f06be9e8f6566d1.tar.gz vdr-plugin-eepg-89602f07f60672d0d7ab1dbf8f06be9e8f6566d1.tar.bz2 |
Try to fix the charset override by setting the envioronment variable
Add option to setup not to set Category and Genere to empty short texts
-rw-r--r-- | eepg.c | 18 | ||||
-rw-r--r-- | setupeepg.c | 2 | ||||
-rw-r--r-- | setupeepg.h | 1 |
3 files changed, 19 insertions, 2 deletions
@@ -121,7 +121,9 @@ cMenuSetupPremiereEpg::cMenuSetupPremiereEpg (void) Add (new cMenuEditBoolItem (tr ("Show order information"), &data->OrderInfo)); Add (new cMenuEditBoolItem (tr ("Show rating information"), &data->RatingInfo)); Add (new cMenuEditBoolItem (tr ("Fix EPG data"), &data->FixEpg)); + SetSection (tr ("General")); Add (new cMenuEditBoolItem (tr ("Display summary message"), &data->DisplayMessage)); + Add (new cMenuEditBoolItem (tr ("Replace Empty Short Text with Category - Genre"), &data->ReplaceEmptyShText)); #ifdef DEBUG Add (new cMenuEditIntItem (tr ("Level of logging verbosity"), &data->LogLevel, 0, 5)); Add (new cMenuEditBoolItem (tr ("Process EIT info with EEPG"), &data->ProcessEIT)); @@ -136,6 +138,7 @@ void cMenuSetupPremiereEpg::Store (void) SetupStore ("RatingInfo", SetupPE->RatingInfo); SetupStore ("FixEpg", SetupPE->FixEpg); SetupStore ("DisplayMessage", SetupPE->DisplayMessage); + SetupStore ("ReplaceEmptyShText", SetupPE->ReplaceEmptyShText); #ifdef DEBUG SetupStore ("LogLevel", SetupPE->LogLevel); SetupStore ("ProcessEIT", SetupPE->ProcessEIT); @@ -1294,7 +1297,8 @@ void cFilterEEPG::WriteToSchedule(tChannelID channelID, cSchedules* pSchedules, Event->SetTitle (Text); } - char *tmp = NULL; + char* tmp = NULL; + string shText; string shText; if (SummText && ShTxtLen) { @@ -1327,7 +1331,7 @@ void cFilterEEPG::WriteToSchedule(tChannelID channelID, cSchedules* pSchedules, } if (!shText.empty()) Event->SetShortText (shText.c_str()); - else { + else if (SetupPE->ReplaceEmptyShText) { Asprintf (&tmp, "%s - %d\'", Themes[ThemeId], Duration); Event->SetShortText (tmp); free(tmp); @@ -2842,6 +2846,14 @@ void cFilterEEPG::Process (u_short Pid, u_char Tid, const u_char * Data, int Len // LogD(2, prep("Pid: 0x%02x Tid: %d Length: %d PMT pid: 0x%04x"), Pid, Tid, Length, pmtpid); // LogD(2, prep("Source: %d Transponder: %d"), Source () , Transponder ()); + if (Channel()->Nid() == 0x01) { + setenv("VDR_CHARSET_OVERRIDE", "ISO-8859-9", true); + LogD(0, prep("setenv VDR_CHARSET_OVERRIDE ISO-8859-9")); + } + else { + unsetenv("VDR_CHARSET_OVERRIDE"); + LogD(0, prep("clear VDR_CHARSET_OVERRIDE")); + } if (Pid == 0 && Tid == SI::TableIdPAT) { if (!pmtnext || now > pmtnext) { if (pmtpid) @@ -3687,6 +3699,8 @@ bool cPluginEEPG::SetupParse (const char *Name, const char *Value) SetupPE->FixEpg = atoi (Value); else if (!strcasecmp (Name, "DisplayMessage")) SetupPE->DisplayMessage = atoi (Value); + else if (!strcasecmp (Name, "ReplaceEmptyShText")) + SetupPE->ReplaceEmptyShText = atoi (Value); #ifdef DEBUG else if (!strcasecmp (Name, "LogLevel")) SetupPE->LogLevel = atoi (Value); diff --git a/setupeepg.c b/setupeepg.c index c0dff6a..bfbb26f 100644 --- a/setupeepg.c +++ b/setupeepg.c @@ -22,6 +22,8 @@ cSetupEEPG::cSetupEEPG (void) FixEpg = 0; DisplayMessage = 1; ProcessEIT = 0; + ReplaceEmptyShText = 0; + #ifdef DEBUG LogLevel = 0; #endif diff --git a/setupeepg.h b/setupeepg.h index 4c30ede..eb3c53e 100644 --- a/setupeepg.h +++ b/setupeepg.h @@ -18,6 +18,7 @@ public: int FixEpg; int DisplayMessage; int ProcessEIT; + int ReplaceEmptyShText; #ifdef DEBUG int LogLevel; #endif |