From 9599a8fd8a6724e55ec4ad2ba2c975c0850073d9 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 27 May 2000 18:00:00 +0200 Subject: Version 0.05 - Support for more than one DVB card. - Simultaneous record and replay (with two DVB cards). - Instant recordings no longer get the name "instant". They now get the name of the channel, with a prepended '@' character. - Timers that are not given an explicit Name now use the channel name with a prepended '@' character. - If an instant recording is currently active, the Main menu now contains an option to stop that recording. - Timers are now only processed when the Menu is not active. So after editing a timer the effect will take place only after the menu has been closed. In order to avoid missing a timer event by inadvertently leaving the menu open, the menu will be closed automatically after about two minutes of inactivity. - If a recording is currently being replayed, the Main menu now contains an option to stop replaying. - Displaying the recording DVB interface status in the decimal points of the RCU display. - Reduced the number of remote control keys. Modified the key assignments for the PC keyboard to better resemble the "up-down-left-right-ok" layout on menu controlling remote control units. --- menu.h | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 7 deletions(-) (limited to 'menu.h') diff --git a/menu.h b/menu.h index f665799..6ba080c 100644 --- a/menu.h +++ b/menu.h @@ -4,27 +4,63 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.h 1.5 2000/04/24 15:31:53 kls Exp $ + * $Id: menu.h 1.9 2000/05/01 15:16:23 kls Exp $ */ #ifndef _MENU_H #define _MENU_H +#define _GNU_SOURCE + +#include "dvbapi.h" #include "osd.h" class cMenuMain : public cOsdMenu { +private: + time_t lastActivity; public: - cMenuMain(void); + cMenuMain(bool Replaying); virtual eOSState ProcessKey(eKeys Key); }; -class cReplayDisplay { +class cRecordControl { +private: + cDvbApi *dvbApi; + cTimer *timer; + char *instantId; +public: + cRecordControl(cDvbApi *DvbApi, cTimer *Timer = NULL); + virtual ~cRecordControl(); + bool Process(void); + void Stop(bool KeepInstant = false); + bool IsInstant(void) { return instantId; } + const char *InstantId(void) { return instantId; } + }; + +class cRecordControls { private: - bool shown; + static cRecordControl *RecordControls[MAXDVBAPI]; public: - cReplayDisplay(void); - ~cReplayDisplay(); - eKeys ProcessKey(eKeys Key); + static bool Start(cTimer *Timer = NULL); + static void Stop(const char *InstantId); + static const char *GetInstantId(const char *LastInstantId); + static void Process(void); + }; + +class cReplayControl : public cOsdBase { +private: + cDvbApi *dvbApi; + bool visible, shown; + void Show(void); + void Hide(void); + static char *fileName; + static char *title; +public: + cReplayControl(void); + virtual ~cReplayControl(); + virtual eOSState ProcessKey(eKeys Key); + bool Visible(void) { return visible; } + static void SetRecording(const char *FileName, const char *Title); }; #endif //_MENU_H -- cgit v1.2.3