mirror of
				https://github.com/rofafor/vdr-plugin-femon.git
				synced 2023-10-10 11:36:53 +00:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 5bda0fa833 | ||
|  | ca954757db | ||
|  | 825755281f | ||
|  | ab3f270eed | ||
|  | 995b2567e5 | 
							
								
								
									
										23
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -118,3 +118,26 @@ VDR Plugin 'femon' Revision History | ||||
| - Added DEBUG mode (make DEBUG=1 plugins). | ||||
| - OSD height is now user configurable. | ||||
| - Added audio channel selection into Yellow key. | ||||
|  | ||||
| 2005-01-23: Version 0.7.9 | ||||
|  | ||||
| - Some minor cosmetic fixes. | ||||
|  | ||||
| 2005-01-23: Version 0.8.0 | ||||
|  | ||||
| - Updated for vdr-1.3.19. | ||||
|  | ||||
| 2005-01-24: Version 0.8.1 | ||||
|  | ||||
| - Added Estonian translations (Thanks to Arthur Konovalov). | ||||
|  | ||||
| 2005-02-24: Version 0.8.5 | ||||
|  | ||||
| - Updated for vdr-1.3.21. | ||||
| - Minor modification for DEBUG mode. | ||||
| - Added preliminary support for themes and some GUI tweaks. | ||||
| - Added horizontal offset setup option. | ||||
|  | ||||
| 2005-02-26: Version 0.8.6 | ||||
|  | ||||
| - Horizontal offset setup option should be functional now. | ||||
|   | ||||
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @@ -48,6 +48,10 @@ ifdef NTSC_SYSTEM | ||||
| DEFINES += -DNTSC_SYSTEM | ||||
| endif | ||||
|  | ||||
| ifdef DEBUG | ||||
| DEFINES += -DDEBUG | ||||
| endif | ||||
|  | ||||
| ### The object files (add further files here): | ||||
|  | ||||
| OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femoni18n.o | ||||
|   | ||||
							
								
								
									
										46
									
								
								femon.c
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								femon.c
									
									
									
									
									
								
							| @@ -12,7 +12,7 @@ | ||||
