diff options
author | Midas <vdrportal_midas@gmx.de> | 2010-08-06 02:26:00 +0200 |
---|---|---|
committer | Midas <vdrportal_midas@gmx.de> | 2010-08-06 02:26:00 +0200 |
commit | d04ad65095872e60613282b584ee10013ea18f44 (patch) | |
tree | 4d31cce2a685354dbb8f9dd0d5e7e8ea94da4f93 /control.c | |
parent | 1565ce3671072ce03dc126f015af2e660497e323 (diff) | |
download | vdr-plugin-block-d04ad65095872e60613282b584ee10013ea18f44.tar.gz vdr-plugin-block-d04ad65095872e60613282b584ee10013ea18f44.tar.bz2 |
Release 0.0.4. Main menu entry now also deblocks. Replay of recorded
shows won't stop anymore on block events. Channel +/- work now to
change zap direction on block events.
Diffstat (limited to 'control.c')
-rw-r--r-- | control.c | 30 |
1 files changed, 21 insertions, 9 deletions
@@ -118,7 +118,9 @@ eOSState cControlBlock::ProcessKey(eKeys Key) dsyslog("plugin-block: userint Processing kNone (no user interaction)"); #endif if (mStart == 0) + { Show(); + } else if (time_ms() - mStart > BlockTimeout()) { direction = mChannel->Number() - cSetupBlock::LastChannel; mSwitch = true; @@ -126,10 +128,14 @@ dsyslog("plugin-block: userint Processing kNone (no user interaction)"); } return osContinue; - - - case kUp: case kChanUp: + //workaround cause 'normal' code wont work here; vdr does not react on code/destructor here o.O + //this is because in case of chan +/- keys have a chance to get eaten by vdr itself + cRemote::Put(kUp,true); + return osContinue; + break; + + case kUp: #ifdef LOGGING dsyslog("plugin-block: userint Processing up event (userrequest)"); #endif @@ -137,14 +143,21 @@ dsyslog("plugin-block: userint Processing up event (userrequest)"); Show(); else { - mRequested=false;//TODO:necessary? as below + mRequested=false;//TODO:necessary? as above direction = 1; mSwitch = true; return osEnd; } break; - case kDown: + case kChanDn: + //workaround cause 'normal' code wont work here; vdr does not react on code/destructor here o.O + //this is because in case of chan +/- keys have a chance to get eaten by vdr itself + cRemote::Put(kDown,true); + return osContinue; + break; + + case kDown: #ifdef LOGGING dsyslog("plugin-block: userint Processing down event (userrequest)"); #endif @@ -152,16 +165,15 @@ dsyslog("plugin-block: userint Processing down event (userrequest)"); Show(); else { - mRequested=false;//TODO:necessary? as below + mRequested=false;//TODO:necessary? as above direction = -1; mSwitch = true; return osEnd; } break; - - default: - break; + default: + break; } return osContinue; } |