[vdr] Problem with text2skin and DeepBlue since VDR 1.3.38

Peter Juszack vdr at unterbrecher.de
Mon Feb 13 13:47:16 CET 2006


Hallo,

    I found the reason for missing replay logos with text2skin, DeepBlue 
and VDR > 1.3.37

Parameters 'FileName' and 'On' where added to the functions 
cStatus::Replaying and cStatus::Recording.
Text2Skin's class cText2Skin is derived from cStatus and overrides these 
functions. Since the new
parameters where not added in text2skin the base implementation of 
cStatus is called and
text2skin specific tasks, like determining the replay source (recording, 
DVD, mp3 etc.) is not done.

The attached patch fixes that by adding the new parameters to 
cText2SkinStatus::Replaying and
cText2SkinStatus::Recording.

The patch works against text2skin CVS version

Regards Peter

http://turku.wi-bw.tfh-wildau.de/~pjuszack/digicam
http://www.unterbrecher.de

-------------- next part --------------
diff -Naur text2skin-old/status.c text2skin-cvs/status.c
--- text2skin-old/status.c	2006-02-13 13:30:32.000000000 +0100
+++ text2skin-cvs/status.c	2006-02-13 13:29:20.000000000 +0100
@@ -29,8 +29,12 @@
 	mNextRecording    = 0;
 }
 
-void cText2SkinStatus::Replaying(const cControl* /*Control*/, const char *Name) {
+void cText2SkinStatus::Replaying(const cControl* /*Control*/, const char *Name, const char* FileName, bool On) {
 	Dprintf("cText2SkinStatus::Replaying(%s)\n", Name);
+	
+	if (!On)
+	    return;
+	
 	eReplayMode oldMode = mReplayMode;
 
 	if (mRender != NULL)
@@ -83,8 +87,11 @@
 	}
 }
 
-void cText2SkinStatus::Recording(const cDevice *Device, const char *Name) 
+void cText2SkinStatus::Recording(const cDevice *Device, const char *Name, const char* FileName, bool On) 
 {
+	if (!On)
+	    return;
+	    
 	if (mRender != NULL)
 		mRender->UpdateLock();
 
diff -Naur text2skin-old/status.h text2skin-cvs/status.h
--- text2skin-old/status.h	2006-02-13 13:30:32.000000000 +0100
+++ text2skin-cvs/status.h	2006-02-13 13:29:20.000000000 +0100
@@ -39,8 +39,8 @@
 	int               mLastLanguage;
 
 protected:
-	virtual void Replaying(const cControl *Control, const char *Name);
-	virtual void Recording(const cDevice *Device, const char *Name);
+	virtual void Replaying(const cControl *Control, const char *Name, const char* FileName, bool On);
+	virtual void Recording(const cDevice *Device, const char *Name, const char* FileName, bool On);
 	virtual void OsdClear(void);
 
 public:


More information about the vdr mailing list