summaryrefslogtreecommitdiff
path: root/control.c
diff options
context:
space:
mode:
authorMidas <vdrportal_midas@gmx.de>2010-08-06 02:26:00 +0200
committerMidas <vdrportal_midas@gmx.de>2010-08-06 02:26:00 +0200
commitd04ad65095872e60613282b584ee10013ea18f44 (patch)
tree4d31cce2a685354dbb8f9dd0d5e7e8ea94da4f93 /control.c
parent1565ce3671072ce03dc126f015af2e660497e323 (diff)
downloadvdr-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.c30
1 files changed, 21 insertions, 9 deletions
diff --git a/control.c b/control.c
index 9f805e7..051e456 100644
--- a/control.c
+++ b/control.c
@@ -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;
}