The "Red" button in the "Setup/EPG" menu can now be used to force an EPG scan on a single DVB card system

This commit is contained in:
Klaus Schmidinger 2004-01-17 15:38:11 +01:00
parent 004b82d3d4
commit e4960d169e
6 changed files with 52 additions and 6 deletions

View File

@ -2594,3 +2594,5 @@ Video Disk Recorder Revision History
full name. full name.
- The EPG scan now scans newly found transponders together with already existing - The EPG scan now scans newly found transponders together with already existing
ones. ones.
- The "Red" button in the "Setup/EPG" menu can now be used to force an EPG
scan on a single DVB card system (see MANUAL for details).

9
MANUAL
View File

@ -482,6 +482,7 @@ Version 1.2
be taken. Note that in order to set the system time from be taken. Note that in order to set the system time from
the transponder data the option "Set system time" must also the transponder data the option "Set system time" must also
be enabled. be enabled.
Preferred languages = 0 Preferred languages = 0
Some tv stations broadcast their EPG data in various Some tv stations broadcast their EPG data in various
different languages. This option allows you to define different languages. This option allows you to define
@ -496,6 +497,14 @@ Version 1.2
different languages, the preferred languages are checked different languages, the preferred languages are checked
in the given order to decide which one to take. in the given order to decide which one to take.
Scan The "Red" button in the "Setup/EPG" menu can be used to
force an EPG scan on a single DVB card system. If pressed,
and the primary DVB device is currently not recording or
replaying, it will loop through the transponders once and
then switch back to the original channel. Any user activity
during the EPG scan will also stop the scan and bring back
the original channel.
DVB: DVB:
Primary DVB interface = 1 Primary DVB interface = 1

View File

@ -4,13 +4,14 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: eitscan.c 1.19 2004/01/17 13:13:47 kls Exp $ * $Id: eitscan.c 1.20 2004/01/17 15:38:11 kls Exp $
*/ */
#include "eitscan.h" #include "eitscan.h"
#include <stdlib.h> #include <stdlib.h>
#include "channels.h" #include "channels.h"
#include "dvbdevice.h" #include "dvbdevice.h"
#include "interface.h"
// --- cScanData ------------------------------------------------------------- // --- cScanData -------------------------------------------------------------
@ -106,6 +107,11 @@ void cEITScanner::AddTransponder(cChannel *Channel)
transponderList->AddTransponder(Channel); transponderList->AddTransponder(Channel);
} }
void cEITScanner::ForceScan(void)
{
lastActivity = 0;
}
void cEITScanner::Activity(void) void cEITScanner::Activity(void)
{ {
if (currentChannel) { if (currentChannel) {
@ -142,8 +148,10 @@ void cEITScanner::Process(void)
if (Channel) { if (Channel) {
//XXX if (Device->ProvidesTransponder(Channel)) { //XXX if (Device->ProvidesTransponder(Channel)) {
if ((!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= 0x0100) && Device->ProvidesTransponder(Channel)) { //XXX temporary for the 'sky' plugin if ((!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= 0x0100) && Device->ProvidesTransponder(Channel)) { //XXX temporary for the 'sky' plugin
if (Device == cDevice::PrimaryDevice() && !currentChannel) if (Device == cDevice::PrimaryDevice() && !currentChannel) {
currentChannel = Device->CurrentChannel(); currentChannel = Device->CurrentChannel();
Interface->Info("Starting EPG scan");
}
currentDevice = Device;//XXX see also dvbdevice.c!!! currentDevice = Device;//XXX see also dvbdevice.c!!!
Device->SwitchChannel(Channel, false); Device->SwitchChannel(Channel, false);
currentDevice = NULL; currentDevice = NULL;
@ -166,6 +174,8 @@ void cEITScanner::Process(void)
if (!scanList->Count()) { if (!scanList->Count()) {
delete scanList; delete scanList;
scanList = NULL; scanList = NULL;
if (lastActivity == 0) // this was a triggered scan
Activity();
break; break;
} }
} }

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: eitscan.h 1.7 2004/01/17 13:13:47 kls Exp $ * $Id: eitscan.h 1.8 2004/01/17 15:36:24 kls Exp $
*/ */
#ifndef __EITSCAN_H #ifndef __EITSCAN_H
@ -29,9 +29,10 @@ private:
public: public:
cEITScanner(void); cEITScanner(void);
~cEITScanner(); ~cEITScanner();
bool Active(void) { return currentChannel; } bool Active(void) { return currentChannel || lastActivity == 0; }
bool UsesDevice(const cDevice *Device) { return currentDevice == Device; } bool UsesDevice(const cDevice *Device) { return currentDevice == Device; }
void AddTransponder(cChannel *Channel); void AddTransponder(cChannel *Channel);
void ForceScan(void);
void Activity(void); void Activity(void);
void Process(void); void Process(void);
}; };

20
i18n.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: i18n.c 1.142 2004/01/16 13:48:16 kls Exp $ * $Id: i18n.c 1.143 2004/01/17 14:39:38 kls Exp $
* *
* Translations provided by: * Translations provided by:
* *
@ -819,6 +819,24 @@ const tI18nPhrase Phrases[] = {
"Reiniciar", "Reiniciar",
"ÁÑàÞá", "ÁÑàÞá",
}, },
{ "Scan",
"Scan",
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
},
// Confirmations: // Confirmations:
{ "Delete channel?", { "Delete channel?",
"Kanal löschen?", "Kanal löschen?",

8
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menu.c 1.280 2004/01/11 21:37:17 kls Exp $ * $Id: menu.c 1.281 2004/01/17 14:17:00 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@ -16,6 +16,7 @@
#include "channels.h" #include "channels.h"
#include "config.h" #include "config.h"
#include "cutter.h" #include "cutter.h"
#include "eitscan.h"
#include "i18n.h" #include "i18n.h"
#include "menuitems.h" #include "menuitems.h"
#include "plugin.h" #include "plugin.h"
@ -2044,6 +2045,7 @@ cMenuSetupEPG::cMenuSetupEPG(void)
; ;
originalNumLanguages = numLanguages; originalNumLanguages = numLanguages;
SetSection(tr("EPG")); SetSection(tr("EPG"));
SetHelp(tr("Scan"));
Setup(); Setup();
} }
@ -2105,6 +2107,10 @@ eOSState cMenuSetupEPG::ProcessKey(eKeys Key)
data.EPGLanguages[numLanguages] = -1; data.EPGLanguages[numLanguages] = -1;
Setup(); Setup();
} }
if (Key == kRed) {
EITScanner.ForceScan();
return osEnd;
}
} }
return state; return state;
} }