summaryrefslogtreecommitdiff
path: root/remote.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2003-05-04 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2003-05-04 18:00:00 +0200
commitaf2a135212088f0cba6bd8f98544b271c2f71bef (patch)
tree2cb92bca5d346a4214f5be25c3388887419585b8 /remote.c
parent0686038af36be65b666bce669957c4d94c13f409 (diff)
downloadvdr-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 'remote.c')
-rw-r--r--remote.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/remote.c b/remote.c
index 29149e9..1b73d16 100644
--- a/remote.c
+++ b/remote.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remote.c 1.36 2002/12/15 15:58:59 kls Exp $
+ * $Id: remote.c 1.38 2003/05/02 10:49:50 kls Exp $
*/
#include "remote.h"
@@ -58,7 +58,7 @@ void cRemote::Clear(void)
}
}
-bool cRemote::Put(eKeys Key)
+bool cRemote::Put(eKeys Key, bool AtFront)
{
if (Key != kNone) {
cMutexLock MutexLock(&mutex);
@@ -68,9 +68,16 @@ bool cRemote::Put(eKeys Key)
if (d <= 0)
d = MaxKeys + d;
if (d - 1 > 0) {
- keys[in] = Key;
- if (++in >= MaxKeys)
- in = 0;
+ if (AtFront) {
+ if (--out < 0)
+ out = MaxKeys - 1;
+ keys[out] = Key;
+ }
+ else {
+ keys[in] = Key;
+ if (++in >= MaxKeys)
+ in = 0;
+ }
keyPressed.Broadcast();
return true;
}
@@ -123,6 +130,11 @@ bool cRemote::Put(const char *Code, bool Repeat, bool Release)
return false;
}
+bool cRemote::HasKeys(void)
+{
+ return in != out && !(keys[out] & k_Repeat);
+}
+
eKeys cRemote::Get(int WaitMs, char **UnknownCode)
{
for (;;) {