| #include "femonosd.h" | ||||
| #include "femon.h" | ||||
|  | ||||
| #if VDRVERSNUM && VDRVERSNUM < 10318 | ||||
| #if VDRVERSNUM && VDRVERSNUM < 10321 | ||||
| #error "You don't exist! Go away!" | ||||
| #endif | ||||
|  | ||||
| @@ -53,6 +53,11 @@ bool cPluginFemon::Start(void) | ||||
|   return true; | ||||
| } | ||||
|  | ||||
| void cPluginFemon::Stop(void) | ||||
| { | ||||
|   // Stop the background activities. | ||||
| } | ||||
|  | ||||
| void cPluginFemon::Housekeeping(void) | ||||
| { | ||||
|   // Perform any cleanup or other regular tasks. | ||||
| @@ -72,6 +77,8 @@ bool cPluginFemon::SetupParse(const char *Name, const char *Value) | ||||
|   else if (!strcasecmp(Name, "DisplayMode"))    femonConfig.displaymode    = atoi(Value); | ||||
|   else if (!strcasecmp(Name, "Position"))       femonConfig.position       = atoi(Value); | ||||
|   else if (!strcasecmp(Name, "OSDHeight"))      femonConfig.osdheight      = atoi(Value); | ||||
|   else if (!strcasecmp(Name, "OSDOffset"))      femonConfig.osdoffset      = 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, "GreenLimit"))     femonConfig.greenlimit     = atoi(Value); | ||||
| @@ -80,17 +87,22 @@ bool cPluginFemon::SetupParse(const char *Name, const char *Value) | ||||
|   else if (!strcasecmp(Name, "CalcInterval"))   femonConfig.calcinterval   = atoi(Value); | ||||
|   else | ||||
|     return false; | ||||
|   if (femonConfig.displaymode < 0 || femonConfig.displaymode >= modeMaxNumber) femonConfig.displaymode = 0; | ||||
|   if (femonConfig.displaymode < 0 || femonConfig.displaymode >= eFemonModeMaxNumber) femonConfig.displaymode = 0; | ||||
|  | ||||
|   return true; | ||||
| } | ||||
|  | ||||
| cMenuFemonSetup::cMenuFemonSetup(void) | ||||
| { | ||||
|   dispmodes[modeBasic]       = tr("basic"); | ||||
|   dispmodes[modeTransponder] = tr("transponder"); | ||||
|   dispmodes[modeStream]      = tr("stream"); | ||||
|   dispmodes[modeAC3]         = tr("AC-3"); | ||||
|   dispmodes[eFemonModeBasic]       = tr("basic"); | ||||
|   dispmodes[eFemonModeTransponder] = tr("transponder"); | ||||
|   dispmodes[eFemonModeStream]      = tr("stream"); | ||||
|   dispmodes[eFemonModeAC3]         = tr("AC-3"); | ||||
|  | ||||
|   themes[eFemonThemeClassic]       = tr("Classic"); | ||||
|   themes[eFemonThemeElchi]         = tr("Elchi"); | ||||
|   themes[eFemonThemeDeepBlue]      = tr("DeepBlue"); | ||||
|  | ||||
|   Setup(); | ||||
| } | ||||
|  | ||||
| @@ -99,18 +111,20 @@ void cMenuFemonSetup::Setup(void) | ||||
|   int current = Current(); | ||||
|  | ||||
|   Clear(); | ||||
|   Add(new cMenuEditBoolItem(  tr("Hide Mainmenu Entry"),         &femonConfig.hidemenu,       tr("no"),      tr("yes"))); | ||||
|   Add(new cMenuEditBoolItem(  tr("Use Syslog Output"),           &femonConfig.syslogoutput,   tr("no"),      tr("yes"))); | ||||
|   Add(new cMenuEditStraItem(  tr("Default Display Mode"),        &femonConfig.displaymode,    modeMaxNumber, dispmodes)); | ||||
|   Add(new cMenuEditBoolItem(  tr("Hide main menu entry"),        &femonConfig.hidemenu,       tr("no"),            tr("yes"))); | ||||
|   Add(new cMenuEditBoolItem(  tr("Use syslog output"),           &femonConfig.syslogoutput,   tr("no"),            tr("yes"))); | ||||
|   Add(new cMenuEditStraItem(  tr("Default display mode"),        &femonConfig.displaymode,    eFemonModeMaxNumber, dispmodes)); | ||||
|   Add(new cMenuEditStraItem(  tr("Theme"),                       &femonConfig.theme,          eFemonThemeMaxNumber,themes)); | ||||
|   Add(new cMenuEditBoolItem(  tr("Position"),                    &femonConfig.position,       tr("bottom"),        tr("top"))); | ||||
|   Add(new cMenuEditIntItem(   tr("Height"),                      &femonConfig.osdheight,      400,                 500)); | ||||
|   Add(new cMenuEditBoolItem(  tr("Show CA System"),              &femonConfig.showcasystem,   tr("no"),      tr("yes"))); | ||||
|   Add(new cMenuEditIntItem(   tr("Red Limit [%]"),               &femonConfig.redlimit,       1,             50)); | ||||
|   Add(new cMenuEditIntItem(   tr("Green Limit [%]"),             &femonConfig.greenlimit,     51,            100)); | ||||
|   Add(new cMenuEditIntItem(   tr("OSD Update Interval [0.1s]"),  &femonConfig.updateinterval, 1,             100)); | ||||
|   Add(new cMenuEditBoolItem(  tr("Analyze Stream"),              &femonConfig.analyzestream,  tr("no"),      tr("yes"))); | ||||
|   Add(new cMenuEditIntItem(   tr("Horizontal offset"),           &femonConfig.osdoffset,      -50,                 50)); | ||||
|   Add(new cMenuEditBoolItem(  tr("Show CA system"),              &femonConfig.showcasystem,   tr("no"),            tr("yes"))); | ||||
|   Add(new cMenuEditIntItem(   tr("Red limit [%]"),               &femonConfig.redlimit,       1,                   50)); | ||||
|   Add(new cMenuEditIntItem(   tr("Green limit [%]"),             &femonConfig.greenlimit,     51,                  100)); | ||||
|   Add(new cMenuEditIntItem(   tr("OSD update interval [0.1s]"),  &femonConfig.updateinterval, 1,                   100)); | ||||
|   Add(new cMenuEditBoolItem(  tr("Analyze stream"),              &femonConfig.analyzestream,  tr("no"),            tr("yes"))); | ||||
|   if (femonConfig.analyzestream) | ||||
|      Add(new cMenuEditIntItem(tr("Calculation Interval [0.1s]"), &femonConfig.calcinterval,   1,             100)); | ||||
|      Add(new cMenuEditIntItem(tr("Calculation interval [0.1s]"), &femonConfig.calcinterval,   1,                   100)); | ||||
|  | ||||
|   SetCurrent(Get(current)); | ||||
|   Display(); | ||||
| @@ -121,8 +135,10 @@ void cMenuFemonSetup::Store(void) | ||||
|   SetupStore("HideMenu",       femonConfig.hidemenu); | ||||
|   SetupStore("SyslogOutput",   femonConfig.syslogoutput); | ||||
|   SetupStore("DisplayMode",    femonConfig.displaymode); | ||||
|   SetupStore("Theme",          femonConfig.theme); | ||||
|   SetupStore("Position",       femonConfig.position); | ||||
|   SetupStore("OSDHeight",      femonConfig.osdheight); | ||||
|   SetupStore("OSDOffset",      femonConfig.osdoffset); | ||||
|   SetupStore("ShowCASystem",   femonConfig.showcasystem); | ||||
|   SetupStore("RedLimit",       femonConfig.redlimit); | ||||
|   SetupStore("GreenLimit",     femonConfig.greenlimit); | ||||
|   | ||||
							
								
								
									
										6
									
								
								femon.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								femon.h
									
									
									
									
									
								
							| @@ -11,7 +11,7 @@ | ||||
