mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
- The EIT information is now gathered in a separate thread. - The sytem time can now be synchronized to the time broadcast in the DVB data stream. This can be enabled in the "Setup" menu by setting "SetSystemTime" to 1. Note that this works only if VDR is running under a user id that has permisson to set the system time. - The new item "Schedule" in the "Main" menu opens VDR's EPG (thanks to Robert Schneider). See the MANUAL file for a detailed description. - The new setup parameters MarginStart and MarginStop define how long (in minutes) before the official start time of a broadcast VDR shall begin recording, and how long after the official end time it shall stop recording. These are used when a recording is programmed from the "Schedules" menu. - The delay value in the dvb.c.071.diff patch to the driver has been increased to '3', because on some systems the OSD was not displayed correctly. If you are running an already patched version 0.71 driver and encounter problems with the OSD, please make sure the parameter in the ddelay call is '3', not '2'. - Fixed initializing the RCU remote control code (didn't work after switching on the system). - Problematic characters in recording names (which can come from timers that are programmed via the "Schedules" menu) are now replaced by suitable substitutes.
96 lines
2.2 KiB
C++
96 lines
2.2 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.13 2000/11/01 14:03:09 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 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);
|
|
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 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);
|
|
static const char *LastReplayed(void);
|
|
static void ClearLastReplayed(const char *FileName);
|
|
};
|
|
|
|
#endif //_MENU_H
|