mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	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:
		
							
								
								
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							@@ -2594,3 +2594,5 @@ Video Disk Recorder Revision History
 | 
			
		||||
  full name.
 | 
			
		||||
- The EPG scan now scans newly found transponders together with already existing
 | 
			
		||||
  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
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								MANUAL
									
									
									
									
									
								
							@@ -482,6 +482,7 @@ Version 1.2
 | 
			
		||||
                         be taken. Note that in order to set the system time from
 | 
			
		||||
                         the transponder data the option "Set system time" must also
 | 
			
		||||
                         be enabled.
 | 
			
		||||
 | 
			
		||||
  Preferred languages = 0
 | 
			
		||||
                         Some tv stations broadcast their EPG data in various
 | 
			
		||||
                         different languages. This option allows you to define
 | 
			
		||||
@@ -496,6 +497,14 @@ Version 1.2
 | 
			
		||||
                         different languages, the preferred languages are checked
 | 
			
		||||
                         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:
 | 
			
		||||
 | 
			
		||||
  Primary DVB interface = 1
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								eitscan.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								eitscan.c
									
									
									
									
									
								
							@@ -4,13 +4,14 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * 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 <stdlib.h>
 | 
			
		||||
#include "channels.h"
 | 
			
		||||
#include "dvbdevice.h"
 | 
			
		||||
#include "interface.h"
 | 
			
		||||
 | 
			
		||||
// --- cScanData -------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
@@ -106,6 +107,11 @@ void cEITScanner::AddTransponder(cChannel *Channel)
 | 
			
		||||
  transponderList->AddTransponder(Channel);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cEITScanner::ForceScan(void)
 | 
			
		||||
{
 | 
			
		||||
  lastActivity = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cEITScanner::Activity(void)
 | 
			
		||||
{
 | 
			
		||||
  if (currentChannel) {
 | 
			
		||||
@@ -142,8 +148,10 @@ void cEITScanner::Process(void)
 | 
			
		||||
                               if (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 (Device == cDevice::PrimaryDevice() && !currentChannel)
 | 
			
		||||
                                     if (Device == cDevice::PrimaryDevice() && !currentChannel) {
 | 
			
		||||
                                        currentChannel = Device->CurrentChannel();
 | 
			
		||||
                                        Interface->Info("Starting EPG scan");
 | 
			
		||||
                                        }
 | 
			
		||||
                                     currentDevice = Device;//XXX see also dvbdevice.c!!!
 | 
			
		||||
                                     Device->SwitchChannel(Channel, false);
 | 
			
		||||
                                     currentDevice = NULL;
 | 
			
		||||
@@ -166,6 +174,8 @@ void cEITScanner::Process(void)
 | 
			
		||||
               if (!scanList->Count()) {
 | 
			
		||||
                  delete scanList;
 | 
			
		||||
                  scanList = NULL;
 | 
			
		||||
                  if (lastActivity == 0) // this was a triggered scan
 | 
			
		||||
                     Activity();
 | 
			
		||||
                  break;
 | 
			
		||||
                  }
 | 
			
		||||
               }
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * 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
 | 
			
		||||
@@ -29,9 +29,10 @@ private:
 | 
			
		||||
public:
 | 
			
		||||
  cEITScanner(void);
 | 
			
		||||
  ~cEITScanner();
 | 
			
		||||
  bool Active(void) { return currentChannel; }
 | 
			
		||||
  bool Active(void) { return currentChannel || lastActivity == 0; }
 | 
			
		||||
  bool UsesDevice(const cDevice *Device) { return currentDevice == Device; }
 | 
			
		||||
  void AddTransponder(cChannel *Channel);
 | 
			
		||||
  void ForceScan(void);
 | 
			
		||||
  void Activity(void);
 | 
			
		||||
  void Process(void);
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								i18n.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								i18n.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * 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:
 | 
			
		||||
 *
 | 
			
		||||
@@ -819,6 +819,24 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Reiniciar",
 | 
			
		||||
    "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
 | 
			
		||||
  },
 | 
			
		||||
  { "Scan",
 | 
			
		||||
    "Scan",
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
    "",//TODO
 | 
			
		||||
  },
 | 
			
		||||
  // Confirmations:
 | 
			
		||||
  { "Delete channel?",
 | 
			
		||||
    "Kanal l<>schen?",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								menu.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								menu.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * 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"
 | 
			
		||||
@@ -16,6 +16,7 @@
 | 
			
		||||
#include "channels.h"
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#include "cutter.h"
 | 
			
		||||
#include "eitscan.h"
 | 
			
		||||
#include "i18n.h"
 | 
			
		||||
#include "menuitems.h"
 | 
			
		||||
#include "plugin.h"
 | 
			
		||||
@@ -2044,6 +2045,7 @@ cMenuSetupEPG::cMenuSetupEPG(void)
 | 
			
		||||
      ;
 | 
			
		||||
  originalNumLanguages = numLanguages;
 | 
			
		||||
  SetSection(tr("EPG"));
 | 
			
		||||
  SetHelp(tr("Scan"));
 | 
			
		||||
  Setup();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -2105,6 +2107,10 @@ eOSState cMenuSetupEPG::ProcessKey(eKeys Key)
 | 
			
		||||
        data.EPGLanguages[numLanguages] = -1;
 | 
			
		||||
        Setup();
 | 
			
		||||
        }
 | 
			
		||||
     if (Key == kRed) {
 | 
			
		||||
        EITScanner.ForceScan();
 | 
			
		||||
        return osEnd;
 | 
			
		||||
        }
 | 
			
		||||
     }
 | 
			
		||||
  return state;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user