Made "Channel entry timeout" a setup parameter

This commit is contained in:
Klaus Schmidinger 2007-02-25 14:14:06 +01:00
parent 197d3762e4
commit 16fe4d783f
7 changed files with 48 additions and 8 deletions

View File

@ -584,6 +584,7 @@ Helmut Auer <vdr@helmutauer.de>
for suggesting to reduce the logging for the SVDRP GRAB command
for reporting that the shutdown script is given a reboot time in the past if there
is a recording going on or about to start, and the user insists in shutting down now
for suggesting to make the channel entry timeout configurable
Jeremy Hall <jhall@UU.NET>
for fixing an incomplete initialization of the filter parameters in eit.c

View File

@ -5129,3 +5129,8 @@ Video Disk Recorder Revision History
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.

11
MANUAL
View File

@ -786,9 +786,18 @@ Version 1.4
connection after which the connection is automatically
closed. Default is 300, a value of 0 means no timeout.
Zap Timeout = 3 The time (in seconds) until a channel counts as "previous"
Zap timeout = 3 The time (in seconds) until a channel counts as "previous"
for switching with '0'
Channel entry timeout = 1000
The time (in milliseconds) after the last keypress until
a numerically entered channel number is considered
complete, and the channel is switched. Default is 1000,
a value of 0 turns this off, so a numerically entered
channel number then needs to be confirmed with the "Ok"
key. Note that the total maximum is also limited by
the "OSD/Channel info time" parameter.
Initial channel = 0 The number of the channel that shall be tuned to when
VDR starts. Default is 0, which means that it will
tune to the channel that was on before VDR was stopped.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.c 1.149 2007/02/25 11:27:24 kls Exp $
* $Id: config.c 1.150 2007/02/25 13:58:45 kls Exp $
*/
#include "config.h"
@ -242,6 +242,7 @@ cSetup::cSetup(void)
EPGLinger = 0;
SVDRPTimeout = 300;
ZapTimeout = 3;
ChannelEntryTimeout = 1000;
PrimaryLimit = 0;
DefaultPriority = 50;
DefaultLifetime = 99;
@ -404,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);
@ -473,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);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.h 1.286 2007/02/25 11:26:53 kls Exp $
* $Id: config.h 1.287 2007/02/25 13:58:59 kls Exp $
*/
#ifndef __CONFIG_H
@ -225,6 +225,7 @@ public:
int EPGLinger;
int SVDRPTimeout;
int ZapTimeout;
int ChannelEntryTimeout;
int PrimaryLimit;
int DefaultPriority, DefaultLifetime;
int PausePriority, PauseLifetime;

24
i18n.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: i18n.c 1.290 2007/02/25 11:57:25 kls Exp $
* $Id: i18n.c 1.291 2007/02/25 13:59:28 kls Exp $
*
* Translations provided by:
*
@ -4646,6 +4646,28 @@ const tI18nPhrase Phrases[] = {
"Zap timeout (s)",
"Èasový limit Zap (s)",
},
{ "Setup.Miscellaneous$Channel entry timeout (ms)",
"Zeitlimit für Kanaleingabe (ms)",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
},
{ "Setup.Miscellaneous$Initial channel",
"Kanal beim Einschalten",
"Privzeti kanal",

7
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 1.449 2007/02/25 11:28:09 kls Exp $
* $Id: menu.c 1.450 2007/02/25 14:04:33 kls Exp $
*/
#include "menu.h"
@ -2662,6 +2662,7 @@ cMenuSetupMisc::cMenuSetupMisc(void)
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. user inactivity (min)"), &data.MinUserInactivity));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$SVDRP timeout (s)"), &data.SVDRPTimeout));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Zap timeout (s)"), &data.ZapTimeout));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Channel entry timeout (ms)"), &data.ChannelEntryTimeout, 0));
Add(new cMenuEditChanItem(tr("Setup.Miscellaneous$Initial channel"), &data.InitialChannel, tr("Setup.Miscellaneous$as before")));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Initial volume"), &data.InitialVolume, -1, 255, tr("Setup.Miscellaneous$as before")));
}
@ -3089,8 +3090,6 @@ static void SetTrackDescriptions(int LiveChannel)
// --- cDisplayChannel -------------------------------------------------------
#define DIRECTCHANNELTIMEOUT 1000 //ms
cDisplayChannel *cDisplayChannel::currentDisplayChannel = NULL;
cDisplayChannel::cDisplayChannel(int Number, bool Switched)
@ -3289,7 +3288,7 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key)
Refresh();
break;
case kNone:
if (number && lastTime.Elapsed() > DIRECTCHANNELTIMEOUT) {
if (number && Setup.ChannelEntryTimeout && int(lastTime.Elapsed()) > Setup.ChannelEntryTimeout) {
channel = Channels.GetByNumber(number);
if (channel)
NewChannel = channel;