diff -Nru vdr-1.6.0-vanilla/config.h vdr-1.6.0-yaepghd/config.h --- vdr-1.6.0-vanilla/config.h 2008-03-23 12:26:10.000000000 +0200 +++ vdr-1.6.0-yaepghd/config.h 2009-01-24 23:34:01.000000000 +0200 @@ -30,6 +30,8 @@ #define APIVERSION "1.6.0" #define APIVERSNUM 10600 // Version * 10000 + Major * 100 + Minor +#define YAEPGHDVERSNUM 1 + // When loading plugins, VDR searches them by their APIVERSION, which // may be smaller than VDRVERSION in case there have been no changes to // VDR header files since the last APIVERSION. This allows compiled diff -Nru vdr-1.6.0-vanilla/device.h vdr-1.6.0-yaepghd/device.h --- vdr-1.6.0-vanilla/device.h 2008-02-23 15:13:04.000000000 +0200 +++ vdr-1.6.0-yaepghd/device.h 2009-01-24 23:34:01.000000000 +0200 @@ -242,12 +242,12 @@ ///< Direction (only the sign of Direction is evaluated, positive values ///< switch to higher channel numbers). private: - eSetChannelResult SetChannel(const cChannel *Channel, bool LiveView); - ///< Sets the device to the given channel (general setup). protected: virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView); ///< Sets the device to the given channel (actual physical setup). public: + eSetChannelResult SetChannel(const cChannel *Channel, bool LiveView); + ///< Sets the device to the given channel (general setup). static int CurrentChannel(void) { return primaryDevice ? currentChannel : 0; } ///< Returns the number of the current channel on the primary device. static void SetCurrentChannel(const cChannel *Channel) { currentChannel = Channel ? Channel->Number() : 0; } diff -Nru vdr-1.6.0-vanilla/dvbosd.c vdr-1.6.0-yaepghd/dvbosd.c --- vdr-1.6.0-vanilla/dvbosd.c 2007-09-16 11:55:54.000000000 +0300 +++ vdr-1.6.0-yaepghd/dvbosd.c 2009-01-24 23:40:51.000000000 +0200 @@ -53,6 +53,10 @@ osdMem = cap.val; #endif } + if (vidWin.bpp != 0) { + Cmd(OSD_SetWindow, 0, 5); + Cmd(OSD_Close); + } } cDvbOsd::~cDvbOsd() @@ -198,6 +202,10 @@ Cmd(OSD_SetWindow, 0, i + 1); Cmd(OSD_MoveWindow, 0, Left() + Bitmap->X0(), Top() + Bitmap->Y0()); } + if (vidWin.bpp != 0) { + Cmd(OSD_SetWindow, 0, 5); + Cmd(OSD_OpenRaw, vidWin.bpp, vidWin.x1, vidWin.y1, vidWin.x2, vidWin.y2, NULL); + } shown = true; } } diff -Nru vdr-1.6.0-vanilla/osd.c vdr-1.6.0-yaepghd/osd.c --- vdr-1.6.0-vanilla/osd.c 2007-10-12 15:38:36.000000000 +0300 +++ vdr-1.6.0-yaepghd/osd.c 2009-01-24 23:34:01.000000000 +0200 @@ -730,6 +730,7 @@ width = height = 0; level = Level; active = false; + vidWin.bpp = 0; for (int i = 0; i < Osds.Size(); i++) { if (Osds[i]->level > level) { Osds.Insert(this, i); diff -Nru vdr-1.6.0-vanilla/osd.h vdr-1.6.0-yaepghd/osd.h --- vdr-1.6.0-vanilla/osd.h 2007-10-12 17:28:44.000000000 +0300 +++ vdr-1.6.0-yaepghd/osd.h 2009-01-24 23:46:35.000000000 +0200 @@ -269,6 +269,8 @@ int left, top, width, height; uint level; bool active; +public: + tArea vidWin; protected: cOsd(int Left, int Top, uint Level); ///< Initializes the OSD with the given coordinates.