mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	- Added Norwegian language texts (thanks to Jørgen Tvedt). - Increased the usleep value in cDvbOsd::Cmd() to 5000 in order to work on systems with the KURT/utime-patch (thanks to Guido Fiala). - Changed the check whether the driver is loaded in runvdr to check for the 'dvb' module (the last one loaded). - Fixed repeat function with LIRC (thanks to Stefan Huelswitt). - Increased the upper limit for the symbol rate to 30000 (thanks to Ulrich Röder). - Made the position of the channel display configurable (thanks to Stefan Huelswitt). - Made the width and height of the OSD configurable (thanks to Stefan Huelswitt). - DiSEqC support can now be generally enabled/disabled in the Setup menu. This may be necessary if your multiswitch gets irritated by the default DiSEqC codes '0' (thanks to Markus Lang). - Fixed replaying in case there is no index file. - Fixed jumping to an editing mark when replay has been paused. - Avoiding unnecessary code execution in the replay progress display (thanks to Guido Fiala). - When entering time values the digits that still have to be entered are now shown as '-' (as in "1-:--"). - When setting an editing mark while the progress display is not active, the display will now be turned on for a short while to indicate the successful setting of the mark. - Updated 'channels.conf' for Premiere World (thanks to Helmut Schächner). Check your timers if you use this channels.conf file, since the sequence of several PW channels has been changed. - Changed the color of "Info" messages to "black on green" and that of the confirmation messages (like "Delete...") to "black on yellow". - Fixed display with DEBUG_OSD (it still crashes sometimes, esp. when replaying, but I can't seem to find what causes this... any ideas anybody?). - Avoiding audio/video distortions in 'Transfer Mode' by no longer actually tuning the primary interface (which can't receive this channel, anyway). Apparently the driver gets irritated when the channel is switched and a replay session is started immediately after that. - Increased timeout until reporting "video data stream broken" when recording. - Explicitly switching back to the previously active channel after ending a replay session (to have it shown correctly in case it was in 'Transfer Mode').
		
			
				
	
	
		
			109 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * menu.h: The actual menu implementations
 | |
|  *
 | |
|  * See the main source file 'vdr.c' for copyright information and
 | |
|  * how to reach the author.
 | |
|  *
 | |
|  * $Id: menu.h 1.20 2001/07/28 13:59:29 kls Exp $
 | |
|  */
 | |
| 
 | |
| #ifndef _MENU_H
 | |
| #define _MENU_H
 | |
| 
 | |
| #define _GNU_SOURCE
 | |
| 
 | |
| #include "dvbapi.h"
 | |
| #include "osd.h"
 | |
| #include "recording.h"
 | |
| 
 | |
| class cMenuMain : public cOsdMenu {
 | |
| private:
 | |
|   time_t lastActivity;
 | |
| public:
 | |
|   cMenuMain(bool Replaying);
 | |
|   virtual eOSState ProcessKey(eKeys Key);
 | |
|   };
 | |
|   
 | |
| class cDisplayChannel : public cOsdBase {
 | |
| private:
 | |
|   bool withInfo, group;
 | |
|   int lines;
 | |
|   int lastTime;
 | |
|   int oldNumber, number;
 | |
|   void DisplayChannel(const cChannel *Channel);
 | |
|   void DisplayInfo(void);
 | |
| public:
 | |
|   cDisplayChannel(int Number, bool Switched, bool Group = false);
 | |
|   cDisplayChannel(eKeys FirstKey);
 | |
|   virtual ~cDisplayChannel();
 | |
|   virtual eOSState ProcessKey(eKeys Key);
 | |
|   };
 | |
| 
 | |
| class cMenuRecordings : public cOsdMenu {
 | |
| private:
 | |
|   cRecordings Recordings;
 | |
|   eOSState Play(void);
 | |
|   eOSState Rewind(void);
 | |
|   eOSState Del(void);
 | |
|   eOSState Summary(void);
 | |
| public:
 | |
|   cMenuRecordings(void);
 | |
|   virtual eOSState ProcessKey(eKeys Key);
 | |
|   };
 | |
| 
 | |
| class cRecordControl {
 | |
| private:
 | |
|   cDvbApi *dvbApi;
 | |
|   cTimer *timer;
 | |
|   char *instantId;
 | |
| public:
 | |
|   cRecordControl(cDvbApi *DvbApi, cTimer *Timer = NULL);
 | |
|   virtual ~cRecordControl();
 | |
|   bool Process(void);
 | |
|   bool Uses(cDvbApi *DvbApi) { return DvbApi == dvbApi; }
 | |
|   void Stop(bool KeepInstant = false);
 | |
|   bool IsInstant(void) { return instantId; }
 | |
|   const char *InstantId(void) { return instantId; }
 | |
|   };
 | |
| 
 | |
| class cRecordControls {
 | |
| private:
 | |
|   static cRecordControl *RecordControls[MAXDVBAPI];
 | |
| public:
 | |
|   static bool Start(cTimer *Timer = NULL);
 | |
|   static void Stop(const char *InstantId);
 | |
|   static void Stop(cDvbApi *DvbApi);
 | |
|   static const char *GetInstantId(const char *LastInstantId);
 | |
|   static void Process(void);
 | |
|   static bool Active(void);
 | |
|   };
 | |
| 
 | |
| class cReplayControl : public cOsdBase {
 | |
| private:
 | |
|   cDvbApi *dvbApi;
 | |
|   cMarks marks;
 | |
|   bool visible, shown, displayFrames;
 | |
|   int lastCurrent, lastTotal;
 | |
|   time_t timeoutShow;
 | |
|   void Show(int Seconds = 0);
 | |
|   void Hide(void);
 | |
|   static char *fileName;
 | |
|   static char *title;
 | |
|   bool ShowProgress(bool Initial);
 | |
|   void MarkToggle(void);
 | |
|   void MarkJump(bool Forward);
 | |
|   void MarkMove(bool Forward);
 | |
|   void EditCut(void);
 | |
|   void EditTest(void);
 | |
| public:
 | |
|   cReplayControl(void);
 | |
|   virtual ~cReplayControl();
 | |
|   virtual eOSState ProcessKey(eKeys Key);
 | |
|   bool Visible(void) { return visible; }
 | |
|   static void SetRecording(const char *FileName, const char *Title);
 | |
|   static const char *LastReplayed(void);
 | |
|   static void ClearLastReplayed(const char *FileName);
 | |
|   };
 | |
| 
 | |
| #endif //_MENU_H
 |