diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-05-04 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-05-04 18:00:00 +0200 |
commit | af2a135212088f0cba6bd8f98544b271c2f71bef (patch) | |
tree | 2cb92bca5d346a4214f5be25c3388887419585b8 /vdr.c | |
parent | 0686038af36be65b666bce669957c4d94c13f409 (diff) | |
download | vdr-patch-lnbsharing-af2a135212088f0cba6bd8f98544b271c2f71bef.tar.gz vdr-patch-lnbsharing-af2a135212088f0cba6bd8f98544b271c2f71bef.tar.bz2 |
Version 1.1.30vdr-1.1.30
- Fixed minimum lifespan of deleted recordings (thanks to Jaakko Hyvätti).
- Updated French OSD texts (thanks to Olivier Jacques).
- Fixed paging through lists with repeated Left/Right keys.
- Fixed setting the PCR-PID in case it is equal to one of the other PIDs (thanks
to Oliver Endriss for reporting this one).
- Fixed double call to MainMenuAction() of a plugin if invoked via a hotkey (thanks
to Kai Moeller for reporting this one).
- Fixed handling dedicated keys.
- Now turning off live PIDs when replaying. This avoids short spikes from other
channels when switching between Transfer Mode channels, and also lets an ongoing
replay continue even if a recording is started on the primary device.
- The RCU channel display no longer changes when a recording on a different
channel starts on the primary device.
- Restoring the current channel in case a recording has switched the transponder.
If all devices are busy and none of them can provide the current channel, the
message "Channel not available!" will be displayed.
- Removed the (no longer necessary) 'panic' stuff from cThread.
- Added cStatus::OsdItem() to provide the entire list of menu items to a plugin
(thanks to Carsten Siebholz).
- The red ("Record") and yellow ("Pause") button in the "Main" menu are no longer
available when replaying.
Diffstat (limited to 'vdr.c')
-rw-r--r-- | vdr.c | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/people/kls/vdr * - * $Id: vdr.c 1.150 2003/04/21 14:41:41 kls Exp $ + * $Id: vdr.c 1.152 2003/05/03 13:39:57 kls Exp $ */ #include <getopt.h> @@ -53,6 +53,7 @@ #include "tools.h" #include "videodir.h" +#define MINCHANNELWAIT 10 // seconds to wait between failed channel switchings #define ACTIVITYTIMEOUT 60 // seconds before starting housekeeping #define SHUTDOWNWAIT 300 // seconds to wait in user prompt before automatic shutdown #define MANUALSTART 600 // seconds the next timer must be in the future to assume manual start @@ -460,9 +461,14 @@ int main(int argc, char *argv[]) } // Attach launched player control: cControl::Attach(); - // Make sure Transfer-Mode is re-started after detaching a player: - if (cDevice::PrimaryDevice()->PlayerDetached() && !cDevice::PrimaryDevice()->Replaying()) - Channels.SwitchTo(cDevice::CurrentChannel()); + // Make sure we have a visible programme in case device usage has changed: + if (!cDevice::PrimaryDevice()->HasProgramme()) { + static time_t lastTime = 0; + if (time(NULL) - lastTime > MINCHANNELWAIT) { + if (!Channels.SwitchTo(cDevice::CurrentChannel())) + lastTime = time(NULL); // don't do this too often + } + } // Restart the Watchdog timer: if (WatchdogTimeout > 0) { int LatencyTime = WatchdogTimeout - alarm(WatchdogTimeout); @@ -503,6 +509,7 @@ int main(int argc, char *argv[]) switch (key) { // Menu control: case kMenu: + key = kNone; // nobody else needs to see this key if (Menu) { DELETENULL(Menu); if (!Temp) @@ -518,14 +525,15 @@ int main(int argc, char *argv[]) if (cControl::Control())\ cControl::Control()->Hide();\ Menu = new cMenuMain(cControl::Control(), function);\ - Temp = NULL; + Temp = NULL;\ + key = kNone; // nobody else needs to see this key case kSchedule: DirectMainFunction(osSchedule); break; case kChannels: DirectMainFunction(osChannels); break; case kTimers: DirectMainFunction(osTimers); break; case kRecordings: DirectMainFunction(osRecordings); break; case kSetup: DirectMainFunction(osSetup); break; case kCommands: DirectMainFunction(osCommands); break; - case kUser1 ... kUser9: cRemote::PutMacro(key); break; + case kUser1 ... kUser9: cRemote::PutMacro(key); key = kNone; break; case k_Plugin: DirectMainFunction(osPlugin, cRemote::GetPlugin()); break; // Channel up/down: case kChanUp|k_Repeat: |