diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2007-02-25 18:00:00 +0100 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2007-02-25 18:00:00 +0100 |
commit | 9f42c33ef6793482a5c2515f9a87c13c0d189c60 (patch) | |
tree | 45025e95c0774761760c9bc6a44f4e69a1baf43b /config.c | |
parent | 66ab78a40f5b57e20142a33484e32c785a0c4017 (diff) | |
download | vdr-patch-lnbsharing-9f42c33ef6793482a5c2515f9a87c13c0d189c60.tar.gz vdr-patch-lnbsharing-9f42c33ef6793482a5c2515f9a87c13c0d189c60.tar.bz2 |
Version 1.5.1vdr-1.5.1
- Added cDevice::HasCi() so that devices with Common Interface can be avoided
when tuning to an FTA channel, thus preserving the CAM resources even on budget
DVB cards (suggested by Petri Helin).
- Fixed i18n characters for the Hungarian texts (thanks to Thomas Günther).
- Now using cPipe instead of popen() in cCommand::Execute() to avoid problems
with open file handles when starting background commands (thanks to Reinhard
Nissl).
- Removed 'assert(0)' from cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler).
- Fixed a possible crash when loading an invalid XPM file (thanks to Martin Wache).
- Updated satellite names in 'sources.conf' (thanks to Thilo Wunderlich).
- Adapted 'libsi' to DVB-S2 (thanks to Marco Schlüßler).
- Fixed handling error status in cDvbTuner::GetFrontendStatus() (thanks to
Reinhard Nissl).
- Shutdown handling has been rewritten (thanks to Udo Richter).
- Plugins can now implement the new function WakeupTime() to request VDR to wake
up at a particular time (thanks to Udo Richter).
- The HUP signal now forces a restart of VDR (thanks to Udo Richter).
- cThread::EmergencyExit() has been replaced by ShutdownHandler.RequestEmergencyExit().
- Several references to "button" in a remote control context have been changed
to "key" (based on a report from Marko Mäkelä regarding the "Menu button closes"
text). The "MenuButtonCloses" parameter in 'setup.conf' has therefore been
renamed to "MenuKeyCloses", accordingly. This will result in an "unknown config
parameter: MenuButtonCloses" error message in the log file, so you may want to
remove that entry from your 'setup.conf' file.
- Simplified the error handling in cDvbTuner::GetFrontendStatus() (based on a
discussion with Reinhard Nissl).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Increased the maximum number of DVB devices to 8 (thanks to Rolf Ahrenberg).
- The new Setup parameter "Channel entry timeout" can be used to customize the time
since the last keypress until a numerically entered channel number is considered
complete, and the channel is switched (suggested by Helmut Auer). Setting this
parameter to 0 turns off the automatic channel switching, and the user will
have to confirm the entry by pressing the "Ok" key.
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.146 2006/07/22 11:57:51 kls Exp $ + * $Id: config.c 1.150 2007/02/25 13:58:45 kls Exp $ */ #include "config.h" @@ -67,8 +67,8 @@ const char *cCommand::Execute(const char *Parameters) asprintf(&cmdbuf, "%s %s", command, Parameters); const char *cmd = cmdbuf ? cmdbuf : command; dsyslog("executing command '%s'", cmd); - FILE *p = popen(cmd, "r"); - if (p) { + cPipe p; + if (p.Open(cmd, "r")) { int l = 0; int c; while ((c = fgetc(p)) != EOF) { @@ -78,7 +78,7 @@ const char *cCommand::Execute(const char *Parameters) } if (result) result[l] = 0; - pclose(p); + p.Close(); } else esyslog("ERROR: can't open pipe for command '%s'", cmd); @@ -222,7 +222,7 @@ cSetup::cSetup(void) TimeoutRequChInfo = 1; MenuScrollPage = 1; MenuScrollWrap = 0; - MenuButtonCloses = 0; + MenuKeyCloses = 0; MarkInstantRecord = 1; strcpy(NameInstantRecord, "TITLE EPISODE"); InstantRecordTime = 180; @@ -242,6 +242,7 @@ cSetup::cSetup(void) EPGLinger = 0; SVDRPTimeout = 300; ZapTimeout = 3; + ChannelEntryTimeout = 1000; PrimaryLimit = 0; DefaultPriority = 50; DefaultLifetime = 99; @@ -267,6 +268,7 @@ cSetup::cSetup(void) SplitEditedFiles = 0; MinEventTimeout = 30; MinUserInactivity = 300; + NextWakeupTime = 0; MultiSpeedMode = 0; ShowReplayMode = 0; ResumeID = 0; @@ -383,7 +385,7 @@ bool cSetup::Parse(const char *Name, const char *Value) else if (!strcasecmp(Name, "TimeoutRequChInfo")) TimeoutRequChInfo = atoi(Value); else if (!strcasecmp(Name, "MenuScrollPage")) MenuScrollPage = atoi(Value); else if (!strcasecmp(Name, "MenuScrollWrap")) MenuScrollWrap = atoi(Value); - else if (!strcasecmp(Name, "MenuButtonCloses")) MenuButtonCloses = atoi(Value); + else if (!strcasecmp(Name, "MenuKeyCloses")) MenuKeyCloses = atoi(Value); else if (!strcasecmp(Name, "MarkInstantRecord")) MarkInstantRecord = atoi(Value); else if (!strcasecmp(Name, "NameInstantRecord")) strn0cpy(NameInstantRecord, Value, MaxFileName); else if (!strcasecmp(Name, "InstantRecordTime")) InstantRecordTime = atoi(Value); @@ -403,6 +405,7 @@ bool cSetup::Parse(const char *Name, const char *Value) else if (!strcasecmp(Name, "EPGLinger")) EPGLinger = atoi(Value); else if (!strcasecmp(Name, "SVDRPTimeout")) SVDRPTimeout = atoi(Value); else if (!strcasecmp(Name, "ZapTimeout")) ZapTimeout = atoi(Value); + else if (!strcasecmp(Name, "ChannelEntryTimeout")) ChannelEntryTimeout= atoi(Value); else if (!strcasecmp(Name, "PrimaryLimit")) PrimaryLimit = atoi(Value); else if (!strcasecmp(Name, "DefaultPriority")) DefaultPriority = atoi(Value); else if (!strcasecmp(Name, "DefaultLifetime")) DefaultLifetime = atoi(Value); @@ -428,6 +431,7 @@ bool cSetup::Parse(const char *Name, const char *Value) else if (!strcasecmp(Name, "SplitEditedFiles")) SplitEditedFiles = atoi(Value); else if (!strcasecmp(Name, "MinEventTimeout")) MinEventTimeout = atoi(Value); else if (!strcasecmp(Name, "MinUserInactivity")) MinUserInactivity = atoi(Value); + else if (!strcasecmp(Name, "NextWakeupTime")) NextWakeupTime = atoi(Value); else if (!strcasecmp(Name, "MultiSpeedMode")) MultiSpeedMode = atoi(Value); else if (!strcasecmp(Name, "ShowReplayMode")) ShowReplayMode = atoi(Value); else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value); @@ -451,7 +455,7 @@ bool cSetup::Save(void) Store("TimeoutRequChInfo", TimeoutRequChInfo); Store("MenuScrollPage", MenuScrollPage); Store("MenuScrollWrap", MenuScrollWrap); - Store("MenuButtonCloses", MenuButtonCloses); + Store("MenuKeyCloses", MenuKeyCloses); Store("MarkInstantRecord", MarkInstantRecord); Store("NameInstantRecord", NameInstantRecord); Store("InstantRecordTime", InstantRecordTime); @@ -471,6 +475,7 @@ bool cSetup::Save(void) Store("EPGLinger", EPGLinger); Store("SVDRPTimeout", SVDRPTimeout); Store("ZapTimeout", ZapTimeout); + Store("ChannelEntryTimeout",ChannelEntryTimeout); Store("PrimaryLimit", PrimaryLimit); Store("DefaultPriority", DefaultPriority); Store("DefaultLifetime", DefaultLifetime); @@ -496,6 +501,7 @@ bool cSetup::Save(void) Store("SplitEditedFiles", SplitEditedFiles); Store("MinEventTimeout", MinEventTimeout); Store("MinUserInactivity", MinUserInactivity); + Store("NextWakeupTime", NextWakeupTime); Store("MultiSpeedMode", MultiSpeedMode); Store("ShowReplayMode", ShowReplayMode); Store("ResumeID", ResumeID); |