mirror of
				https://github.com/rofafor/vdr-plugin-femon.git
				synced 2023-10-10 11:36:53 +00:00 
			
		
		
		
	Compare commits
	
		
			6 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 55b5e0c293 | ||
|  | cbc39db870 | ||
|  | ecb79fe6db | ||
|  | 4a5318371d | ||
|  | c69a018337 | ||
|  | 88b263aa02 | 
							
								
								
									
										66
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -29,7 +29,8 @@ VDR Plugin 'femon' Revision History | |||||||
|  |  | ||||||
| - Redesigned the user interface. | - Redesigned the user interface. | ||||||
| - Transponder information is now available in advanced display mode: | - Transponder information is now available in advanced display mode: | ||||||
|   Press 'OK' key to switch between the simple and the advanced display mode. |   Press 'OK' key to switch between the simple and the advanced display | ||||||
|  |   mode. | ||||||
| - Moved bitrate calculation to it's own thread for improved accurancy. | - Moved bitrate calculation to it's own thread for improved accurancy. | ||||||
|  |  | ||||||
| 2004-03-07: Version 0.0.3a | 2004-03-07: Version 0.0.3a | ||||||
| @@ -41,7 +42,8 @@ VDR Plugin 'femon' Revision History | |||||||
| 2004-03-16: Version 0.0.3b | 2004-03-16: Version 0.0.3b | ||||||
|  |  | ||||||
| - Fixed channel toggling with '0' key. | - Fixed channel toggling with '0' key. | ||||||
| - Bitrate calculation thread is now canceled immediately to speed up channel switching. | - Bitrate calculation thread is now canceled immediately to speed up | ||||||
|  |   channel switching. | ||||||
|  |  | ||||||
| 2004-04-04: Version 0.0.3c | 2004-04-04: Version 0.0.3c | ||||||
|  |  | ||||||
| @@ -88,7 +90,8 @@ VDR Plugin 'femon' Revision History | |||||||
|  |  | ||||||
| 2004-06-11: Version 0.1.3 | 2004-06-11: Version 0.1.3 | ||||||
|  |  | ||||||
| - Added "AC-3 Stream Information" display mode (Thanks to Lothar Englisch). | - Added "AC-3 Stream Information" display mode (Thanks to Lothar | ||||||
|  |   Englisch). | ||||||
|  |  | ||||||
| 2004-06-24: Version 0.1.4 | 2004-06-24: Version 0.1.4 | ||||||
|  |  | ||||||
| @@ -100,7 +103,8 @@ VDR Plugin 'femon' Revision History | |||||||
|  |  | ||||||
| - Fixed OSDSTATUSWIN_XC define. | - Fixed OSDSTATUSWIN_XC define. | ||||||
| - Added preliminary NTSC support (make NTSC_SYSTEM=1 plugins). | - Added preliminary NTSC support (make NTSC_SYSTEM=1 plugins). | ||||||
| - Fixed "Setup/OSD/Use Small Fonts" bug (Thanks to Winni for reporting this one). | - Fixed "Setup/OSD/Use Small Fonts" bug (Thanks to Winni for reporting | ||||||
|  |   this one). | ||||||
| - Added patches directory: CA system names by Lauri Tischler. | - Added patches directory: CA system names by Lauri Tischler. | ||||||
|  |  | ||||||
| 2004-09-11: Version 0.1.6 | 2004-09-11: Version 0.1.6 | ||||||
| @@ -146,7 +150,8 @@ VDR Plugin 'femon' Revision History | |||||||
| 2005-04-01: Version 0.8.7 | 2005-04-01: Version 0.8.7 | ||||||
|  |  | ||||||
| - Default make target is now all. | - Default make target is now all. | ||||||
| - Fixed the access rights of symbols subdirectory (Thanks to Harri Kukkonen). | - Fixed the access rights of symbols subdirectory (Thanks to Harri | ||||||
|  |   Kukkonen). | ||||||
| - Added a new theme: Moronimo (Thanks to Morone). | - Added a new theme: Moronimo (Thanks to Morone). | ||||||
|  |  | ||||||
| 2005-04-02: Version 0.8.8 | 2005-04-02: Version 0.8.8 | ||||||
| @@ -160,7 +165,8 @@ VDR Plugin 'femon' Revision History | |||||||
|  |  | ||||||
| 2005-05-20: Version 0.9.0 | 2005-05-20: Version 0.9.0 | ||||||
|  |  | ||||||
| - Renamed compiling switches ('DEBUG' to 'FEMON_DEBUG' and 'NTSC_SYSTEM' to 'FEMON_NTSC'). | - Renamed compiling switches ('DEBUG' to 'FEMON_DEBUG' and 'NTSC_SYSTEM' | ||||||
|  |   to 'FEMON_NTSC'). | ||||||
| - Enabled preliminary support for the device switching. | - Enabled preliminary support for the device switching. | ||||||
|  |  | ||||||
| 2005-07-23: Version 0.9.1 | 2005-07-23: Version 0.9.1 | ||||||
| @@ -200,7 +206,8 @@ VDR Plugin 'femon' Revision History | |||||||
|  |  | ||||||
| - Updated for vdr-1.3.40. | - Updated for vdr-1.3.40. | ||||||
| - Fixed a translation bug (Thanks to Antti Hartikainen). | - Fixed a translation bug (Thanks to Antti Hartikainen). | ||||||
| - Fixed AC3 header parsing bug (Thanks to Axel Katzur for reporting this one). | - Fixed AC3 header parsing bug (Thanks to Axel Katzur for reporting this | ||||||
|  |   one). | ||||||
| - Fixed EgalsTry theme (Thanks to Uwe Hanke). | - Fixed EgalsTry theme (Thanks to Uwe Hanke). | ||||||
|  |  | ||||||
| 2006-02-06: Version 0.9.7 | 2006-02-06: Version 0.9.7 | ||||||
| @@ -248,7 +255,8 @@ VDR Plugin 'femon' Revision History | |||||||
|  |  | ||||||
| 2007-05-01: Version 1.1.2 | 2007-05-01: Version 1.1.2 | ||||||
|  |  | ||||||
| - Fixed opening while replaying (Thanks to Antti Seppälä for reporting this one). | - Fixed opening while replaying (Thanks to Antti Seppälä for reporting | ||||||
|  |   this one). | ||||||
|  |  | ||||||
| 2007-05-15: Version 1.1.3 | 2007-05-15: Version 1.1.3 | ||||||
|  |  | ||||||
| @@ -298,7 +306,7 @@ VDR Plugin 'femon' Revision History | |||||||
| 2008-06-20: Version 1.6.1 | 2008-06-20: Version 1.6.1 | ||||||
|  |  | ||||||
| - Updated Italian translation (Thanks to Diego Pierotto). | - Updated Italian translation (Thanks to Diego Pierotto). | ||||||
| - Fixed a crash if no channel available (Thanks to Winfried Köhler) | - Fixed a crash if no channel available (Thanks to Winfried Köhler). | ||||||
|  |  | ||||||
| 2008-10-12: Version 1.6.2 | 2008-10-12: Version 1.6.2 | ||||||
|  |  | ||||||
| @@ -317,6 +325,42 @@ VDR Plugin 'femon' Revision History | |||||||
| - Updated Italian translation (Thanks to Diego Pierotto). | - Updated Italian translation (Thanks to Diego Pierotto). | ||||||
| - Fixed a memory leak. | - Fixed a memory leak. | ||||||
| - Added a check for the minimum OSD height. | - Added a check for the minimum OSD height. | ||||||
| - Replaced "Use single area (8bpp)" option with VDR's "Setup/OSD/Anti-alias". | - Replaced "Use single area (8bpp)" option with VDR's | ||||||
|  |   "Setup/OSD/Anti-alias". | ||||||
| - Removed the FEMON_NTSC option. | - Removed the FEMON_NTSC option. | ||||||
| - Fixed a deadlock in cFemonReceiver (Thanks to Antti Seppälä for reporting this one). | - Fixed a deadlock in cFemonReceiver (Thanks to Antti Seppälä for | ||||||
|  |   reporting this one). | ||||||
|  |  | ||||||
|  | 2008-12-16: Version 1.6.5 | ||||||
|  |  | ||||||
|  | - Backported from 1.7.0. | ||||||
|  |  | ||||||
|  | 2009-01-06: Version 1.6.6 | ||||||
|  |  | ||||||
|  | - Backported from 1.7.1. | ||||||
|  |  | ||||||
|  | 2009-06-18: Version 1.6.7 | ||||||
|  |  | ||||||
|  | - Backported from 1.7.2. | ||||||
|  |  | ||||||
|  | =================================== | ||||||
|  | VDR Plugin 'femon' Revision History | ||||||
|  | =================================== | ||||||
|  |  | ||||||
|  | 2008-12-16: Version 1.7.0 | ||||||
|  |  | ||||||
|  | - Updated for vdr-1.7.2. | ||||||
|  | - Added whitespace cleanups. | ||||||
|  | - Changed info window to use the channel source instead of the frontend | ||||||
|  |   type. | ||||||
|  | - Removed the "Show CA system" setup option. | ||||||
|  |  | ||||||
|  | 2009-01-06: Version 1.7.1 | ||||||
|  |  | ||||||
|  | - Fixed closing of frontend file handles (Thanks to Brendon Higgins for | ||||||
|  |   reporting this one). | ||||||
|  |  | ||||||
|  | 2009-06-18: Version 1.7.2 | ||||||
|  |  | ||||||
|  | - Cleaned up compilation warnings. | ||||||
|  | - Fixed font handling to be thread-safe. | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -23,7 +23,7 @@ VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ p | |||||||
| ### The C++ compiler and options: | ### The C++ compiler and options: | ||||||
|  |  | ||||||
| CXX      ?= g++ | CXX      ?= g++ | ||||||
| CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses | CXXFLAGS ?= -fPIC -g -O2 -Wall -Wextra -Wswitch-default -Wfloat-equal -Wundef -Wpointer-arith -Wconversion -Wcast-align -Wredundant-decls -Wno-unused-parameter -Woverloaded-virtual -Wno-parentheses | ||||||
|  |  | ||||||
| ### The directory environment: | ### The directory environment: | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								femon.c
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								femon.c
									
									
									
									
									
								
							| @@ -18,7 +18,7 @@ | |||||||