|  | ||||
| #include <vdr/plugin.h> | ||||
|  | ||||
| static const char *VERSION        = "0.7.7"; | ||||
| static const char *VERSION        = "0.8.6"; | ||||
| static const char *DESCRIPTION    = "DVB Signal Information Monitor (OSD)"; | ||||
| static const char *MAINMENUENTRY  = "Signal Information"; | ||||
|  | ||||
| @@ -27,6 +27,7 @@ public: | ||||
|   virtual bool ProcessArgs(int argc, char *argv[]); | ||||
|   virtual bool Initialize(void); | ||||
|   virtual bool Start(void); | ||||
|   virtual void Stop(void); | ||||
|   virtual void Housekeeping(void); | ||||
|   virtual const char *MainMenuEntry(void) { return (femonConfig.hidemenu ? NULL : tr(MAINMENUENTRY)); } | ||||
|   virtual cOsdObject *MainMenuAction(void); | ||||
| @@ -36,7 +37,8 @@ public: | ||||
|  | ||||
| class cMenuFemonSetup : public cMenuSetupPage { | ||||
|   private: | ||||
|     const char *dispmodes[modeMaxNumber]; | ||||
|     const char *dispmodes[eFemonModeMaxNumber]; | ||||
|     const char *themes[eFemonThemeMaxNumber]; | ||||
|     virtual void Setup(void); | ||||
|   protected: | ||||
|     virtual eOSState ProcessKey(eKeys Key); | ||||
|   | ||||
							
								
								
									
										40
									
								
								femoncfg.c
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								femoncfg.c
									
									
									
									
									
								
							| @@ -14,6 +14,7 @@ cFemonConfig::cFemonConfig(void) | ||||
| { | ||||
|   hidemenu       = 0; | ||||
|   displaymode    = 0; | ||||
|   theme          = 0; | ||||
|   position       = 1; | ||||
|   redlimit       = 33; | ||||
|   greenlimit     = 66; | ||||
| @@ -27,4 +28,43 @@ cFemonConfig::cFemonConfig(void) | ||||
| #else | ||||
|   osdheight      = 480; | ||||
| #endif | ||||
|   osdoffset      = 0; | ||||
| } | ||||
|  | ||||
| const cFemonTheme femonTheme[eFemonThemeMaxNumber] = | ||||
| { | ||||
|   { | ||||
|     // eFemonThemeClassic | ||||
|     0x7F000000, // clrBackground | ||||
|     0xFFFCFCFC, // clrTitleBackground | ||||
|     0xFF000000, // clrTitleText | ||||
|     0xFFFCC024, // clrActiveText | ||||
|     0xFFFCFCFC, // clrInactiveText | ||||
|     0xFFFC1414, // clrRed | ||||
|     0xFFFCC024, // clrYellow | ||||
|     0xFF24FC24, // clrGreen | ||||
|   }, | ||||
|   { | ||||
|     // eFemonThemeElchi | ||||
|     0xC8000066, // clrBackground | ||||
|     0xC833AAEE, // clrTitleBackground | ||||
|     0xFF000000, // clrTitleText | ||||
|     0xFFCCBB22, // clrActiveText | ||||
|     0xFFFFFFFF, // clrInactiveText | ||||
|     0xFFFF0000, // clrRed | ||||
|     0xFFFFEE00, // clrYellow | ||||
|     0xFF33CC33, // clrGreen | ||||
|   }, | ||||
|   { | ||||
|     // eFemonThemeDeepBlue | ||||
|     0xC80C0C0C, // clrBackground | ||||
|     0xC832557A, // clrTitleBackground | ||||
|     0xFF000000, // clrTitleText | ||||
|     0xFFCE7B00, // clrActiveText | ||||
|     0xFF9A9A9A, // clrInactiveText | ||||
|     0xFF992900, // clrRed | ||||
|     0xFFCE7B00, // clrYellow | ||||
|     0xFF336600, // clrGreen | ||||
|   }, | ||||
| }; | ||||
|  | ||||
|   | ||||
							
								
								
									
										41
									
								
								femoncfg.h
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								femoncfg.h
									
									
									
									
									
								
							| @@ -10,17 +10,18 @@ | ||||
| #define __FEMONCFG_H | ||||
|  | ||||
| #ifdef DEBUG | ||||
| #define debug(x) (x); | ||||
| #define Dprintf(x...) printf(x); | ||||
| #else | ||||
| #define debug(x) ; | ||||
| #define Dprintf(x...) ; | ||||
| #endif | ||||
|  | ||||
| enum dispModes { | ||||
|   modeBasic, | ||||
|   modeTransponder, | ||||
|   modeStream, | ||||
|   modeAC3, | ||||
|   modeMaxNumber | ||||
| enum eFemonModes | ||||
| { | ||||
|   eFemonModeBasic, | ||||
|   eFemonModeTransponder, | ||||
|   eFemonModeStream, | ||||
|   eFemonModeAC3, | ||||
|   eFemonModeMaxNumber | ||||
| }; | ||||
|  | ||||
| struct cFemonConfig | ||||
| @@ -29,6 +30,7 @@ public: | ||||
|   cFemonConfig(void); | ||||
|   int hidemenu; | ||||
|   int displaymode; | ||||
|   int theme; | ||||
|   int position; | ||||
|   int redlimit; | ||||
|   int greenlimit; | ||||
| @@ -38,8 +40,31 @@ public: | ||||
|   int syslogoutput; | ||||
|   int showcasystem; | ||||
|   int osdheight; | ||||
|   int osdoffset; | ||||
| }; | ||||
|  | ||||
| extern cFemonConfig femonConfig; | ||||
|  | ||||
| enum eFemonThemes | ||||
| { | ||||
|   eFemonThemeClassic, | ||||
|   eFemonThemeElchi, | ||||
|   eFemonThemeDeepBlue, | ||||
|   eFemonThemeMaxNumber | ||||
| }; | ||||
|  | ||||
| struct cFemonTheme | ||||
| { | ||||
|   int clrBackground; | ||||
|   int clrTitleBackground; | ||||
|   int clrTitleText; | ||||
|   int clrActiveText; | ||||
|   int clrInactiveText; | ||||
|   int clrRed; | ||||
|   int clrYellow; | ||||
|   int clrGreen; | ||||
| }; | ||||
|  | ||||
| extern const cFemonTheme femonTheme[eFemonThemeMaxNumber]; | ||||
|  | ||||
| #endif // __FEMONCFG_H | ||||
|   | ||||
							
								
								
									
										376
									
								
								femoni18n.c
									
									
									
									
									
								
							
							
						
						
									
										376
									
								
								femoni18n.c
									
									
									
									
									
								
							| @@ -27,7 +27,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "DVB Signaalmonitor (OSD)", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Signal Information", // English | ||||
| @@ -48,7 +48,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Signaaliinfo", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Position", // English | ||||
| @@ -69,7 +69,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Positsioon", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Height", // English | ||||
| @@ -90,10 +90,31 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "K<EFBFBD>rgus", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Horizontal offset", // English | ||||
|     "", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "", // Italiano | ||||
|     "", // Nederlands | ||||
|     "", // Portugu<67>s | ||||
|     "", // Fran<61>ais | ||||
|     "", // Norsk | ||||
|     "Vaakakeskitys", // suomi | ||||
|     "", // Polski | ||||
|     "", // Espa<70>ol | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "", // Svenska | ||||
|     "", // Romaneste | ||||
|     "", // Magyar | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Default Display Mode", // English | ||||
|   { "Default display mode", // English | ||||
|     "Standard Anzeigemodus", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "Modo di visualizzazione standard", // Italiano | ||||
| @@ -111,7 +132,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61>   | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Vaikimisi displei moodus", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "basic", // English | ||||
| @@ -132,7 +153,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61>   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "standard", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "transponder", // English | ||||
| @@ -154,7 +175,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "", // Dansk | ||||
|     "transponder", // Dansk | ||||
|   }, | ||||
|   { "stream", // English | ||||
|     "Stream", // Deutsch | ||||
| @@ -174,10 +195,94 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61>   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "striim", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Hide Mainmenu Entry", // English | ||||
|   { "Theme", // English | ||||
|     "Thema", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "", // Italiano | ||||
|     "", // Nederlands | ||||
|     "", // Portugu<67>s | ||||
|     "", // Fran<61>ais  | ||||
|     "", // Norsk | ||||
|     "Teema", // suomi | ||||
|     "", // Polski    | ||||
|     "", // Espa<70>ol   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "", // Svenska | ||||
|     "", // Romaneste | ||||
|     "", // Magyar   | ||||
|     "", // Catal<61>   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "Teema", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Classic", // English | ||||
|     "Klassischer", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "", // Italiano | ||||
|     "", // Nederlands | ||||
|     "", // Portugu<67>s | ||||
|     "", // Fran<61>ais  | ||||
|     "", // Norsk | ||||
|     "Klassinen", // suomi | ||||
|     "", // Polski    | ||||
|     "", // Espa<70>ol   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "", // Svenska | ||||
|     "", // Romaneste | ||||
|     "", // Magyar   | ||||
|     "", // Catal<61>   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "Klassikaline", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Elchi", // English | ||||
|     "Elchi", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "", // Italiano | ||||
|     "", // Nederlands | ||||
|     "", // Portugu<67>s | ||||
|     "", // Fran<61>ais  | ||||
|     "", // Norsk | ||||
|     "Elchi", // suomi | ||||
|     "", // Polski    | ||||
|     "", // Espa<70>ol   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "", // Svenska | ||||
|     "", // Romaneste | ||||
|     "", // Magyar   | ||||
|     "", // Catal<61>   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "Elchi", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "DeepBlue", // English | ||||
|     "DeepBlue", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "", // Italiano | ||||
|     "", // Nederlands | ||||
|     "", // Portugu<67>s | ||||
|     "", // Fran<61>ais  | ||||
|     "", // Norsk | ||||
|     "DeepBlue", // suomi | ||||
|     "", // Polski    | ||||
|     "", // Espa<70>ol   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "", // Svenska | ||||
|     "", // Romaneste | ||||
|     "", // Magyar   | ||||
|     "", // Catal<61>   | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "DeepBlue", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Hide main menu entry", // English | ||||
|     "Hauptmen<EFBFBD>eintrag verstecken", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "Nascondi voce men<65>", // Italiano | ||||
| @@ -195,10 +300,10 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Peida valik peamen<65><6E>s", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "OSD Update Interval [0.1s]", // English | ||||
|   { "OSD update interval [0.1s]", // English | ||||
|     "OSD Updateintervall [0.1s]", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "Intervallo di aggiornamento [0.1s]", // Italiano | ||||
| @@ -216,10 +321,10 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0,1 <20><><EFBFBD>)", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Uuendusintervall [0,1s]", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Analyze Stream", // English | ||||
|   { "Analyze stream", // English | ||||
|     "Stream analysieren", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "", // Italiano | ||||
| @@ -237,10 +342,10 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Striimi anal<61><6C>s", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Calculation Interval [0.1s]", // English | ||||
|   { "Calculation interval [0.1s]", // English | ||||
|     "Berechnungsintervall [0.1s]", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "Intervallo di calcolo [0.1s]", // Italiano | ||||
| @@ -258,10 +363,10 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0,1 <20><><EFBFBD>)", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Kalkulatsiooni intervall [0,1s]", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Red Limit [%]", // English | ||||
|   { "Red limit [%]", // English | ||||
|     "Grenze Rot [%]", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "Limite rosso [%]", // Italiano | ||||
| @@ -279,10 +384,10 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (%)", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Punase limiit [%]", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Green Limit [%]", // English | ||||
|   { "Green limit [%]", // English | ||||
|     "Grenze Gr<47>n [%]", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "Limite verde [%]", // Italiano | ||||
| @@ -300,7 +405,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (%)", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Rohelise limiit [%]", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Transponder Information", // English | ||||
| @@ -321,7 +426,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Transponderi info", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Satellite Card", // English | ||||
| @@ -342,7 +447,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Satelliidikaart", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Cable Card", // English | ||||
| @@ -363,7 +468,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Kaablikaart", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Terrestial Card", // English | ||||
| @@ -384,10 +489,10 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Terrestiaalkaart", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Use Syslog Output", // English | ||||
|   { "Use syslog output", // English | ||||
|     "Benutze syslog Ausgabe", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "Registra su syslog", // Italiano | ||||
| @@ -405,114 +510,9 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> syslog", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Kirjuta s<>steemilogisse", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "LOCK", // English | ||||
|     "LOCK", // Deutsch | ||||
|     "LOCK", // Slovenski | ||||
|     "LOCK", // Italiano | ||||
|     "LOCK", // Nederlands | ||||
|     "LOCK", // Portugu<67>s | ||||
|     "LOCK", // Fran<61>ais | ||||
|     "LOCK", // Norsk | ||||
|     "LOCK", // suomi | ||||
|     "LOCK", // Polski | ||||
|     "LOCK", // Espa<70>ol | ||||
|     "LOCK", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "LOCK", // Svenska | ||||
|     "LOCK", // Romaneste | ||||
|     "LOCK", // Magyar | ||||
|     "LOCK", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "LOCK", // Hrvatski (Croatian) | ||||
|     "LOCK", // Eesti | ||||
|     "LOCK", // Dansk | ||||
|   }, | ||||
|   { "SIGNAL", // English | ||||
|     "SIGNAL", // Deutsch | ||||
|     "SIGNAL", // Slovenski | ||||
|     "SIGNAL", // Italiano | ||||
|     "SIGNAL", // Nederlands | ||||
|     "SIGNAL", // Portugu<67>s | ||||
|     "SIGNAL", // Fran<61>ais | ||||
|     "SIGNAL", // Norsk | ||||
|     "SIGNAL", // suomi | ||||
|     "SIGNAL", // Polski | ||||
|     "SIGNAL", // Espa<70>ol | ||||
|     "SIGNAL", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "SIGNAL", // Svenska | ||||
|     "SIGNAL", // Romaneste | ||||
|     "SIGNAL", // Magyar | ||||
|     "SIGNAL", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "SIGNAL", // Hrvatski (Croatian) | ||||
|     "SIGNAL", // Eesti | ||||
|     "SIGNAL", // Dansk | ||||
|   }, | ||||
|   { "CARRIER", // English | ||||
|     "CARRIER", // Deutsch | ||||
|     "CARRIER", // Slovenski | ||||
|     "CARRIER", // Italiano | ||||
|     "CARRIER", // Nederlands | ||||
|     "CARRIER", // Portugu<67>s | ||||
|     "CARRIER", // Fran<61>ais | ||||
|     "CARRIER", // Norsk | ||||
|     "CARRIER", // suomi | ||||
|     "CARRIER", // Polski | ||||
|     "CARRIER", // Espa<70>ol | ||||
|     "CARRIER", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "CARRIER", // Svenska | ||||
|     "CARRIER", // Romaneste | ||||
|     "CARRIER", // Magyar | ||||
|     "CARRIER", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɰ<EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "CARRIER", // Hrvatski (Croatian) | ||||
|     "CARRIER", // Eesti | ||||
|     "CARRIER", // Dansk | ||||
|   }, | ||||
|   { "VITERBI", // English | ||||
|     "VITERBI", // Deutsch | ||||
|     "VITERBI", // Slovenski | ||||
|     "VITERBI", // Italiano | ||||
|     "VITERBI", // Nederlands | ||||
|     "VITERBI", // Portugu<67>s | ||||
|     "VITERBI", // Fran<61>ais | ||||
|     "VITERBI", // Norsk | ||||
|     "VITERBI", // suomi | ||||
|     "VITERBI", // Polski | ||||
|     "VITERBI", // Espa<70>ol | ||||
|     "VITERBI", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||
|     "VITERBI", // Svenska | ||||
|     "VITERBI", // Romaneste | ||||
|     "VITERBI", // Magyar | ||||
|     "VITERBI", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "VITERBI", // Hrvatski (Croatian) | ||||
|     "VITERBI", // Eesti | ||||
|     "VITERBI", // Dansk | ||||
|   }, | ||||
|   { "SYNC", // English | ||||
|     "SYNC", // Deutsch | ||||
|     "SYNC", // Slovenski | ||||
|     "SYNC", // Italiano | ||||
|     "SYNC", // Nederlands | ||||
|     "SYNC", // Portugu<67>s | ||||
|     "SYNC", // Fran<61>ais | ||||
|     "SYNC", // Norsk | ||||
|     "SYNC", // suomi | ||||
|     "SYNC", // Polski | ||||
|     "SYNC", // Espa<70>ol | ||||
|     "SYNC", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "SYNC", // Svenska | ||||
|     "SYNC", // Romaneste | ||||
|     "SYNC", // Magyar | ||||
|     "SYNC", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "SYNC", // Hrvatski (Croatian) | ||||
|     "SYNC", // Eesti | ||||
|     "SYNC", // Dansk | ||||
|   }, | ||||
|   { "Audio", // English | ||||
|     "Audio", // Deutsch | ||||
|     "Audio", // Slovenski | ||||
| @@ -594,7 +594,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "None", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "None", // Hrvatski (Croatian) | ||||
|     "None", // Eesti | ||||
|     "Ei", // Eesti | ||||
|     "None", // Dansk | ||||
|   }, | ||||
|   { "Off", // English | ||||
| @@ -615,7 +615,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "Off", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "Off", // Hrvatski (Croatian) | ||||
|     "Off", // Eesti | ||||
|     "V<EFBFBD>ljas", // Eesti | ||||
|     "Off", // Dansk | ||||
|   }, | ||||
|   { "On", // English | ||||
| @@ -636,7 +636,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "On", // Catal<61> | ||||
|     "<EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "On", // Hrvatski (Croatian) | ||||
|     "On", // Eesti | ||||
|     "Sees", // Eesti | ||||
|     "On", // Dansk | ||||
|   }, | ||||
|   { "MHz", // English | ||||
| @@ -720,7 +720,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Striimi info", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "MPEG Layer", // English | ||||
| @@ -741,7 +741,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "MPEG tase", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Video Stream", // English | ||||
| @@ -762,7 +762,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Videostriim", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Bitrate", // English | ||||
| @@ -783,7 +783,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Bitikiirus", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Frame Rate", // English | ||||
| @@ -804,7 +804,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Kaadrisagedus", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Hz", // English | ||||
| @@ -846,7 +846,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "K<EFBFBD>lgsuhe", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "reserved", // English | ||||
| @@ -867,7 +867,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "reserveeritud", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "free", // English | ||||
| @@ -888,7 +888,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "vaba", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Video Format", // English | ||||
| @@ -909,7 +909,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Videoformaat", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "PAL", // English | ||||
| @@ -972,7 +972,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "tundmatu", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Resolution", // English | ||||
| @@ -993,7 +993,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Resolutsioon", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Audio Stream", // English | ||||
| @@ -1014,7 +1014,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Audiostriim", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Sampling Frequency", // English | ||||
| @@ -1035,7 +1035,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "S<EFBFBD>mplimissagedus", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "kHz", // English | ||||
| @@ -1203,7 +1203,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "m<EFBFBD>rkimata", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "AC-3", // English | ||||
| @@ -1245,7 +1245,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "AC-3 striim", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Frame Size", // English | ||||
| @@ -1266,7 +1266,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Kaadri suurus", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Bit Stream Mode", // English | ||||
| @@ -1287,7 +1287,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Bitistriimi t<><74>p", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Audio Coding Mode", // English | ||||
| @@ -1308,7 +1308,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Audiokodeering", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Center Mix Level", // English | ||||
| @@ -1329,7 +1329,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Keskmise kanali tase", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Surround Mix Level", // English | ||||
| @@ -1350,7 +1350,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Surround kanali tase", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Dolby Surround Mode", // English | ||||
| @@ -1371,7 +1371,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Dolby Surround'i t<><74>p", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Low Frequency Effects", // English | ||||
| @@ -1392,7 +1392,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "LFE kanal", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Dialogue Normalization", // English | ||||
| @@ -1413,7 +1413,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Dialoogi normalisatsioon", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Complete Main (CM)", // English | ||||
| @@ -1434,7 +1434,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "CM", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Music and Effects (ME)", // English | ||||
| @@ -1455,7 +1455,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Muusika ja efektid (ME)", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Visually Impaired (VI)", // English | ||||
| @@ -1476,7 +1476,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Vaegn<EFBFBD>gemine (VE)", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Hearing Impaired (HI)", // English | ||||
| @@ -1497,7 +1497,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Vaegkuulmine (HI)", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Dialogue (D)", // English | ||||
| @@ -1518,7 +1518,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Dialoog (D)", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Commentary (C)", // English | ||||
| @@ -1539,7 +1539,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Kommentaar (C)", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Emergency (E)", // English | ||||
| @@ -1560,7 +1560,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "H<EFBFBD>dateade (E)", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Voice Over (VO)", // English | ||||
| @@ -1581,7 +1581,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Pealer<EFBFBD><EFBFBD>kimine (VO)", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Karaoke", // English | ||||
| @@ -1602,7 +1602,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Karaoke", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Ch1", // English "Channel 1" | ||||
| @@ -1623,7 +1623,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Kan. 1", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Ch2", // English "Channel 2" | ||||
| @@ -1644,7 +1644,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Kan. 2", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "C", // English "Center" | ||||
| @@ -1665,7 +1665,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "K", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "L", // English "Left" | ||||
| @@ -1686,7 +1686,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "L", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "R", // English "Right" | ||||
| @@ -1707,7 +1707,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "R", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "S", // English "Surround" | ||||
| @@ -1728,7 +1728,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "S", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "SL", // English "Surround Left" | ||||
| @@ -1749,7 +1749,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "SL", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "SR", // English "Surround Right" | ||||
| @@ -1770,10 +1770,10 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "SR", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Show CA System", // English | ||||
|   { "Show CA system", // English | ||||
|     "CA System anzeigen", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "", // Italiano | ||||
| @@ -1791,7 +1791,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "N<EFBFBD>ita CA s<>steemi", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Fixed", // English | ||||
| @@ -1812,7 +1812,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Fikseeritud", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Free to Air", // English | ||||
| @@ -1833,7 +1833,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "FTA", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "SECA/Mediaguard", // English | ||||
| @@ -1854,7 +1854,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "SECA/Mediaguard", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Viaccess", // English | ||||
| @@ -1875,7 +1875,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Viaccess", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Irdeto", // English | ||||
| @@ -1896,7 +1896,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Irdeto", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "NDS/Videoguard", // English | ||||
| @@ -1917,7 +1917,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "NDS/Videoguard", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "Conax", // English | ||||
| @@ -1938,7 +1938,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "Conax", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "CryptoWorks", // English | ||||
| @@ -1959,7 +1959,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "CryptoWorks", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "PowerVu", // English | ||||
| @@ -1980,7 +1980,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "PowerVu", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "BetaCrypt", // English | ||||
| @@ -2001,7 +2001,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "BetaCrypt", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "NagraVision", // English | ||||
| @@ -2022,7 +2022,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "NagraVision", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { "SkyCrypt", // English | ||||
| @@ -2043,7 +2043,7 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "SkyCrypt", // Eesti | ||||
|     "", // Dansk | ||||
|   }, | ||||
|   { NULL } | ||||
|   | ||||
							
								
								
									
										667
									
								
								femonosd.c
									
									
									
									
									
								
							
							
						
						
									
										667
									
								
								femonosd.c
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -40,6 +40,7 @@ private: | ||||
|   static cBitmap bmStereo, bmMonoLeft, bmMonoRight, bmDD, bmDD20, bmDD51; | ||||
|   static cBitmap bmZero, bmDevice, bmPAL, bmNTSC, bmOne, bmTwo, bmThree, bmFour, bmFive; | ||||
|   static cBitmap bmAspectRatio_1_1, bmAspectRatio_16_9, bmAspectRatio_2_21_1, bmAspectRatio_4_3; | ||||
|   static cBitmap bmLock, bmSignal, bmCarrier, bmViterbi, bmSync; | ||||
|   void DrawStatusWindow(void); | ||||
|   void DrawInfoWindow(void); | ||||
|  | ||||
|   | ||||
| @@ -17,14 +17,14 @@ | ||||
| #define PAYLOAD       0x10 | ||||
| #define PTS_DTS_FLAGS 0xC0 | ||||
|  | ||||
| cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid, int Dpid) | ||||
| :cReceiver(Ca, -1, 3, Vpid, Apid, Dpid), cThread("femon receiver") | ||||
| cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[]) | ||||
| :cReceiver(Ca, -1, Vpid, Apid, Dpid, NULL), cThread("femon receiver") | ||||
| { | ||||
|   debug(printf("cFemonReceiver::cFemonReceiver()\n")); | ||||
|   Dprintf("%s()\n", __PRETTY_FUNCTION__); | ||||
|   m_Active = false; | ||||
|   m_VideoPid = Vpid; | ||||
|   m_AudioPid = Apid; | ||||
|   m_AC3Pid = Dpid;       | ||||
|   m_AudioPid = Apid[0]; | ||||
|   m_AC3Pid = Dpid[0]; | ||||
|   m_VideoValid = false; | ||||
|   m_VideoPacketCount = 0; | ||||
|   m_VideoHorizontalSize = 0; | ||||
| @@ -58,18 +58,17 @@ cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid, int Dpid) | ||||
|   | ||||
| cFemonReceiver::~cFemonReceiver(void) | ||||
| { | ||||
|   debug(printf("cFemonReceiver::~cFemonReceiver()\n")); | ||||
|   Dprintf("%s()\n", __PRETTY_FUNCTION__); | ||||
|   Detach(); | ||||
|   if (m_Active) { | ||||
|      m_Active = false; | ||||
|      Cancel(0); | ||||
|      Cancel(); | ||||
|      } | ||||
| } | ||||
|  | ||||
| /* The following function originates from libdvbmpeg: */ | ||||
| void cFemonReceiver::GetVideoInfo(uint8_t *mbuf, int count) | ||||
| { | ||||
|   debug(printf("cFemonReceiver::GetVideoInfo()\n")); | ||||
|   uint8_t *headr; | ||||
|   int found = 0; | ||||
|   int c = 0; | ||||
| @@ -162,7 +161,6 @@ static unsigned int samplerates[4] = | ||||
| /* The following function originates from libdvbmpeg: */ | ||||
| void cFemonReceiver::GetAudioInfo(uint8_t *mbuf, int count) | ||||
| { | ||||
|   debug(printf("cFemonReceiver::GetAudioInfo()\n")); | ||||
|   uint8_t *headr; | ||||
|   int found = 0; | ||||
|   int c = 0; | ||||
| @@ -254,20 +252,19 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count) | ||||
|  | ||||
| void cFemonReceiver::Activate(bool On) | ||||
| { | ||||
|   debug(printf("cFemonReceiver::Activate()\n")); | ||||
|   Dprintf("%s(%d)\n", __PRETTY_FUNCTION__, On); | ||||
|   if (On) { | ||||
|      if (!m_Active) | ||||
|         Start(); | ||||
|      } | ||||
|   else if (m_Active) { | ||||
|      m_Active = false; | ||||
|      Cancel(0); | ||||
|      Cancel(); | ||||
|      } | ||||
| } | ||||
|  | ||||
| void cFemonReceiver::Receive(uchar *Data, int Length) | ||||
| { | ||||
|   debug(printf("cFemonReceiver::Receive()\n")); | ||||
|   // TS packet length: TS_SIZE | ||||
|   if (Length == TS_SIZE) { | ||||
|      int pid = ((Data[1] & 0x1f) << 8) | (Data[2]); | ||||
| @@ -310,7 +307,7 @@ void cFemonReceiver::Receive(uchar *Data, int Length) | ||||
|  | ||||
| void cFemonReceiver::Action(void) | ||||
| { | ||||
|   debug(printf("cFemonReceiver::Action()\n")); | ||||
|   Dprintf("%s()\n", __PRETTY_FUNCTION__); | ||||
|   cTimeMs t; | ||||
|   m_Active = true; | ||||
|   while (m_Active) { | ||||
|   | ||||
| @@ -95,7 +95,7 @@ protected: | ||||
|   virtual void Action(void); | ||||
|  | ||||
| public: | ||||
|   cFemonReceiver(int Ca, int Vpid, int Apid, int Dpid); | ||||
|   cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[]); | ||||
|   virtual ~cFemonReceiver(); | ||||
|  | ||||
|   bool VideoValid(void)           { return m_VideoValid; };          // boolean | ||||
|   | ||||
							
								
								
									
										24
									
								
								symbols/carrier.xpm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								symbols/carrier.xpm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| /* XPM */ | ||||
| static char * carrier_xpm[] = { | ||||
| "96 19 2 1", | ||||
| ".	c #FFFFFF", | ||||
| "+	c #000000", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++...........+++++.......+++++.....++++++++....++++++++....+++...++++++++...++++++++..........++", | ||||
| "++..........+++++++......+++++.....+++++++++...+++++++++...+++...++++++++...+++++++++.........++", | ||||
| "++..........+++.++++.....+++++.....+++...+++...+++...+++...+++...+++........+++...+++.........++", | ||||
| "++.........+++...++.....+++.+++....+++...+++...+++...+++...+++...+++........+++...+++.........++", | ||||
| "++.........+++..........+++.+++....++++++++....++++++++....+++...+++++++....++++++++..........++", | ||||
| "++.........+++..........+++.+++....+++++++.....+++++++.....+++...+++++++....+++++++...........++", | ||||
| "++.........+++.........+++...+++...+++..+++....+++..+++....+++...+++........+++..+++..........++", | ||||
| "++.........+++...++....+++++++++...+++..+++....+++..+++....+++...+++........+++..+++..........++", | ||||
| "++..........+++.++++...+++++++++...+++...+++...+++...+++...+++...+++........+++...+++.........++", | ||||
| "++..........+++++++...+++.....+++..+++...+++...+++...+++...+++...++++++++...+++...+++.........++", | ||||
| "++...........+++++....+++.....+++..+++....+++..+++....+++..+++...++++++++...+++....+++........++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"}; | ||||
							
								
								
									
										24
									
								
								symbols/lock.xpm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								symbols/lock.xpm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| /* XPM */ | ||||
| static char * lock_xpm[] = { | ||||
| "96 19 2 1", | ||||
| ".	c #FFFFFF", | ||||
| "+	c #000000", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++........................+++........+++++........+++++.....+++....+++........................++", | ||||
| "++........................+++.......++++++++.....+++++++....+++...+++.........................++", | ||||
| "++........................+++.......+++..+++.....+++.++++...+++..+++..........................++", | ||||
| "++........................+++......+++....+++...+++...++....+++.+++...........................++", | ||||
| "++........................+++......+++....+++...+++.........+++++++...........................++", | ||||
| "++........................+++......+++....+++...+++.........++++.+++..........................++", | ||||
| "++........................+++......+++....+++...+++.........+++..+++..........................++", | ||||
| "++........................+++......+++....+++...+++...++....+++...+++.........................++", | ||||
| "++........................+++.......+++..+++.....+++.++++...+++...+++.........................++", | ||||
| "++........................+++++++...++++++++.....+++++++....+++....+++........................++", | ||||
| "++........................+++++++.....++++........+++++.....+++.....+++.......................++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"}; | ||||
							
								
								
									
										24
									
								
								symbols/signal.xpm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								symbols/signal.xpm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| /* XPM */ | ||||
| static char * signal_xpm[] = { | ||||
| "96 19 2 1", | ||||
| ".	c #FFFFFF", | ||||
| "+	c #000000", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++.................+++++....+++......+++++.....+++....+++.....+++++.....+++...................++", | ||||
| "++...............++++++++...+++....++++++++....++++...+++.....+++++.....+++...................++", | ||||
| "++...............+++..+++...+++....+++..++++...+++++..+++.....+++++.....+++...................++", | ||||
| "++...............+++........+++...+++....++....+++++..+++....+++.+++....+++...................++", | ||||
| "++...............++++++.....+++...+++..........++++++.+++....+++.+++....+++...................++", | ||||
| "++................++++++....+++...+++..+++++...+++.++.+++....+++.+++....+++...................++", | ||||
| "++..................+++++...+++...+++..+++++...+++.++++++...+++...+++...+++...................++", | ||||
| "++...............+++..+++...+++...+++....+++...+++..+++++...+++++++++...+++...................++", | ||||
| "++...............+++..+++...+++....+++...+++...+++..+++++...+++++++++...+++...................++", | ||||
| "++................++++++....+++....+++++++++...+++...++++..+++.....+++..+++++++...............++", | ||||
| "++.................++++.....+++......+++++.....+++....+++..+++.....+++..+++++++...............++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"}; | ||||
							
								
								
									
										24
									
								
								symbols/sync.xpm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								symbols/sync.xpm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| /* XPM */ | ||||
| static char * sync_xpm[] = { | ||||
| "96 19 2 1", | ||||
| ".	c #FFFFFF", | ||||
| "+	c #000000", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++.........................+++++...+++.....+++..+++....+++.....+++++..........................++", | ||||
| "++.......................++++++++...+++...+++...++++...+++....+++++++.........................++", | ||||
| "++.......................+++..+++....+++.+++....+++++..+++....+++.++++........................++", | ||||
| "++.......................+++.........+++.+++....+++++..+++...+++...++.........................++", | ||||
| "++.......................++++++.......+++++.....++++++.+++...+++..............................++", | ||||
| "++........................++++++......+++++.....+++.++.+++...+++..............................++", | ||||
| "++..........................+++++......+++......+++.++++++...+++..............................++", | ||||
| "++.......................+++..+++......+++......+++..+++++...+++...++.........................++", | ||||
| "++.......................+++..+++......+++......+++..+++++....+++.++++........................++", | ||||
| "++........................++++++.......+++......+++...++++....+++++++.........................++", | ||||
| "++.........................++++........+++......+++....+++.....+++++..........................++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"}; | ||||
							
								
								
									
										24
									
								
								symbols/viterbi.xpm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								symbols/viterbi.xpm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| /* XPM */ | ||||
| static char * viterbi_xpm[] = { | ||||
| "96 19 2 1", | ||||
| ".	c #FFFFFF", | ||||
| "+	c #000000", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++............+++.....+++..+++...+++++++++..++++++++...++++++++....++++++++....+++............++", | ||||
| "++.............++.....++...+++...+++++++++..++++++++...+++++++++...+++++++++...+++............++", | ||||
| "++.............+++...+++...+++......+++.....+++........+++...+++...+++...+++...+++............++", | ||||
| "++.............+++...+++...+++......+++.....+++........+++...+++...+++...+++...+++............++", | ||||
| "++..............++...++....+++......+++.....+++++++....++++++++....++++++++....+++............++", | ||||
| "++..............+++.+++....+++......+++.....+++++++....+++++++.....++++++++....+++............++", | ||||
| "++..............+++.+++....+++......+++.....+++........+++..+++....+++...+++...+++............++", | ||||
| "++...............++.++.....+++......+++.....+++........+++..+++....+++...+++...+++............++", | ||||
| "++...............+++++.....+++......+++.....+++........+++...+++...+++...+++...+++............++", | ||||
| "++...............+++++.....+++......+++.....++++++++...+++...+++...+++++++++...+++............++", | ||||
| "++................+++......+++......+++.....++++++++...+++....+++..++++++++....+++............++", | ||||
| "++............................................................................................++", | ||||
| "++............................................................................................++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", | ||||
| "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"}; | ||||
		Reference in New Issue
	
	Block a user