| #error "VDR-1.6.0 API version or greater is required!" | #error "VDR-1.6.0 API version or greater is required!" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| static const char VERSION[]       = "1.6.4"; | static const char VERSION[]       = "1.6.7"; | ||||||
| static const char DESCRIPTION[]   = trNOOP("DVB Signal Information Monitor (OSD)"); | static const char DESCRIPTION[]   = trNOOP("DVB Signal Information Monitor (OSD)"); | ||||||
| static const char MAINMENUENTRY[] = trNOOP("Signal Information"); | static const char MAINMENUENTRY[] = trNOOP("Signal Information"); | ||||||
|  |  | ||||||
| @@ -114,7 +114,6 @@ bool cPluginFemon::SetupParse(const char *Name, const char *Value) | |||||||
|   else if (!strcasecmp(Name, "OSDOffset"))      femonConfig.osdoffset      = atoi(Value); |   else if (!strcasecmp(Name, "OSDOffset"))      femonConfig.osdoffset      = atoi(Value); | ||||||
|   else if (!strcasecmp(Name, "Skin"))           femonConfig.skin           = atoi(Value); |   else if (!strcasecmp(Name, "Skin"))           femonConfig.skin           = atoi(Value); | ||||||
|   else if (!strcasecmp(Name, "Theme"))          femonConfig.theme          = atoi(Value); |   else if (!strcasecmp(Name, "Theme"))          femonConfig.theme          = atoi(Value); | ||||||
|   else if (!strcasecmp(Name, "ShowCASystem"))   femonConfig.showcasystem   = atoi(Value); |  | ||||||
|   else if (!strcasecmp(Name, "RedLimit"))       femonConfig.redlimit       = atoi(Value); |   else if (!strcasecmp(Name, "RedLimit"))       femonConfig.redlimit       = atoi(Value); | ||||||
|   else if (!strcasecmp(Name, "GreenLimit"))     femonConfig.greenlimit     = atoi(Value); |   else if (!strcasecmp(Name, "GreenLimit"))     femonConfig.greenlimit     = atoi(Value); | ||||||
|   else if (!strcasecmp(Name, "UpdateInterval")) femonConfig.updateinterval = atoi(Value); |   else if (!strcasecmp(Name, "UpdateInterval")) femonConfig.updateinterval = atoi(Value); | ||||||
| @@ -328,9 +327,6 @@ void cMenuFemonSetup::Setup(void) | |||||||
|   Add(new cMenuEditIntItem(tr("Horizontal offset"), &data.osdoffset, -50, 50)); |   Add(new cMenuEditIntItem(tr("Horizontal offset"), &data.osdoffset, -50, 50)); | ||||||
|   help.Append(tr("Define the horizontal offset of OSD.")); |   help.Append(tr("Define the horizontal offset of OSD.")); | ||||||
|  |  | ||||||
|   Add(new cMenuEditBoolItem(tr("Show CA system"), &data.showcasystem)); |  | ||||||
|   help.Append(tr("Define whether the CA system is shown as text.")); |  | ||||||
|  |  | ||||||
|   Add(new cMenuEditIntItem(tr("Red limit [%]"), &data.redlimit, 1, 50)); |   Add(new cMenuEditIntItem(tr("Red limit [%]"), &data.redlimit, 1, 50)); | ||||||
|   help.Append(tr("Define a limit for red bar, which is used to indicate a bad signal.")); |   help.Append(tr("Define a limit for red bar, which is used to indicate a bad signal.")); | ||||||
|  |  | ||||||
| @@ -374,7 +370,6 @@ void cMenuFemonSetup::Store(void) | |||||||
|   SetupStore("Position",       femonConfig.position); |   SetupStore("Position",       femonConfig.position); | ||||||
|   SetupStore("OSDHeight",      femonConfig.osdheight); |   SetupStore("OSDHeight",      femonConfig.osdheight); | ||||||
|   SetupStore("OSDOffset",      femonConfig.osdoffset); |   SetupStore("OSDOffset",      femonConfig.osdoffset); | ||||||
|   SetupStore("ShowCASystem",   femonConfig.showcasystem); |  | ||||||
|   SetupStore("RedLimit",       femonConfig.redlimit); |   SetupStore("RedLimit",       femonConfig.redlimit); | ||||||
|   SetupStore("GreenLimit",     femonConfig.greenlimit); |   SetupStore("GreenLimit",     femonConfig.greenlimit); | ||||||
|   SetupStore("UpdateInterval", femonConfig.updateinterval); |   SetupStore("UpdateInterval", femonConfig.updateinterval); | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ bool getAC3AudioInfo(uint8_t *buf, int len, ac3_info_t *info) | |||||||
|      return false; |      return false; | ||||||
|  |  | ||||||
|   uint8_t *data = buf + 2; |   uint8_t *data = buf + 2; | ||||||
|   uint8_t frame = (data[2] & 0x3f); |   uint8_t frame = (uint8_t)(data[2] & 0x3f); | ||||||
|   info->bitrate = 1000 * ac3_bitrates[frame >> 1]; |   info->bitrate = 1000 * ac3_bitrates[frame >> 1]; | ||||||
|   uint8_t fr = (data[2] & 0xc0 ) >> 6; |   uint8_t fr = (data[2] & 0xc0 ) >> 6; | ||||||
|   //uint8_t sz = ac3_frames[fr][frame >> 1]; |   //uint8_t sz = ac3_frames[fr][frame >> 1]; | ||||||
|   | |||||||
| @@ -22,7 +22,6 @@ cFemonConfig::cFemonConfig(void) | |||||||
|   updateinterval = 5; |   updateinterval = 5; | ||||||
|   analyzestream  = 1; |   analyzestream  = 1; | ||||||
|   calcinterval   = 20; |   calcinterval   = 20; | ||||||
|   showcasystem   = 0; |  | ||||||
|   osdheight      = 480; |   osdheight      = 480; | ||||||
|   osdoffset      = 0; |   osdoffset      = 0; | ||||||
|   usesvdrp       = 0; |   usesvdrp       = 0; | ||||||
|   | |||||||
| @@ -33,7 +33,6 @@ public: | |||||||
|   int updateinterval; |   int updateinterval; | ||||||
|   int analyzestream; |   int analyzestream; | ||||||
|   int calcinterval; |   int calcinterval; | ||||||
|   int showcasystem; |  | ||||||
|   int osdheight; |   int osdheight; | ||||||
|   int osdoffset; |   int osdoffset; | ||||||
|   int usesvdrp; |   int usesvdrp; | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ | |||||||
| #define NAL_SEI     0x06 // Supplemental Enhancement Information | #define NAL_SEI     0x06 // Supplemental Enhancement Information | ||||||
| #define NAL_SPS     0x07 // Sequence Parameter Set | #define NAL_SPS     0x07 // Sequence Parameter Set | ||||||
| #define NAL_AUD     0x09 // Access Unit Delimiter | #define NAL_AUD     0x09 // Access Unit Delimiter | ||||||
| #define NAL_END_SEQ 0x10 // End of Sequence | #define NAL_END_SEQ 0x0A // End of Sequence | ||||||
|  |  | ||||||
| #define IS_NAL_SEI(buf)     (((buf)[0] == 0x00) && ((buf)[1] == 0x00) && ((buf)[2] == 0x01) && ((buf)[3] == NAL_SEI)) | #define IS_NAL_SEI(buf)     (((buf)[0] == 0x00) && ((buf)[1] == 0x00) && ((buf)[2] == 0x01) && ((buf)[3] == NAL_SEI)) | ||||||
| #define IS_NAL_SPS(buf)     (((buf)[0] == 0x00) && ((buf)[1] == 0x00) && ((buf)[2] == 0x01) && ((buf)[3] == NAL_SPS)) | #define IS_NAL_SPS(buf)     (((buf)[0] == 0x00) && ((buf)[1] == 0x00) && ((buf)[2] == 0x01) && ((buf)[3] == NAL_SPS)) | ||||||
| @@ -358,7 +358,7 @@ static int h264_get_picture_type(const uint8_t *buf, int len) | |||||||
| { | { | ||||||
|   for (int i = 0; i < (len - 5); ++i) { |   for (int i = 0; i < (len - 5); ++i) { | ||||||
|       if (buf[i] == 0 && buf[i + 1] == 0 && buf[i + 2] == 1 && buf[i + 3] == NAL_AUD) { |       if (buf[i] == 0 && buf[i + 1] == 0 && buf[i + 2] == 1 && buf[i + 3] == NAL_AUD) { | ||||||
|          uint8_t type = (buf[i + 4] >> 5); |          uint8_t type = (uint8_t)(buf[i + 4] >> 5); | ||||||
|          switch (type) { |          switch (type) { | ||||||
|            case 0: case 3: case 5: return I_FRAME; |            case 0: case 3: case 5: return I_FRAME; | ||||||
|            case 1: case 4: case 6: return P_FRAME; |            case 1: case 4: case 6: return P_FRAME; | ||||||
| @@ -392,7 +392,7 @@ bool getH264VideoInfo(uint8_t *buf, int len, video_info_t *info) | |||||||
|          int nal_len; |          int nal_len; | ||||||
|          //Dprintf("H.264: Found NAL SPS at offset %d/%d", i, len); |          //Dprintf("H.264: Found NAL SPS at offset %d/%d", i, len); | ||||||
|          if (0 < (nal_len = h264_nal_unescape(nal_data, buf + i + 4, len - i - 4))) { |          if (0 < (nal_len = h264_nal_unescape(nal_data, buf + i + 4, len - i - 4))) { | ||||||
|             h264_sps_data_t sps = { 0 }; |             h264_sps_data_t sps = { 0, 0, VIDEO_ASPECT_RATIO_INVALID, VIDEO_FORMAT_INVALID }; | ||||||
|             if (h264_parse_sps(nal_data, nal_len, &sps)) { |             if (h264_parse_sps(nal_data, nal_len, &sps)) { | ||||||
|                info->format = sps.format; |                info->format = sps.format; | ||||||
|                info->width = sps.width; |                info->width = sps.width; | ||||||
| @@ -408,7 +408,7 @@ bool getH264VideoInfo(uint8_t *buf, int len, video_info_t *info) | |||||||
|          int nal_len; |          int nal_len; | ||||||
|          //Dprintf("H.264: Found NAL SEI at offset %d/%d", i, len); |          //Dprintf("H.264: Found NAL SEI at offset %d/%d", i, len); | ||||||
|          if (0 < (nal_len = h264_nal_unescape(nal_data, buf + i + 4, len - i - 4))) { |          if (0 < (nal_len = h264_nal_unescape(nal_data, buf + i + 4, len - i - 4))) { | ||||||
|             h264_sei_data_t sei = { 0 }; |             h264_sei_data_t sei = { 0, 0, VIDEO_SCAN_INVALID }; | ||||||
|             if (h264_parse_sei(nal_data, nal_len, &sei)) { |             if (h264_parse_sei(nal_data, nal_len, &sei)) { | ||||||
|                info->frameRate = sei.frame_rate; |                info->frameRate = sei.frame_rate; | ||||||
|                info->bitrate = sei.bitrate; |                info->bitrate = sei.bitrate; | ||||||
|   | |||||||
| @@ -178,7 +178,7 @@ bool getMPEGVideoInfo(uint8_t *buf, int len, video_info_t *info) | |||||||
|       info->format      = VIDEO_FORMAT_UNKNOWN; |       info->format      = VIDEO_FORMAT_UNKNOWN; | ||||||
|       break; |       break; | ||||||
|     } |     } | ||||||
|   info->bitrate = 400.0 * (((data[4] << 10) & 0x0003FC00UL) | ((data[5] << 2) & 0x000003FCUL) | (((data[6] & 0xC0) >> 6) & 0x00000003UL)); |   info->bitrate = 400.0 * (double)(((data[4] << 10) & 0x0003FC00UL) | ((data[5] << 2) & 0x000003FCUL) | (((data[6] & 0xC0) >> 6) & 0x00000003UL)); | ||||||
|  |  | ||||||
|   return true; |   return true; | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										93
									
								
								femonosd.c
									
									
									
									
									
								
							
							
						
						
									
										93
									
								
								femonosd.c
									
									
									
									
									
								
							| @@ -116,12 +116,28 @@ | |||||||
| #define OSDCLEARINFO() \ | #define OSDCLEARINFO() \ | ||||||
|         m_Osd->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT) - 1, clrTransparent) |         m_Osd->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT) - 1, clrTransparent) | ||||||
|  |  | ||||||
|  | #ifndef MINFONTSIZE | ||||||
|  | #define MINFONTSIZE 10 | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #ifndef MAXFONTSIZE | ||||||
|  | #define MAXFONTSIZE 64 | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | class cFemonDummyFont : public cFont { | ||||||
|  | public: | ||||||
|  |   virtual int Width(uint c) const { return 10; } | ||||||
|  |   virtual int Width(const char *s) const { return 50; } | ||||||
|  |   virtual int Height(void) const { return 20; } | ||||||
|  |   virtual void DrawText(cBitmap *Bitmap, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int Width) const {} | ||||||
|  | }; | ||||||
|  |  | ||||||
| cFemonOsd *cFemonOsd::pInstance = NULL; | cFemonOsd *cFemonOsd::pInstance = NULL; | ||||||
|  |  | ||||||
| cFemonOsd *cFemonOsd::Instance(bool create) | cFemonOsd *cFemonOsd::Instance(bool create) | ||||||
| { | { | ||||||
|   Dprintf("%s()\n", __PRETTY_FUNCTION__); |   Dprintf("%s()\n", __PRETTY_FUNCTION__); | ||||||
|   if (pInstance == NULL && create) |   if ((pInstance == NULL) && create) | ||||||
|   { |   { | ||||||
|      pInstance = new cFemonOsd(); |      pInstance = new cFemonOsd(); | ||||||
|   } |   } | ||||||
| @@ -150,14 +166,11 @@ cFemonOsd::cFemonOsd() | |||||||
| { | { | ||||||
|   Dprintf("%s()\n", __PRETTY_FUNCTION__); |   Dprintf("%s()\n", __PRETTY_FUNCTION__); | ||||||
|   m_SvdrpConnection.handle = -1; |   m_SvdrpConnection.handle = -1; | ||||||
|   if (Setup.UseSmallFont == 0) { |   m_Font = cFont::CreateFont(Setup.FontSml, min(max(Setup.FontSmlSize, MINFONTSIZE), MAXFONTSIZE)); | ||||||
|      // Dirty hack to force the small fonts... |   if (!m_Font || !m_Font->Height()) { | ||||||
|      Setup.UseSmallFont = 1; |      m_Font = new cFemonDummyFont; | ||||||
|      m_Font = cFont::GetFont(fontSml); |      esyslog("ERROR: cFemonOsd::cFemonOsd() cannot create required font."); | ||||||
|      Setup.UseSmallFont = 0; |  | ||||||
|      } |      } | ||||||
|   else |  | ||||||
|      m_Font = cFont::GetFont(fontSml); |  | ||||||
|   if (OSDHEIGHT < (OSDINFOHEIGHT + OSDROWHEIGHT + OSDSTATUSHEIGHT)) |   if (OSDHEIGHT < (OSDINFOHEIGHT + OSDROWHEIGHT + OSDSTATUSHEIGHT)) | ||||||
|      OSDHEIGHT = (OSDINFOHEIGHT + OSDROWHEIGHT + OSDSTATUSHEIGHT); |      OSDHEIGHT = (OSDINFOHEIGHT + OSDROWHEIGHT + OSDSTATUSHEIGHT); | ||||||
| } | } | ||||||
| @@ -179,6 +192,12 @@ cFemonOsd::~cFemonOsd(void) | |||||||
|      } |      } | ||||||
|   if (m_Osd) |   if (m_Osd) | ||||||
|      DELETENULL(m_Osd); |      DELETENULL(m_Osd); | ||||||
|  |   if (m_Font) | ||||||
|  |      DELETENULL(m_Font); | ||||||
|  |   if (m_Frontend >= 0) { | ||||||
|  |      close(m_Frontend); | ||||||
|  |      m_Frontend = -1; | ||||||
|  |      } | ||||||
|   pInstance = NULL; |   pInstance = NULL; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -315,11 +334,11 @@ void cFemonOsd::DrawInfoWindow(void) | |||||||
|             OSDDRAWINFOLEFT(    tr("Tid"),  *cString::sprintf("%d", channel->Tid())); |             OSDDRAWINFOLEFT(    tr("Tid"),  *cString::sprintf("%d", channel->Tid())); | ||||||
|             OSDDRAWINFORIGHT(   tr("Rid"),  *cString::sprintf("%d", channel->Rid())); |             OSDDRAWINFORIGHT(   tr("Rid"),  *cString::sprintf("%d", channel->Rid())); | ||||||
|             offset += OSDROWHEIGHT; |             offset += OSDROWHEIGHT; | ||||||
|             OSDDRAWINFOLEFT( trVDR("CA"),   *getCAids(channel, femonConfig.showcasystem)); |             OSDDRAWINFOLEFT( trVDR("CA"),   *getCAids(channel)); | ||||||
|             offset += OSDROWHEIGHT; |             offset += OSDROWHEIGHT; | ||||||
|             switch (m_FrontendInfo.type) { |             switch (channel->Source() & cSource::st_Mask) { | ||||||
|               case FE_QPSK: |               case cSource::stSat: | ||||||
|                    OSDDRAWINFOLINE(*cString::sprintf("%s #%d - %s", tr("Satellite Card"), (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name)); |                    OSDDRAWINFOLINE(*cString::sprintf("DVB-S #%d - %s", (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name)); | ||||||
|                    offset += OSDROWHEIGHT; |                    offset += OSDROWHEIGHT; | ||||||
|                    OSDDRAWINFOLEFT( trVDR("Frequency"),    *getFrequencyMHz(channel->Frequency())); |                    OSDDRAWINFOLEFT( trVDR("Frequency"),    *getFrequencyMHz(channel->Frequency())); | ||||||
|                    OSDDRAWINFORIGHT(trVDR("Source"),       *cSource::ToString(channel->Source())); |                    OSDDRAWINFORIGHT(trVDR("Source"),       *cSource::ToString(channel->Source())); | ||||||
| @@ -329,13 +348,10 @@ void cFemonOsd::DrawInfoWindow(void) | |||||||
|                    offset += OSDROWHEIGHT; |                    offset += OSDROWHEIGHT; | ||||||
|                    OSDDRAWINFOLEFT( trVDR("Inversion"),    *getInversion(channel->Inversion())); |                    OSDDRAWINFOLEFT( trVDR("Inversion"),    *getInversion(channel->Inversion())); | ||||||
|                    OSDDRAWINFORIGHT(trVDR("CoderateH"),    *getCoderate(channel->CoderateH())); |                    OSDDRAWINFORIGHT(trVDR("CoderateH"),    *getCoderate(channel->CoderateH())); | ||||||
|                    //offset += OSDROWHEIGHT; |  | ||||||
|                    //OSDDRAWINFOLEFT( trVDR("System"),     *getSystem(channel->System())); |  | ||||||
|                    //OSDDRAWINFORIGHT(trVDR("RollOff"),    *getRollOff(channel->RollOff())); |  | ||||||
|                    break; |                    break; | ||||||
|  |  | ||||||
|              case FE_QAM: |               case cSource::stCable: | ||||||
|                    OSDDRAWINFOLINE(*cString::sprintf("%s #%d - %s", tr("Cable Card"), (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name)); |                    OSDDRAWINFOLINE(*cString::sprintf("DVB-C #%d - %s", (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name)); | ||||||
|                    offset += OSDROWHEIGHT; |                    offset += OSDROWHEIGHT; | ||||||
|                    OSDDRAWINFOLEFT( trVDR("Frequency"),    *getFrequencyMHz(channel->Frequency())); |                    OSDDRAWINFOLEFT( trVDR("Frequency"),    *getFrequencyMHz(channel->Frequency())); | ||||||
|                    OSDDRAWINFORIGHT(trVDR("Source"),       *cSource::ToString(channel->Source())); |                    OSDDRAWINFORIGHT(trVDR("Source"),       *cSource::ToString(channel->Source())); | ||||||
| @@ -347,8 +363,8 @@ void cFemonOsd::DrawInfoWindow(void) | |||||||
|                    OSDDRAWINFORIGHT(trVDR("CoderateH"),    *getCoderate(channel->CoderateH())); |                    OSDDRAWINFORIGHT(trVDR("CoderateH"),    *getCoderate(channel->CoderateH())); | ||||||
|                    break; |                    break; | ||||||
|  |  | ||||||
|               case FE_OFDM: |               case cSource::stTerr: | ||||||
|                    OSDDRAWINFOLINE(*cString::sprintf("%s #%d - %s", tr("Terrestrial Card"), (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name)); |                    OSDDRAWINFOLINE(*cString::sprintf("DVB-T #%d - %s", (m_SvdrpFrontend >= 0) ? m_SvdrpFrontend : cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name)); | ||||||
|                    offset += OSDROWHEIGHT; |                    offset += OSDROWHEIGHT; | ||||||
|                    OSDDRAWINFOLEFT( trVDR("Frequency"),    *getFrequencyMHz(channel->Frequency())); |                    OSDDRAWINFOLEFT( trVDR("Frequency"),    *getFrequencyMHz(channel->Frequency())); | ||||||
|                    OSDDRAWINFORIGHT(trVDR("Transmission"), *getTransmission(channel->Transmission())); |                    OSDDRAWINFORIGHT(trVDR("Transmission"), *getTransmission(channel->Transmission())); | ||||||
| @@ -361,9 +377,6 @@ void cFemonOsd::DrawInfoWindow(void) | |||||||
|                    offset += OSDROWHEIGHT; |                    offset += OSDROWHEIGHT; | ||||||
|                    OSDDRAWINFOLEFT( trVDR("Hierarchy"),    *getHierarchy(channel->Hierarchy())); |                    OSDDRAWINFOLEFT( trVDR("Hierarchy"),    *getHierarchy(channel->Hierarchy())); | ||||||
|                    OSDDRAWINFORIGHT(trVDR("Guard"),        *getGuard(channel->Guard())); |                    OSDDRAWINFORIGHT(trVDR("Guard"),        *getGuard(channel->Guard())); | ||||||
|                    //offset += OSDROWHEIGHT; |  | ||||||
|                    //OSDDRAWINFOLEFT( trVDR("Alpha"),      *getAlpha(channel->Alpha())); |  | ||||||
|                    //OSDDRAWINFORIGHT(trVDR("Priority"),   *getPriority(channel->Priority())); |  | ||||||
|                    break; |                    break; | ||||||
|  |  | ||||||
|               default: |               default: | ||||||
| @@ -462,26 +475,26 @@ void cFemonOsd::Action(void) | |||||||
|        if (cmd.responseCode == 900) { |        if (cmd.responseCode == 900) { | ||||||
|           for (cLine *line = cmd.reply.First(); line; line = cmd.reply.Next(line)) { |           for (cLine *line = cmd.reply.First(); line; line = cmd.reply.Next(line)) { | ||||||
|               const char *s = line->Text(); |               const char *s = line->Text(); | ||||||
| 	      if (strncasecmp(s, "CARD:", 5) == 0) | 	      if (!strncasecmp(s, "CARD:", 5)) | ||||||
|                 m_SvdrpFrontend = strtol(s + 5, NULL, 10); |                  m_SvdrpFrontend = (int)strtol(s + 5, NULL, 10); | ||||||
|              else if (strncasecmp(s, "TYPE:", 5) == 0) |               else if (!strncasecmp(s, "TYPE:", 5)) | ||||||
|                  m_FrontendInfo.type = (fe_type_t)strtol(s + 5, NULL, 10); |                  m_FrontendInfo.type = (fe_type_t)strtol(s + 5, NULL, 10); | ||||||
|              else if (strncasecmp(s, "NAME:", 5) == 0) |               else if (!strncasecmp(s, "NAME:", 5)) | ||||||
|                  strn0cpy(m_FrontendInfo.name, s + 5, sizeof(m_FrontendInfo.name)); |                  strn0cpy(m_FrontendInfo.name, s + 5, sizeof(m_FrontendInfo.name)); | ||||||
|              else if (strncasecmp(s, "STAT:", 5) == 0) |               else if (!strncasecmp(s, "STAT:", 5)) | ||||||
|                  m_FrontendStatus = (fe_status_t)strtol(s + 5, NULL, 16); |                  m_FrontendStatus = (fe_status_t)strtol(s + 5, NULL, 16); | ||||||
|              else if (strncasecmp(s, "SGNL:", 5) == 0) |               else if (!strncasecmp(s, "SGNL:", 5)) | ||||||
|                 m_Signal = strtol(s + 5, NULL, 16); |                  m_Signal = (uint16_t)strtol(s + 5, NULL, 16); | ||||||
|              else if (strncasecmp(s, "SNRA:", 5) == 0) |               else if (!strncasecmp(s, "SNRA:", 5)) | ||||||
|                 m_SNR = strtol(s + 5, NULL, 16); |                  m_SNR = (uint16_t)strtol(s + 5, NULL, 16); | ||||||
|              else if (strncasecmp(s, "BERA:", 5) == 0) |               else if (!strncasecmp(s, "BERA:", 5)) | ||||||
|                 m_BER = strtol(s + 5, NULL, 16); |                  m_BER = (uint32_t)strtol(s + 5, NULL, 16); | ||||||
|              else if (strncasecmp(s, "UNCB:", 5) == 0) |               else if (!strncasecmp(s, "UNCB:", 5)) | ||||||
|                 m_UNC = strtol(s + 5, NULL, 16); |                  m_UNC = (uint32_t)strtol(s + 5, NULL, 16); | ||||||
|              else if (strncasecmp(s, "VIBR:", 5) == 0) |               else if (!strncasecmp(s, "VIBR:", 5)) | ||||||
|                 m_SvdrpVideoBitrate = strtol(s + 5, NULL, 10); |                  m_SvdrpVideoBitrate = (double)strtol(s + 5, NULL, 10); | ||||||
|              else if (strncasecmp(s, "AUBR:", 5) == 0) |               else if (!strncasecmp(s, "AUBR:", 5)) | ||||||
|                 m_SvdrpAudioBitrate = strtol(s + 5, NULL, 10); |                  m_SvdrpAudioBitrate = (double)strtol(s + 5, NULL, 10); | ||||||
|               } |               } | ||||||
|           } |           } | ||||||
|        DrawInfoWindow(); |        DrawInfoWindow(); | ||||||
| @@ -652,7 +665,7 @@ bool cFemonOsd::SvdrpConnect(void) | |||||||
|       m_SvdrpPlugin = cPluginManager::GetPlugin(SVDRPPLUGIN); |       m_SvdrpPlugin = cPluginManager::GetPlugin(SVDRPPLUGIN); | ||||||
|       if (m_SvdrpPlugin) { |       if (m_SvdrpPlugin) { | ||||||
|          m_SvdrpConnection.serverIp = femonConfig.svdrpip; |          m_SvdrpConnection.serverIp = femonConfig.svdrpip; | ||||||
|          m_SvdrpConnection.serverPort = femonConfig.svdrpport; |          m_SvdrpConnection.serverPort = (unsigned short)femonConfig.svdrpport; | ||||||
|          m_SvdrpConnection.shared = true; |          m_SvdrpConnection.shared = true; | ||||||
|          m_SvdrpPlugin->Service("SvdrpConnection-v1.0", &m_SvdrpConnection); |          m_SvdrpPlugin->Service("SvdrpConnection-v1.0", &m_SvdrpConnection); | ||||||
|          if (m_SvdrpConnection.handle >= 0) { |          if (m_SvdrpConnection.handle >= 0) { | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ private: | |||||||
|   double            m_SvdrpAudioBitrate; |   double            m_SvdrpAudioBitrate; | ||||||
|   SvdrpConnection_v1_0 m_SvdrpConnection; |   SvdrpConnection_v1_0 m_SvdrpConnection; | ||||||
|   cPlugin          *m_SvdrpPlugin; |   cPlugin          *m_SvdrpPlugin; | ||||||
|   struct dvb_frontend_info m_FrontendInfo; |   dvb_frontend_info m_FrontendInfo; | ||||||
|   int               m_Number; |   int               m_Number; | ||||||
|   int               m_OldNumber; |   int               m_OldNumber; | ||||||
|   uint16_t          m_SNR; |   uint16_t          m_SNR; | ||||||
| @@ -43,7 +43,7 @@ private: | |||||||
|   uint32_t          m_UNC; |   uint32_t          m_UNC; | ||||||
|   fe_status_t       m_FrontendStatus; |   fe_status_t       m_FrontendStatus; | ||||||
|   int               m_DisplayMode; |   int               m_DisplayMode; | ||||||
|   const cFont      *m_Font; |   cFont            *m_Font; | ||||||
|   cTimeMs           m_InputTime; |   cTimeMs           m_InputTime; | ||||||
|   cCondWait         m_Sleep; |   cCondWait         m_Sleep; | ||||||
|   cMutex            m_Mutex; |   cMutex            m_Mutex; | ||||||
|   | |||||||
| @@ -199,7 +199,7 @@ void cFemonReceiver::Receive(uchar *Data, int Length) | |||||||
|         } |         } | ||||||
|      uint8_t off = 0; |      uint8_t off = 0; | ||||||
|      if (Data[3] & ADAPT_FIELD) { |      if (Data[3] & ADAPT_FIELD) { | ||||||
|         off = Data[4] + 1; |         off = (uint8_t)(Data[4] + 1); | ||||||
|         } |         } | ||||||
|      if (Data[1] & PAY_START) { |      if (Data[1] & PAY_START) { | ||||||
|         uint8_t *sb = Data + 4 + off; |         uint8_t *sb = Data + 4 + off; | ||||||
|   | |||||||
							
								
								
									
										140
									
								
								femontools.c
									
									
									
									
									
								
							
							
						
						
									
										140
									
								
								femontools.c
									
									
									
									
									
								
							| @@ -13,6 +13,53 @@ | |||||||
| #include "femonosd.h" | #include "femonosd.h" | ||||||
| #include "femontools.h" | #include "femontools.h" | ||||||
|  |  | ||||||
|  | static cString getCA(int value) | ||||||
|  | { | ||||||
|  |   // http://www.dvb.org/index.php?id=174 | ||||||
|  |   // http://en.wikipedia.org/wiki/Conditional_access_system | ||||||
|  |   switch (value) { | ||||||
|  |     case 0x0000:            return cString::sprintf("%s (%X)", trVDR("Free To Air"), value);  // Reserved | ||||||
|  |     case 0x0001 ... 0x009F: | ||||||
|  |     case 0x00A2 ... 0x00FF: return cString::sprintf("%s (%X)", tr("Fixed"),          value); // Standardized systems | ||||||
|  |     case 0x00A0 ... 0x00A1: return cString::sprintf("%s (%X)", tr("Analog"),         value); // Analog signals | ||||||
|  |     case 0x0100 ... 0x01FF: return cString::sprintf("%s (%X)", "SECA Mediaguard",    value); // Canal Plus | ||||||
|  |     case 0x0464:            return cString::sprintf("%s (%X)", "EuroDec",            value); // EuroDec | ||||||
|  |     case 0x0500 ... 0x05FF: return cString::sprintf("%s (%X)", "Viaccess",           value); // France Telecom | ||||||
|  |     case 0x0600 ... 0x06FF: return cString::sprintf("%s (%X)", "Irdeto",             value); // Irdeto | ||||||
|  |     case 0x0900 ... 0x09FF: return cString::sprintf("%s (%X)", "NDS Videoguard",     value); // News Datacom | ||||||
|  |     case 0x0B00 ... 0x0BFF: return cString::sprintf("%s (%X)", "Conax",              value); // Norwegian Telekom | ||||||
|  |     case 0x0D00 ... 0x0DFF: return cString::sprintf("%s (%X)", "CryptoWorks",        value); // Philips | ||||||
|  |     case 0x0E00 ... 0x0EFF: return cString::sprintf("%s (%X)", "PowerVu",            value); // Scientific Atlanta | ||||||
|  |     case 0x1000:            return cString::sprintf("%s (%X)", "RAS",                value); // Tandberg Television | ||||||
|  |     case 0x1200 ... 0x12FF: return cString::sprintf("%s (%X)", "NagraVision",        value); // BellVu Express | ||||||
|  |     case 0x1700 ... 0x17FF: return cString::sprintf("%s (%X)", "BetaCrypt",          value); // BetaTechnik | ||||||
|  |     case 0x1800 ... 0x18FF: return cString::sprintf("%s (%X)", "NagraVision",        value); // Kudelski SA | ||||||
|  |     case 0x22F0:            return cString::sprintf("%s (%X)", "Codicrypt",          value); // Scopus Network Technologies | ||||||
|  |     case 0x2600:            return cString::sprintf("%s (%X)", "BISS",               value); // European Broadcasting Union | ||||||
|  |     case 0x4347:            return cString::sprintf("%s (%X)", "CryptOn",            value); // CryptOn | ||||||
|  |     case 0x4800:            return cString::sprintf("%s (%X)", "Accessgate",         value); // Telemann | ||||||
|  |     case 0x4900:            return cString::sprintf("%s (%X)", "China Crypt",        value); // CryptoWorks | ||||||
|  |     case 0x4A10:            return cString::sprintf("%s (%X)", "EasyCas",            value); // EasyCas | ||||||
|  |     case 0x4A20:            return cString::sprintf("%s (%X)", "AlphaCrypt",         value); // AlphaCrypt | ||||||
|  |     case 0x4A70:            return cString::sprintf("%s (%X)", "DreamCrypt",         value); // Dream Multimedia | ||||||
|  |     case 0x4A60:            return cString::sprintf("%s (%X)", "SkyCrypt",           value); // @Sky | ||||||
|  |     case 0x4A61:            return cString::sprintf("%s (%X)", "Neotioncrypt",       value); // Neotion | ||||||
|  |     case 0x4A62:            return cString::sprintf("%s (%X)", "SkyCrypt",           value); // @Sky | ||||||
|  |     case 0x4A63:            return cString::sprintf("%s (%X)", "Neotion SHL",        value); // Neotion | ||||||
|  |     case 0x4A64 ... 0x4A6F: return cString::sprintf("%s (%X)", "SkyCrypt",           value); // @Sky | ||||||
|  |     case 0x4A80:            return cString::sprintf("%s (%X)", "ThalesCrypt",        value); // TPS | ||||||
|  |     case 0x4AA1:            return cString::sprintf("%s (%X)", "KeyFly",             value); // SIDSA | ||||||
|  |     case 0x4ABF:            return cString::sprintf("%s (%X)", "DG-Crypt",           value); // Beijing Compunicate Technology Inc. | ||||||
|  |     case 0x4AD0 ... 0x4AD1: return cString::sprintf("%s (%X)", "X-Crypt",            value); // XCrypt Inc. | ||||||
|  |     case 0x4AD4:            return cString::sprintf("%s (%X)", "OmniCrypt",          value); // Widevine Technologies, Inc. | ||||||
|  |     case 0x4AE0:            return cString::sprintf("%s (%X)", "RossCrypt",          value); // Digi Raum Electronics Co. Ltd. | ||||||
|  |     case 0x5500:            return cString::sprintf("%s (%X)", "Z-Crypt",            value); // Digi Raum Electronics Co. Ltd. | ||||||
|  |     case 0x5501:            return cString::sprintf("%s (%X)", "Griffin",            value); // Griffin | ||||||
|  |     default:                break; | ||||||
|  |     } | ||||||
|  |   return cString::sprintf("%X", value); | ||||||
|  | } | ||||||
|  |  | ||||||
| cString getFrontendInfo(int cardIndex) | cString getFrontendInfo(int cardIndex) | ||||||
| { | { | ||||||
|   cString info; |   cString info; | ||||||
| @@ -158,47 +205,15 @@ cString getSpids(const cChannel *channel) | |||||||
|   return spids; |   return spids; | ||||||
| } | } | ||||||
|  |  | ||||||
| cString getCAids(const cChannel *channel, bool identify) | cString getCAids(const cChannel *channel) | ||||||
| { | { | ||||||
|   cString caids; |  | ||||||
|   int value = 0; |   int value = 0; | ||||||
|  |   cString caids = cString::sprintf("%s", *getCA(channel->Ca(value))); | ||||||
|   if (identify) { |  | ||||||
|      caids = cString::sprintf("%s", *getCA(channel->Ca(value))); |  | ||||||
|   while (channel->Ca(++value) && (value < MAXCAIDS)) |   while (channel->Ca(++value) && (value < MAXCAIDS)) | ||||||
|     caids = cString::sprintf("%s, %s", *caids, *getCA(channel->Ca(value))); |     caids = cString::sprintf("%s, %s", *caids, *getCA(channel->Ca(value))); | ||||||
|      } |  | ||||||
|   else { |  | ||||||
|      caids = cString::sprintf("%04x", channel->Ca(value)); |  | ||||||
|      while (channel->Ca(++value) && (value < MAXCAIDS)) |  | ||||||
|        caids = cString::sprintf("%s, %04x", *caids, channel->Ca(value)); |  | ||||||
|      } |  | ||||||
|   return caids; |   return caids; | ||||||
| } | } | ||||||
|  |  | ||||||
| cString getCA(int value) |  | ||||||
| { |  | ||||||
|   /* http://www.dvb.org/index.php?id=174 */ |  | ||||||
|   switch (value) { |  | ||||||
|     case 0x0000:            return cString::sprintf("%s", trVDR("Free To Air"));  // Reserved |  | ||||||
|     case 0x0001 ... 0x009F: |  | ||||||
|     case 0x00A2 ... 0x00FF: return cString::sprintf("%s", tr("Fixed"));           // Standardized systems |  | ||||||
|     case 0x00A0 ... 0x00A1: return cString::sprintf("%s", tr("Analog"));          // Analog signals |  | ||||||
|     case 0x0100 ... 0x01FF: return cString::sprintf("%s", tr("SECA/Mediaguard")); // Canal Plus |  | ||||||
|     case 0x0500 ... 0x05FF: return cString::sprintf("%s", tr("Viaccess"));        // France Telecom |  | ||||||
|     case 0x0600 ... 0x06FF: return cString::sprintf("%s", tr("Irdeto"));          // Irdeto |  | ||||||
|     case 0x0900 ... 0x09FF: return cString::sprintf("%s", tr("NDS/Videoguard"));  // News Datacom |  | ||||||
|     case 0x0B00 ... 0x0BFF: return cString::sprintf("%s", tr("Conax"));           // Norwegian Telekom |  | ||||||
|     case 0x0D00 ... 0x0DFF: return cString::sprintf("%s", tr("CryptoWorks"));     // Philips |  | ||||||
|     case 0x0E00 ... 0x0EFF: return cString::sprintf("%s", tr("PowerVu"));         // Scientific Atlanta |  | ||||||
|     case 0x1200 ... 0x12FF: return cString::sprintf("%s", tr("NagraVision"));     // BellVu Express |  | ||||||
|     case 0x1700 ... 0x17FF: return cString::sprintf("%s", tr("BetaCrypt"));       // BetaTechnik |  | ||||||
|     case 0x1800 ... 0x18FF: return cString::sprintf("%s", tr("NagraVision"));     // Kudelski SA |  | ||||||
|     case 0x4A60 ... 0x4A6F: return cString::sprintf("%s", tr("SkyCrypt"));        // @Sky |  | ||||||
|     } |  | ||||||
|   return cString::sprintf("%X", value); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cString getVideoStream(int value) | cString getVideoStream(int value) | ||||||
| { | { | ||||||
|   if (value != 0) |   if (value != 0) | ||||||
| @@ -239,6 +254,7 @@ cString getVideoCodec(int value) | |||||||
|   switch (value) { |   switch (value) { | ||||||
|     case VIDEO_CODEC_MPEG2: return cString::sprintf("%s", tr("MPEG-2")); |     case VIDEO_CODEC_MPEG2: return cString::sprintf("%s", tr("MPEG-2")); | ||||||
|     case VIDEO_CODEC_H264:  return cString::sprintf("%s", tr("H.264")); |     case VIDEO_CODEC_H264:  return cString::sprintf("%s", tr("H.264")); | ||||||
|  |     default:                break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -253,6 +269,7 @@ cString getAudioCodec(int value) | |||||||
|     case AUDIO_CODEC_MPEG2_II:  return cString::sprintf("%s", tr("MPEG-2 Layer II")); |     case AUDIO_CODEC_MPEG2_II:  return cString::sprintf("%s", tr("MPEG-2 Layer II")); | ||||||
|     case AUDIO_CODEC_MPEG2_III: return cString::sprintf("%s", tr("MPEG-2 Layer III")); |     case AUDIO_CODEC_MPEG2_III: return cString::sprintf("%s", tr("MPEG-2 Layer III")); | ||||||
|     case AUDIO_CODEC_HEAAC:     return cString::sprintf("%s", tr("HE-AAC")); |     case AUDIO_CODEC_HEAAC:     return cString::sprintf("%s", tr("HE-AAC")); | ||||||
|  |     default:                    break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -264,6 +281,7 @@ cString getAudioChannelMode(int value) | |||||||
|     case AUDIO_CHANNEL_MODE_JOINT_STEREO: return cString::sprintf("%s", tr("joint Stereo")); |     case AUDIO_CHANNEL_MODE_JOINT_STEREO: return cString::sprintf("%s", tr("joint Stereo")); | ||||||
|     case AUDIO_CHANNEL_MODE_DUAL:         return cString::sprintf("%s", tr("dual")); |     case AUDIO_CHANNEL_MODE_DUAL:         return cString::sprintf("%s", tr("dual")); | ||||||
|     case AUDIO_CHANNEL_MODE_SINGLE:       return cString::sprintf("%s", tr("mono")); |     case AUDIO_CHANNEL_MODE_SINGLE:       return cString::sprintf("%s", tr("mono")); | ||||||
|  |     default:                              break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -271,7 +289,7 @@ cString getAudioChannelMode(int value) | |||||||
| cString getCoderate(int value) | cString getCoderate(int value) | ||||||
| { | { | ||||||
|   switch (value) { |   switch (value) { | ||||||
|     case FEC_NONE: return cString::sprintf("%s", tr("none")); |     case FEC_NONE: return cString::sprintf("%s", trVDR("none")); | ||||||
|     case FEC_1_2:  return cString::sprintf("1/2"); |     case FEC_1_2:  return cString::sprintf("1/2"); | ||||||
|     case FEC_2_3:  return cString::sprintf("2/3"); |     case FEC_2_3:  return cString::sprintf("2/3"); | ||||||
|     case FEC_3_4:  return cString::sprintf("3/4"); |     case FEC_3_4:  return cString::sprintf("3/4"); | ||||||
| @@ -280,7 +298,8 @@ cString getCoderate(int value) | |||||||
|     case FEC_6_7:  return cString::sprintf("6/7"); |     case FEC_6_7:  return cString::sprintf("6/7"); | ||||||
|     case FEC_7_8:  return cString::sprintf("7/8"); |     case FEC_7_8:  return cString::sprintf("7/8"); | ||||||
|     case FEC_8_9:  return cString::sprintf("8/9"); |     case FEC_8_9:  return cString::sprintf("8/9"); | ||||||
|     case FEC_AUTO: return cString::sprintf("%s", tr("auto")); |     case FEC_AUTO: return cString::sprintf("%s", trVDR("auto")); | ||||||
|  |     default:       break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -290,7 +309,8 @@ cString getTransmission(int value) | |||||||
|   switch (value) { |   switch (value) { | ||||||
|     case TRANSMISSION_MODE_2K:   return cString::sprintf("2K"); |     case TRANSMISSION_MODE_2K:   return cString::sprintf("2K"); | ||||||
|     case TRANSMISSION_MODE_8K:   return cString::sprintf("8K"); |     case TRANSMISSION_MODE_8K:   return cString::sprintf("8K"); | ||||||
|     case TRANSMISSION_MODE_AUTO: return cString::sprintf("%s", tr("auto")); |     case TRANSMISSION_MODE_AUTO: return cString::sprintf("%s", trVDR("auto")); | ||||||
|  |     default:                     break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -301,7 +321,8 @@ cString getBandwidth(int value) | |||||||
|     case BANDWIDTH_8_MHZ: return cString::sprintf("8 %s", tr("MHz")); |     case BANDWIDTH_8_MHZ: return cString::sprintf("8 %s", tr("MHz")); | ||||||
|     case BANDWIDTH_7_MHZ: return cString::sprintf("7 %s", tr("MHz")); |     case BANDWIDTH_7_MHZ: return cString::sprintf("7 %s", tr("MHz")); | ||||||
|     case BANDWIDTH_6_MHZ: return cString::sprintf("6 %s", tr("MHz")); |     case BANDWIDTH_6_MHZ: return cString::sprintf("6 %s", tr("MHz")); | ||||||
|     case BANDWIDTH_AUTO:  return cString::sprintf("%s", tr("auto")); |     case BANDWIDTH_AUTO:  return cString::sprintf("%s", trVDR("auto")); | ||||||
|  |     default:              break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -311,7 +332,8 @@ cString getInversion(int value) | |||||||
|   switch (value) { |   switch (value) { | ||||||
|     case INVERSION_OFF:  return cString::sprintf("%s", tr("off")); |     case INVERSION_OFF:  return cString::sprintf("%s", tr("off")); | ||||||
|     case INVERSION_ON:   return cString::sprintf("%s", tr("on")); |     case INVERSION_ON:   return cString::sprintf("%s", tr("on")); | ||||||
|     case INVERSION_AUTO: return cString::sprintf("%s", tr("auto")); |     case INVERSION_AUTO: return cString::sprintf("%s", trVDR("auto")); | ||||||
|  |     default:             break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -319,11 +341,12 @@ cString getInversion(int value) | |||||||
| cString getHierarchy(int value) | cString getHierarchy(int value) | ||||||
| { | { | ||||||
|   switch (value) { |   switch (value) { | ||||||
|     case HIERARCHY_NONE: return cString::sprintf("%s", tr("none")); |     case HIERARCHY_NONE: return cString::sprintf("%s", trVDR("none")); | ||||||
|     case HIERARCHY_1:    return cString::sprintf("1"); |     case HIERARCHY_1:    return cString::sprintf("1"); | ||||||
|     case HIERARCHY_2:    return cString::sprintf("2"); |     case HIERARCHY_2:    return cString::sprintf("2"); | ||||||
|     case HIERARCHY_4:    return cString::sprintf("4"); |     case HIERARCHY_4:    return cString::sprintf("4"); | ||||||
|     case HIERARCHY_AUTO: cString::sprintf("%s", tr("auto")); |     case HIERARCHY_AUTO: return cString::sprintf("%s", trVDR("auto")); | ||||||
|  |     default:             break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -335,7 +358,8 @@ cString getGuard(int value) | |||||||
|     case GUARD_INTERVAL_1_16: return cString::sprintf("1/16"); |     case GUARD_INTERVAL_1_16: return cString::sprintf("1/16"); | ||||||
|     case GUARD_INTERVAL_1_8:  return cString::sprintf("1/8"); |     case GUARD_INTERVAL_1_8:  return cString::sprintf("1/8"); | ||||||
|     case GUARD_INTERVAL_1_4:  return cString::sprintf("1/4"); |     case GUARD_INTERVAL_1_4:  return cString::sprintf("1/4"); | ||||||
|     case GUARD_INTERVAL_AUTO: cString::sprintf("%s", tr("auto")); |     case GUARD_INTERVAL_AUTO: return cString::sprintf("%s", trVDR("auto")); | ||||||
|  |     default:                  break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -349,31 +373,12 @@ cString getModulation(int value) | |||||||
|     case QAM_64:   return cString::sprintf("QAM 64"); |     case QAM_64:   return cString::sprintf("QAM 64"); | ||||||
|     case QAM_128:  return cString::sprintf("QAM 128"); |     case QAM_128:  return cString::sprintf("QAM 128"); | ||||||
|     case QAM_256:  return cString::sprintf("QAM 256"); |     case QAM_256:  return cString::sprintf("QAM 256"); | ||||||
|     case QAM_AUTO: return cString::sprintf("QAM %s", tr("auto")); |     case QAM_AUTO: return cString::sprintf("QAM %s", trVDR("auto")); | ||||||
|  |     default:       break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
|  |  | ||||||
| cString getAlpha(int value) |  | ||||||
| { |  | ||||||
|   return cString::sprintf("---"); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cString getPriority(int value) |  | ||||||
| { |  | ||||||
|   return cString::sprintf("---"); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cString getSystem(int value) |  | ||||||
| { |  | ||||||
|   return cString::sprintf("---"); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cString getRollOff(int value) |  | ||||||
| { |  | ||||||
|   return cString::sprintf("---"); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cString getResolution(int width, int height, int scan) | cString getResolution(int width, int height, int scan) | ||||||
| { | { | ||||||
|   if ((width > 0) && (height > 0)) { |   if ((width > 0) && (height > 0)) { | ||||||
| @@ -409,6 +414,7 @@ cString getAspectRatio(int value) | |||||||
|     case VIDEO_ASPECT_RATIO_160_99:   return cString::sprintf("160:99"); |     case VIDEO_ASPECT_RATIO_160_99:   return cString::sprintf("160:99"); | ||||||
|     case VIDEO_ASPECT_RATIO_3_2:      return cString::sprintf("3:2"); |     case VIDEO_ASPECT_RATIO_3_2:      return cString::sprintf("3:2"); | ||||||
|     case VIDEO_ASPECT_RATIO_2_1:      return cString::sprintf("2:1"); |     case VIDEO_ASPECT_RATIO_2_1:      return cString::sprintf("2:1"); | ||||||
|  |     default:                          break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -423,6 +429,7 @@ cString getVideoFormat(int value) | |||||||
|     case VIDEO_FORMAT_NTSC:      return cString::sprintf("%s", tr("NTSC")); |     case VIDEO_FORMAT_NTSC:      return cString::sprintf("%s", tr("NTSC")); | ||||||
|     case VIDEO_FORMAT_SECAM:     return cString::sprintf("%s", tr("SECAM")); |     case VIDEO_FORMAT_SECAM:     return cString::sprintf("%s", tr("SECAM")); | ||||||
|     case VIDEO_FORMAT_MAC:       return cString::sprintf("%s", tr("MAC")); |     case VIDEO_FORMAT_MAC:       return cString::sprintf("%s", tr("MAC")); | ||||||
|  |     default:                     break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -445,6 +452,7 @@ cString getAC3BitStreamMode(int value, int coding) | |||||||
|     case AUDIO_BITSTREAM_MODE_C:      return cString::sprintf("%s", tr("Commentary (C)")); |     case AUDIO_BITSTREAM_MODE_C:      return cString::sprintf("%s", tr("Commentary (C)")); | ||||||
|     case AUDIO_BITSTREAM_MODE_E:      return cString::sprintf("%s", tr("Emergency (E)")); |     case AUDIO_BITSTREAM_MODE_E:      return cString::sprintf("%s", tr("Emergency (E)")); | ||||||
|     case AUDIO_BITSTREAM_MODE_VO_KAR: return cString::sprintf("%s", (coding == 1) ? tr("Voice Over (VO)") : tr("Karaoke")); |     case AUDIO_BITSTREAM_MODE_VO_KAR: return cString::sprintf("%s", (coding == 1) ? tr("Voice Over (VO)") : tr("Karaoke")); | ||||||
|  |     default:                          break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -461,6 +469,7 @@ cString getAC3AudioCodingMode(int value, int stream) | |||||||
|        case AUDIO_CODING_MODE_3_1: return cString::sprintf("3/1 - %s, %s, %s, %s", tr("L"), tr("C"), tr("R"), tr("S")); |        case AUDIO_CODING_MODE_3_1: return cString::sprintf("3/1 - %s, %s, %s, %s", tr("L"), tr("C"), tr("R"), tr("S")); | ||||||
|        case AUDIO_CODING_MODE_2_2: return cString::sprintf("2/2 - %s, %s, %s, %s", tr("L"), tr("R"), tr("SL"), tr("SR")); |        case AUDIO_CODING_MODE_2_2: return cString::sprintf("2/2 - %s, %s, %s, %s", tr("L"), tr("R"), tr("SL"), tr("SR")); | ||||||
|        case AUDIO_CODING_MODE_3_2: return cString::sprintf("3/2 - %s, %s, %s, %s, %s", tr("L"), tr("C"), tr("R"), tr("SL"), tr("SR")); |        case AUDIO_CODING_MODE_3_2: return cString::sprintf("3/2 - %s, %s, %s, %s, %s", tr("L"), tr("C"), tr("R"), tr("SL"), tr("SR")); | ||||||
|  |        default:                    break; | ||||||
|        } |        } | ||||||
|      } |      } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| @@ -473,6 +482,7 @@ cString getAC3CenterMixLevel(int value) | |||||||
|     case AUDIO_CENTER_MIX_LEVEL_MINUS_4_5dB: return cString::sprintf("-4.5 %s", tr("dB")); |     case AUDIO_CENTER_MIX_LEVEL_MINUS_4_5dB: return cString::sprintf("-4.5 %s", tr("dB")); | ||||||
|     case AUDIO_CENTER_MIX_LEVEL_MINUS_6dB:   return cString::sprintf("-6.0 %s", tr("dB")); |     case AUDIO_CENTER_MIX_LEVEL_MINUS_6dB:   return cString::sprintf("-6.0 %s", tr("dB")); | ||||||
|     case AUDIO_CENTER_MIX_LEVEL_RESERVED:    return cString::sprintf("%s", tr("reserved")); |     case AUDIO_CENTER_MIX_LEVEL_RESERVED:    return cString::sprintf("%s", tr("reserved")); | ||||||
|  |     default:                                 break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -484,6 +494,7 @@ cString getAC3SurroundMixLevel(int value) | |||||||
|     case AUDIO_SURROUND_MIX_LEVEL_MINUS_6dB: return cString::sprintf("-6 %s", tr("dB")); |     case AUDIO_SURROUND_MIX_LEVEL_MINUS_6dB: return cString::sprintf("-6 %s", tr("dB")); | ||||||
|     case AUDIO_SURROUND_MIX_LEVEL_0_dB:      return cString::sprintf("0 %s", tr("dB")); |     case AUDIO_SURROUND_MIX_LEVEL_0_dB:      return cString::sprintf("0 %s", tr("dB")); | ||||||
|     case AUDIO_SURROUND_MIX_LEVEL_RESERVED:  return cString::sprintf("%s", tr("reserved")); |     case AUDIO_SURROUND_MIX_LEVEL_RESERVED:  return cString::sprintf("%s", tr("reserved")); | ||||||
|  |     default:                                 break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -495,6 +506,7 @@ cString getAC3DolbySurroundMode(int value) | |||||||
|     case AUDIO_DOLBY_SURROUND_MODE_NOT_DOLBYSURROUND: return cString::sprintf("%s", trVDR("no")); |     case AUDIO_DOLBY_SURROUND_MODE_NOT_DOLBYSURROUND: return cString::sprintf("%s", trVDR("no")); | ||||||
|     case AUDIO_DOLBY_SURROUND_MODE_DOLBYSURROUND:     return cString::sprintf("%s", trVDR("yes")); |     case AUDIO_DOLBY_SURROUND_MODE_DOLBYSURROUND:     return cString::sprintf("%s", trVDR("yes")); | ||||||
|     case AUDIO_DOLBY_SURROUND_MODE_RESERVED:          return cString::sprintf("%s", tr("reserved")); |     case AUDIO_DOLBY_SURROUND_MODE_RESERVED:          return cString::sprintf("%s", tr("reserved")); | ||||||
|  |     default:                                          break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("---"); |   return cString::sprintf("---"); | ||||||
| } | } | ||||||
| @@ -517,6 +529,7 @@ cString getAudioSamplingFreq(int value) | |||||||
|   switch (value) { |   switch (value) { | ||||||
|     case AUDIO_SAMPLING_FREQUENCY_INVALID:  return cString::sprintf("---"); |     case AUDIO_SAMPLING_FREQUENCY_INVALID:  return cString::sprintf("---"); | ||||||
|     case AUDIO_SAMPLING_FREQUENCY_RESERVED: return cString::sprintf("%s", tr("reserved")); |     case AUDIO_SAMPLING_FREQUENCY_RESERVED: return cString::sprintf("%s", tr("reserved")); | ||||||
|  |     default:                                break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("%d %s", value, tr("Hz")); |   return cString::sprintf("%d %s", value, tr("Hz")); | ||||||
| } | } | ||||||
| @@ -527,6 +540,7 @@ cString getAudioBitrate(double value, double stream) | |||||||
|     case AUDIO_BITRATE_INVALID:  return cString::sprintf("---"); |     case AUDIO_BITRATE_INVALID:  return cString::sprintf("---"); | ||||||
|     case AUDIO_BITRATE_RESERVED: return cString::sprintf("%s (%s)", tr("reserved"), *getBitrateKbits(value)); |     case AUDIO_BITRATE_RESERVED: return cString::sprintf("%s (%s)", tr("reserved"), *getBitrateKbits(value)); | ||||||
|     case AUDIO_BITRATE_FREE:     return cString::sprintf("%s (%s)", tr("free"), *getBitrateKbits(value)); |     case AUDIO_BITRATE_FREE:     return cString::sprintf("%s (%s)", tr("free"), *getBitrateKbits(value)); | ||||||
|  |     default:                     break; | ||||||
|     } |     } | ||||||
|   return cString::sprintf("%s (%s)", *getBitrateKbits(stream), *getBitrateKbits(value)); |   return cString::sprintf("%s (%s)", *getBitrateKbits(stream), *getBitrateKbits(value)); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -35,8 +35,7 @@ uint32_t getUNC(int cardIndex = 0); | |||||||
| cString getApids(const cChannel *channel); | cString getApids(const cChannel *channel); | ||||||
| cString getDpids(const cChannel *channel); | cString getDpids(const cChannel *channel); | ||||||
| cString getSpids(const cChannel *channel); | cString getSpids(const cChannel *channel); | ||||||
| cString getCAids(const cChannel *channel, bool identify = false); | cString getCAids(const cChannel *channel); | ||||||
| cString getCA(int value); |  | ||||||
| cString getVideoStream(int value); | cString getVideoStream(int value); | ||||||
| cString getVideoCodec(int value); | cString getVideoCodec(int value); | ||||||
| cString getAudioStream(int value, const cChannel *channel); | cString getAudioStream(int value, const cChannel *channel); | ||||||
| @@ -49,10 +48,6 @@ cString getInversion(int value); | |||||||
| cString getHierarchy(int value); | cString getHierarchy(int value); | ||||||
| cString getGuard(int value); | cString getGuard(int value); | ||||||
| cString getModulation(int value); | cString getModulation(int value); | ||||||
| cString getAlpha(int value); |  | ||||||
| cString getPriority(int value); |  | ||||||
| cString getSystem(int value); |  | ||||||
| cString getRollOff(int value); |  | ||||||
| cString getResolution(int width, int height, int scan); | cString getResolution(int width, int height, int scan); | ||||||
| cString getAspectRatio(int value); | cString getAspectRatio(int value); | ||||||
| cString getVideoFormat(int value); | cString getVideoFormat(int value); | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								po/de_DE.po
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								po/de_DE.po
									
									
									
									
									
								
							| @@ -7,9 +7,9 @@ | |||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: femon 1.6.4\n" | "Project-Id-Version: femon 1.6.5\n" | ||||||
| "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | ||||||
| "POT-Creation-Date: 2008-11-09 13:31+0200\n" | "POT-Creation-Date: 2008-12-16 12:08+0200\n" | ||||||
| "PO-Revision-Date: 2007-08-12 23:22+0300\n" | "PO-Revision-Date: 2007-08-12 23:22+0300\n" | ||||||
| "Last-Translator: Christian Wieninger\n" | "Last-Translator: Christian Wieninger\n" | ||||||
| "Language-Team: <vdr@linuxtv.org>\n" | "Language-Team: <vdr@linuxtv.org>\n" | ||||||
| @@ -98,12 +98,6 @@ msgstr "Horizontaler Offset" | |||||||
| msgid "Define the horizontal offset of OSD." | msgid "Define the horizontal offset of OSD." | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "Show CA system" |  | ||||||
| msgstr "CA System anzeigen" |  | ||||||
|  |  | ||||||
| msgid "Define whether the CA system is shown as text." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "Red limit [%]" | msgid "Red limit [%]" | ||||||
| msgstr "Grenze Rot [%]" | msgstr "Grenze Rot [%]" | ||||||
|  |  | ||||||
| @@ -182,15 +176,6 @@ msgstr "Tid" | |||||||
| msgid "Rid" | msgid "Rid" | ||||||
| msgstr "Rid" | msgstr "Rid" | ||||||
|  |  | ||||||
| msgid "Satellite Card" |  | ||||||
| msgstr "Satellitenkarte" |  | ||||||
|  |  | ||||||
| msgid "Cable Card" |  | ||||||
| msgstr "Kabelkarte" |  | ||||||
|  |  | ||||||
| msgid "Terrestrial Card" |  | ||||||
| msgstr "Terrestrische Karte" |  | ||||||
|  |  | ||||||
| msgid "Coderate" | msgid "Coderate" | ||||||
| msgstr "Coderate" | msgstr "Coderate" | ||||||
|  |  | ||||||
| @@ -263,36 +248,6 @@ msgstr "Fest" | |||||||
| msgid "Analog" | msgid "Analog" | ||||||
| msgstr "Analog" | msgstr "Analog" | ||||||
|  |  | ||||||
| msgid "SECA/Mediaguard" |  | ||||||
| msgstr "SECA/Mediaguard" |  | ||||||
|  |  | ||||||
| msgid "Viaccess" |  | ||||||
| msgstr "Viaccess" |  | ||||||
|  |  | ||||||
| msgid "Irdeto" |  | ||||||
| msgstr "Irdeto" |  | ||||||
|  |  | ||||||
| msgid "NDS/Videoguard" |  | ||||||
| msgstr "NDS/Videoguard" |  | ||||||
|  |  | ||||||
| msgid "Conax" |  | ||||||
| msgstr "Conax" |  | ||||||
|  |  | ||||||
| msgid "CryptoWorks" |  | ||||||
| msgstr "CryptoWorks" |  | ||||||
|  |  | ||||||
| msgid "PowerVu" |  | ||||||
| msgstr "PowerVu" |  | ||||||
|  |  | ||||||
| msgid "NagraVision" |  | ||||||
| msgstr "NagraVision" |  | ||||||
|  |  | ||||||
| msgid "BetaCrypt" |  | ||||||
| msgstr "BetaCrypt" |  | ||||||
|  |  | ||||||
| msgid "SkyCrypt" |  | ||||||
| msgstr "SkyCrypt" |  | ||||||
|  |  | ||||||
| msgid "MPEG-2" | msgid "MPEG-2" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -332,12 +287,6 @@ msgstr "" | |||||||
| msgid "mono" | msgid "mono" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "none" |  | ||||||
| msgstr "Nichts" |  | ||||||
|  |  | ||||||
| msgid "auto" |  | ||||||
| msgstr "Auto" |  | ||||||
|  |  | ||||||
| msgid "MHz" | msgid "MHz" | ||||||
| msgstr "MHz" | msgstr "MHz" | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								po/es_ES.po
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								po/es_ES.po
									
									
									
									
									
								
							| @@ -5,9 +5,9 @@ | |||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: femon 1.6.4\n" | "Project-Id-Version: femon 1.6.5\n" | ||||||
| "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | ||||||
| "POT-Creation-Date: 2008-11-09 13:31+0200\n" | "POT-Creation-Date: 2008-12-16 12:08+0200\n" | ||||||
| "PO-Revision-Date: 2007-08-12 23:22+0300\n" | "PO-Revision-Date: 2007-08-12 23:22+0300\n" | ||||||
| "Last-Translator: Luis Palacios\n" | "Last-Translator: Luis Palacios\n" | ||||||
| "Language-Team: <vdr@linuxtv.org>\n" | "Language-Team: <vdr@linuxtv.org>\n" | ||||||
| @@ -96,12 +96,6 @@ msgstr "Desplazamiento horizontal" | |||||||
| msgid "Define the horizontal offset of OSD." | msgid "Define the horizontal offset of OSD." | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "Show CA system" |  | ||||||
| msgstr "Mostrar sistema CA" |  | ||||||
|  |  | ||||||
| msgid "Define whether the CA system is shown as text." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "Red limit [%]" | msgid "Red limit [%]" | ||||||
| msgstr "L<>mite de rojo [%s]" | msgstr "L<>mite de rojo [%s]" | ||||||
|  |  | ||||||
| @@ -180,15 +174,6 @@ msgstr "Tid" | |||||||
| msgid "Rid" | msgid "Rid" | ||||||
| msgstr "Rid" | msgstr "Rid" | ||||||
|  |  | ||||||
| msgid "Satellite Card" |  | ||||||
| msgstr "Tarjeta Sat<61>lite" |  | ||||||
|  |  | ||||||
| msgid "Cable Card" |  | ||||||
| msgstr "Tarjeta Cable" |  | ||||||
|  |  | ||||||
| msgid "Terrestrial Card" |  | ||||||
| msgstr "Tarjeta TDT" |  | ||||||
|  |  | ||||||
| msgid "Coderate" | msgid "Coderate" | ||||||
| msgstr "Coderate" | msgstr "Coderate" | ||||||
|  |  | ||||||
| @@ -261,36 +246,6 @@ msgstr "Fijo" | |||||||
| msgid "Analog" | msgid "Analog" | ||||||
| msgstr "Anal<61>gico" | msgstr "Anal<61>gico" | ||||||
|  |  | ||||||
| msgid "SECA/Mediaguard" |  | ||||||
| msgstr "SECA/Mediguard" |  | ||||||
|  |  | ||||||
| msgid "Viaccess" |  | ||||||
| msgstr "Viaccess" |  | ||||||
|  |  | ||||||
| msgid "Irdeto" |  | ||||||
| msgstr "Irdeto" |  | ||||||
|  |  | ||||||
| msgid "NDS/Videoguard" |  | ||||||
| msgstr "NDS/Videoguard" |  | ||||||
|  |  | ||||||
| msgid "Conax" |  | ||||||
| msgstr "Conax" |  | ||||||
|  |  | ||||||
| msgid "CryptoWorks" |  | ||||||
| msgstr "CryptoWorks" |  | ||||||
|  |  | ||||||
| msgid "PowerVu" |  | ||||||
| msgstr "PowerVu" |  | ||||||
|  |  | ||||||
| msgid "NagraVision" |  | ||||||
| msgstr "NagraVision" |  | ||||||
|  |  | ||||||
| msgid "BetaCrypt" |  | ||||||
| msgstr "BetaCrypt" |  | ||||||
|  |  | ||||||
| msgid "SkyCrypt" |  | ||||||
| msgstr "SkyCrypt" |  | ||||||
|  |  | ||||||
| msgid "MPEG-2" | msgid "MPEG-2" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -330,12 +285,6 @@ msgstr "" | |||||||
| msgid "mono" | msgid "mono" | ||||||
| msgstr "o" | msgstr "o" | ||||||
|  |  | ||||||
| msgid "none" |  | ||||||
| msgstr "ninguno" |  | ||||||
|  |  | ||||||
| msgid "auto" |  | ||||||
| msgstr "auto" |  | ||||||
|  |  | ||||||
| msgid "MHz" | msgid "MHz" | ||||||
| msgstr "MHz" | msgstr "MHz" | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								po/et_EE.po
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								po/et_EE.po
									
									
									
									
									
								
							| @@ -5,9 +5,9 @@ | |||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: femon 1.6.4\n" | "Project-Id-Version: femon 1.6.5\n" | ||||||
| "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | ||||||
| "POT-Creation-Date: 2008-11-09 13:31+0200\n" | "POT-Creation-Date: 2008-12-16 12:08+0200\n" | ||||||
| "PO-Revision-Date: 2007-08-12 23:22+0300\n" | "PO-Revision-Date: 2007-08-12 23:22+0300\n" | ||||||
| "Last-Translator: Arthur Konovalov\n" | "Last-Translator: Arthur Konovalov\n" | ||||||
| "Language-Team: <vdr@linuxtv.org>\n" | "Language-Team: <vdr@linuxtv.org>\n" | ||||||
| @@ -96,12 +96,6 @@ msgstr "Horisontaalne nihe" | |||||||
| msgid "Define the horizontal offset of OSD." | msgid "Define the horizontal offset of OSD." | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "Show CA system" |  | ||||||
| msgstr "N<>ita CA s<>steemi" |  | ||||||
|  |  | ||||||
| msgid "Define whether the CA system is shown as text." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "Red limit [%]" | msgid "Red limit [%]" | ||||||
| msgstr "Punase limiit [%]" | msgstr "Punase limiit [%]" | ||||||
|  |  | ||||||
| @@ -180,15 +174,6 @@ msgstr "Tid" | |||||||
| msgid "Rid" | msgid "Rid" | ||||||
| msgstr "Rid" | msgstr "Rid" | ||||||
|  |  | ||||||
| msgid "Satellite Card" |  | ||||||
| msgstr "Satelliidikaart" |  | ||||||
|  |  | ||||||
| msgid "Cable Card" |  | ||||||
| msgstr "Kaablikaart" |  | ||||||
|  |  | ||||||
| msgid "Terrestrial Card" |  | ||||||
| msgstr "Terrestiaalkaart" |  | ||||||
|  |  | ||||||
| msgid "Coderate" | msgid "Coderate" | ||||||
| msgstr "Coderate" | msgstr "Coderate" | ||||||
|  |  | ||||||
| @@ -261,36 +246,6 @@ msgstr "Fikseeritud" | |||||||
| msgid "Analog" | msgid "Analog" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "SECA/Mediaguard" |  | ||||||
| msgstr "SECA/Mediaguard" |  | ||||||
|  |  | ||||||
| msgid "Viaccess" |  | ||||||
| msgstr "Viaccess" |  | ||||||
|  |  | ||||||
| msgid "Irdeto" |  | ||||||
| msgstr "Irdeto" |  | ||||||
|  |  | ||||||
| msgid "NDS/Videoguard" |  | ||||||
| msgstr "NDS/Videoguard" |  | ||||||
|  |  | ||||||
| msgid "Conax" |  | ||||||
| msgstr "Conax" |  | ||||||
|  |  | ||||||
| msgid "CryptoWorks" |  | ||||||
| msgstr "CryptoWorks" |  | ||||||
|  |  | ||||||
| msgid "PowerVu" |  | ||||||
| msgstr "PowerVu" |  | ||||||
|  |  | ||||||
| msgid "NagraVision" |  | ||||||
| msgstr "NagraVision" |  | ||||||
|  |  | ||||||
| msgid "BetaCrypt" |  | ||||||
| msgstr "BetaCrypt" |  | ||||||
|  |  | ||||||
| msgid "SkyCrypt" |  | ||||||
| msgstr "SkyCrypt" |  | ||||||
|  |  | ||||||
| msgid "MPEG-2" | msgid "MPEG-2" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -330,12 +285,6 @@ msgstr "" | |||||||
| msgid "mono" | msgid "mono" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "none" |  | ||||||
| msgstr "ei" |  | ||||||
|  |  | ||||||
| msgid "auto" |  | ||||||
| msgstr "auto" |  | ||||||
|  |  | ||||||
| msgid "MHz" | msgid "MHz" | ||||||
| msgstr "MHz" | msgstr "MHz" | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								po/fi_FI.po
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								po/fi_FI.po
									
									
									
									
									
								
							| @@ -5,9 +5,9 @@ | |||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: femon 1.6.4\n" | "Project-Id-Version: femon 1.6.5\n" | ||||||
| "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | ||||||
| "POT-Creation-Date: 2008-11-09 13:31+0200\n" | "POT-Creation-Date: 2008-12-16 12:08+0200\n" | ||||||
| "PO-Revision-Date: 2007-08-12 23:22+0300\n" | "PO-Revision-Date: 2007-08-12 23:22+0300\n" | ||||||
| "Last-Translator: Rolf Ahrenberg\n" | "Last-Translator: Rolf Ahrenberg\n" | ||||||
| "Language-Team: <vdr@linuxtv.org>\n" | "Language-Team: <vdr@linuxtv.org>\n" | ||||||
| @@ -96,12 +96,6 @@ msgstr "Vaakakeskitys" | |||||||
| msgid "Define the horizontal offset of OSD." | msgid "Define the horizontal offset of OSD." | ||||||
| msgstr "Määrittele näytön vaakakeskitys." | msgstr "Määrittele näytön vaakakeskitys." | ||||||
|  |  | ||||||
| msgid "Show CA system" |  | ||||||
| msgstr "Näytä salausjärjestelmä" |  | ||||||
|  |  | ||||||
| msgid "Define whether the CA system is shown as text." |  | ||||||
| msgstr "Määrittele, näytetään salausjärjestelmä tekstinä." |  | ||||||
|  |  | ||||||
| msgid "Red limit [%]" | msgid "Red limit [%]" | ||||||
| msgstr "Punaisen taso [%]" | msgstr "Punaisen taso [%]" | ||||||
|  |  | ||||||
| @@ -180,15 +174,6 @@ msgstr "Lähete-ID" | |||||||
| msgid "Rid" | msgid "Rid" | ||||||
| msgstr "Radio-ID" | msgstr "Radio-ID" | ||||||
|  |  | ||||||
| msgid "Satellite Card" |  | ||||||
| msgstr "Satelliittikortti" |  | ||||||
|  |  | ||||||
| msgid "Cable Card" |  | ||||||
| msgstr "Kaapelikortti" |  | ||||||
|  |  | ||||||
| msgid "Terrestrial Card" |  | ||||||
| msgstr "Terrestriaalikortti" |  | ||||||
|  |  | ||||||
| msgid "Coderate" | msgid "Coderate" | ||||||
| msgstr "Suojaustaso" | msgstr "Suojaustaso" | ||||||
|  |  | ||||||
| @@ -261,36 +246,6 @@ msgstr "kiinteä" | |||||||
| msgid "Analog" | msgid "Analog" | ||||||
| msgstr "analoginen" | msgstr "analoginen" | ||||||
|  |  | ||||||
| msgid "SECA/Mediaguard" |  | ||||||
| msgstr "SECA/Mediaguard" |  | ||||||
|  |  | ||||||
| msgid "Viaccess" |  | ||||||
| msgstr "Viaccess" |  | ||||||
|  |  | ||||||
| msgid "Irdeto" |  | ||||||
| msgstr "Irdeto" |  | ||||||
|  |  | ||||||
| msgid "NDS/Videoguard" |  | ||||||
| msgstr "NDS/Videoguard" |  | ||||||
|  |  | ||||||
| msgid "Conax" |  | ||||||
| msgstr "Conax" |  | ||||||
|  |  | ||||||
| msgid "CryptoWorks" |  | ||||||
| msgstr "CryptoWorks" |  | ||||||
|  |  | ||||||
| msgid "PowerVu" |  | ||||||
| msgstr "PowerVu" |  | ||||||
|  |  | ||||||
| msgid "NagraVision" |  | ||||||
| msgstr "NagraVision" |  | ||||||
|  |  | ||||||
| msgid "BetaCrypt" |  | ||||||
| msgstr "BetaCrypt" |  | ||||||
|  |  | ||||||
| msgid "SkyCrypt" |  | ||||||
| msgstr "SkyCrypt" |  | ||||||
|  |  | ||||||
| msgid "MPEG-2" | msgid "MPEG-2" | ||||||
| msgstr "MPEG-2" | msgstr "MPEG-2" | ||||||
|  |  | ||||||
| @@ -330,12 +285,6 @@ msgstr "kaksikanavainen" | |||||||
| msgid "mono" | msgid "mono" | ||||||
| msgstr "mono" | msgstr "mono" | ||||||
|  |  | ||||||
| msgid "none" |  | ||||||
| msgstr "ei" |  | ||||||
|  |  | ||||||
| msgid "auto" |  | ||||||
| msgstr "auto" |  | ||||||
|  |  | ||||||
| msgid "MHz" | msgid "MHz" | ||||||
| msgstr "MHz" | msgstr "MHz" | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								po/fr_FR.po
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								po/fr_FR.po
									
									
									
									
									
								
							| @@ -5,9 +5,9 @@ | |||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: femon 1.6.4\n" | "Project-Id-Version: femon 1.6.5\n" | ||||||
| "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | ||||||
| "POT-Creation-Date: 2008-11-09 13:31+0200\n" | "POT-Creation-Date: 2008-12-16 12:08+0200\n" | ||||||
| "PO-Revision-Date: 2008-01-26 09:59+0100\n" | "PO-Revision-Date: 2008-01-26 09:59+0100\n" | ||||||
| "Last-Translator: NIVAL Micha<68>l <mnival@club-internet.fr>\n" | "Last-Translator: NIVAL Micha<68>l <mnival@club-internet.fr>\n" | ||||||
| "Language-Team:  <vdr@linuxtv.org>\n" | "Language-Team:  <vdr@linuxtv.org>\n" | ||||||
| @@ -96,12 +96,6 @@ msgstr "D | |||||||
| msgid "Define the horizontal offset of OSD." | msgid "Define the horizontal offset of OSD." | ||||||
| msgstr "D<>finit le d<>placement horizontal de l'OSD." | msgstr "D<>finit le d<>placement horizontal de l'OSD." | ||||||
|  |  | ||||||
| msgid "Show CA system" |  | ||||||
| msgstr "Afficher syst<73>me CA" |  | ||||||
|  |  | ||||||
| msgid "Define whether the CA system is shown as text." |  | ||||||
| msgstr "D<>finit si le syst<73>me CA doit <20>tre affich<63>." |  | ||||||
|  |  | ||||||
| msgid "Red limit [%]" | msgid "Red limit [%]" | ||||||
| msgstr "Limite du rouge (%)" | msgstr "Limite du rouge (%)" | ||||||
|  |  | ||||||
| @@ -180,15 +174,6 @@ msgstr "Tid" | |||||||
| msgid "Rid" | msgid "Rid" | ||||||
| msgstr "Rid" | msgstr "Rid" | ||||||
|  |  | ||||||
| msgid "Satellite Card" |  | ||||||
| msgstr "Carte Satellite" |  | ||||||
|  |  | ||||||
| msgid "Cable Card" |  | ||||||
| msgstr "Carte C<>ble" |  | ||||||
|  |  | ||||||
| msgid "Terrestrial Card" |  | ||||||
| msgstr "Carte TNT" |  | ||||||
|  |  | ||||||
| msgid "Coderate" | msgid "Coderate" | ||||||
| msgstr "Coderate" | msgstr "Coderate" | ||||||
|  |  | ||||||
| @@ -261,36 +246,6 @@ msgstr "Fixe" | |||||||
| msgid "Analog" | msgid "Analog" | ||||||
| msgstr "Analogique" | msgstr "Analogique" | ||||||
|  |  | ||||||
| msgid "SECA/Mediaguard" |  | ||||||
| msgstr "SECA/Mediaguard" |  | ||||||
|  |  | ||||||
| msgid "Viaccess" |  | ||||||
| msgstr "Viaccess" |  | ||||||
|  |  | ||||||
| msgid "Irdeto" |  | ||||||
| msgstr "Irdeto" |  | ||||||
|  |  | ||||||
| msgid "NDS/Videoguard" |  | ||||||
| msgstr "NDS/Videoguard" |  | ||||||
|  |  | ||||||
| msgid "Conax" |  | ||||||
| msgstr "Conax" |  | ||||||
|  |  | ||||||
| msgid "CryptoWorks" |  | ||||||
| msgstr "CryptoWorks" |  | ||||||
|  |  | ||||||
| msgid "PowerVu" |  | ||||||
| msgstr "PowerVu" |  | ||||||
|  |  | ||||||
| msgid "NagraVision" |  | ||||||
| msgstr "NagraVision" |  | ||||||
|  |  | ||||||
| msgid "BetaCrypt" |  | ||||||
| msgstr "BetaCrypt" |  | ||||||
|  |  | ||||||
| msgid "SkyCrypt" |  | ||||||
| msgstr "SkyCrypt" |  | ||||||
|  |  | ||||||
| msgid "MPEG-2" | msgid "MPEG-2" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -330,12 +285,6 @@ msgstr "" | |||||||
| msgid "mono" | msgid "mono" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "none" |  | ||||||
| msgstr "Aucun" |  | ||||||
|  |  | ||||||
| msgid "auto" |  | ||||||
| msgstr "Auto" |  | ||||||
|  |  | ||||||
| msgid "MHz" | msgid "MHz" | ||||||
| msgstr "MHz" | msgstr "MHz" | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								po/it_IT.po
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								po/it_IT.po
									
									
									
									
									
								
							| @@ -6,9 +6,9 @@ | |||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: femon 1.6.4\n" | "Project-Id-Version: femon 1.6.5\n" | ||||||
| "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | ||||||
| "POT-Creation-Date: 2008-11-09 13:31+0200\n" | "POT-Creation-Date: 2008-12-16 12:08+0200\n" | ||||||
| "PO-Revision-Date: 2008-11-10 23:37+0100\n" | "PO-Revision-Date: 2008-11-10 23:37+0100\n" | ||||||
| "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" | "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" | ||||||
| "Language-Team:  <vdr@linuxtv.org>\n" | "Language-Team:  <vdr@linuxtv.org>\n" | ||||||
| @@ -97,12 +97,6 @@ msgstr "Limite orizzontale" | |||||||
| msgid "Define the horizontal offset of OSD." | msgid "Define the horizontal offset of OSD." | ||||||
| msgstr "Definisci il limite orizzontale dell'OSD." | msgstr "Definisci il limite orizzontale dell'OSD." | ||||||
|  |  | ||||||
| msgid "Show CA system" |  | ||||||
| msgstr "Mostra sistema CA" |  | ||||||
|  |  | ||||||
| msgid "Define whether the CA system is shown as text." |  | ||||||
| msgstr "Definisci se il sistema CA viene mostrato come testo." |  | ||||||
|  |  | ||||||
| msgid "Red limit [%]" | msgid "Red limit [%]" | ||||||
| msgstr "Limite rosso [%]" | msgstr "Limite rosso [%]" | ||||||
|  |  | ||||||
| @@ -181,15 +175,6 @@ msgstr "Tid" | |||||||
| msgid "Rid" | msgid "Rid" | ||||||
| msgstr "Rid" | msgstr "Rid" | ||||||
|  |  | ||||||
| msgid "Satellite Card" |  | ||||||
| msgstr "Scheda satellite" |  | ||||||
|  |  | ||||||
| msgid "Cable Card" |  | ||||||
| msgstr "Scheda via cavo" |  | ||||||
|  |  | ||||||
| msgid "Terrestrial Card" |  | ||||||
| msgstr "Scheda terrestre" |  | ||||||
|  |  | ||||||
| msgid "Coderate" | msgid "Coderate" | ||||||
| msgstr "Coderate" | msgstr "Coderate" | ||||||
|  |  | ||||||
| @@ -262,36 +247,6 @@ msgstr "Fisso" | |||||||
| msgid "Analog" | msgid "Analog" | ||||||
| msgstr "Analogico" | msgstr "Analogico" | ||||||
|  |  | ||||||
| msgid "SECA/Mediaguard" |  | ||||||
| msgstr "SECA/Mediaguard" |  | ||||||
|  |  | ||||||
| msgid "Viaccess" |  | ||||||
| msgstr "Viaccess" |  | ||||||
|  |  | ||||||
| msgid "Irdeto" |  | ||||||
| msgstr "Irdeto" |  | ||||||
|  |  | ||||||
| msgid "NDS/Videoguard" |  | ||||||
| msgstr "NDS/Videoguard" |  | ||||||
|  |  | ||||||
| msgid "Conax" |  | ||||||
| msgstr "Conax" |  | ||||||
|  |  | ||||||
| msgid "CryptoWorks" |  | ||||||
| msgstr "CryptoWorks" |  | ||||||
|  |  | ||||||
| msgid "PowerVu" |  | ||||||
| msgstr "PowerVu" |  | ||||||
|  |  | ||||||
| msgid "NagraVision" |  | ||||||
| msgstr "NagraVision" |  | ||||||
|  |  | ||||||
| msgid "BetaCrypt" |  | ||||||
| msgstr "BetaCrypt" |  | ||||||
|  |  | ||||||
| msgid "SkyCrypt" |  | ||||||
| msgstr "SkyCrypt" |  | ||||||
|  |  | ||||||
| msgid "MPEG-2" | msgid "MPEG-2" | ||||||
| msgstr "MPEG-2" | msgstr "MPEG-2" | ||||||
|  |  | ||||||
| @@ -331,12 +286,6 @@ msgstr "dual" | |||||||
| msgid "mono" | msgid "mono" | ||||||
| msgstr "mono" | msgstr "mono" | ||||||
|  |  | ||||||
| msgid "none" |  | ||||||
| msgstr "nessuna" |  | ||||||
|  |  | ||||||
| msgid "auto" |  | ||||||
| msgstr "auto" |  | ||||||
|  |  | ||||||
| msgid "MHz" | msgid "MHz" | ||||||
| msgstr "MHz" | msgstr "MHz" | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								po/ru_RU.po
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								po/ru_RU.po
									
									
									
									
									
								
							| @@ -5,9 +5,9 @@ | |||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: femon 1.6.4\n" | "Project-Id-Version: femon 1.6.5\n" | ||||||
| "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | "Report-Msgid-Bugs-To: Rolf Ahrenberg\n" | ||||||
| "POT-Creation-Date: 2008-11-09 13:31+0200\n" | "POT-Creation-Date: 2008-12-16 12:08+0200\n" | ||||||
| "PO-Revision-Date: 2007-08-12 23:22+0300\n" | "PO-Revision-Date: 2007-08-12 23:22+0300\n" | ||||||
| "Last-Translator: Vyacheslav Dikonov\n" | "Last-Translator: Vyacheslav Dikonov\n" | ||||||
| "Language-Team: <vdr@linuxtv.org>\n" | "Language-Team: <vdr@linuxtv.org>\n" | ||||||
| @@ -96,12 +96,6 @@ msgstr "" | |||||||
| msgid "Define the horizontal offset of OSD." | msgid "Define the horizontal offset of OSD." | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "Show CA system" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "Define whether the CA system is shown as text." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "Red limit [%]" | msgid "Red limit [%]" | ||||||
| msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (%)" | msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (%)" | ||||||
|  |  | ||||||
| @@ -180,15 +174,6 @@ msgstr "Tid" | |||||||
| msgid "Rid" | msgid "Rid" | ||||||
| msgstr "Rid" | msgstr "Rid" | ||||||
|  |  | ||||||
| msgid "Satellite Card" |  | ||||||
| msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" |  | ||||||
|  |  | ||||||
| msgid "Cable Card" |  | ||||||
| msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" |  | ||||||
|  |  | ||||||
| msgid "Terrestrial Card" |  | ||||||
| msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" |  | ||||||
|  |  | ||||||
| msgid "Coderate" | msgid "Coderate" | ||||||
| msgstr "Coderate" | msgstr "Coderate" | ||||||
|  |  | ||||||
| @@ -261,36 +246,6 @@ msgstr "" | |||||||
| msgid "Analog" | msgid "Analog" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "SECA/Mediaguard" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "Viaccess" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "Irdeto" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "NDS/Videoguard" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "Conax" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "CryptoWorks" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "PowerVu" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "NagraVision" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "BetaCrypt" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "SkyCrypt" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| msgid "MPEG-2" | msgid "MPEG-2" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -330,12 +285,6 @@ msgstr "" | |||||||
| msgid "mono" | msgid "mono" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| msgid "none" |  | ||||||
| msgstr "<22><><EFBFBD>" |  | ||||||
|  |  | ||||||
| msgid "auto" |  | ||||||
| msgstr "<22><><EFBFBD><EFBFBD>" |  | ||||||
|  |  | ||||||
| msgid "MHz" | msgid "MHz" | ||||||
| msgstr "<22><><EFBFBD>" | msgstr "<22><><EFBFBD>" | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user