mirror of
				https://github.com/rofafor/vdr-plugin-femon.git
				synced 2023-10-10 11:36:53 +00:00 
			
		
		
		
	Compare commits
	
		
			10 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					713f9e652a | ||
| 
						 | 
					7c948cde72 | ||
| 
						 | 
					8e57eec535 | ||
| 
						 | 
					0f111eb660 | ||
| 
						 | 
					6670f85a20 | ||
| 
						 | 
					9814970182 | ||
| 
						 | 
					5bda0fa833 | ||
| 
						 | 
					ca954757db | ||
| 
						 | 
					825755281f | ||
| 
						 | 
					ab3f270eed | 
							
								
								
									
										49
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								HISTORY
									
									
									
									
									
								
							@@ -122,3 +122,52 @@ VDR Plugin 'femon' Revision History
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
2005-04-01: Version 0.8.7
 | 
			
		||||
 | 
			
		||||
- Default make target is now all.
 | 
			
		||||
- Fixed the access rights of symbols subdirectory (Thanks to Harri Kukkonen).
 | 
			
		||||
- Added a new theme: Moronimo (Thanks to Morone).
 | 
			
		||||
 | 
			
		||||
2005-04-02: Version 0.8.8
 | 
			
		||||
 | 
			
		||||
- Cleaned up finnish translations (Thanks to Ville Skytt<74>).
 | 
			
		||||
 | 
			
		||||
2005-04-04: Version 0.8.9
 | 
			
		||||
 | 
			
		||||
- Updated Estonian translations (Thanks to Arthur Konovalov).
 | 
			
		||||
- Added the missing german translations (Thanks to #vdr-portal).
 | 
			
		||||
 | 
			
		||||
2005-05-20: Version 0.9.0
 | 
			
		||||
 | 
			
		||||
- Renamed compiling switches ('DEBUG' to 'FEMON_DEBUG' and 'NTSC_SYSTEM' to 'FEMON_NTSC').
 | 
			
		||||
- Enabled preliminary support for the device switching.
 | 
			
		||||
 | 
			
		||||
2005-07-23: Version 0.9.1
 | 
			
		||||
 | 
			
		||||
- Fixed AC3-info flickering (Thanks to Pasi Juppo for reporting this one).
 | 
			
		||||
- Added "Analog" type CA system.
 | 
			
		||||
- Plugin is now stripped by default.
 | 
			
		||||
 | 
			
		||||
2005-08-15: Version 0.9.2
 | 
			
		||||
 | 
			
		||||
- Threads updated for vdr-1.3.29.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								Makefile
									
									
									
									
									
								
							@@ -16,7 +16,11 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).h | awk '{ pri
 | 
			
		||||
### The C++ compiler and options:
 | 
			
		||||
 | 
			
		||||
CXX      ?= g++
 | 
			
		||||
CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -fPIC
 | 
			
		||||
ifdef FEMON_DEBUG
 | 
			
		||||
CXXFLAGS ?= -g -Wall -Woverloaded-virtual -fPIC
 | 
			
		||||
else
 | 
			
		||||
CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -fPIC
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
### The directory environment:
 | 
			
		||||
 | 
			
		||||
@@ -44,10 +48,17 @@ INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include
 | 
			
		||||
 | 
			
		||||
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 | 
			
		||||
 | 
			
		||||
ifdef NTSC_SYSTEM
 | 
			
		||||
DEFINES += -DNTSC_SYSTEM
 | 
			
		||||
ifdef FEMON_NTSC
 | 
			
		||||
DEFINES += -DFEMON_NTSC
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifdef FEMON_DEBUG
 | 
			
		||||
DEFINES += -DFEMON_DEBUG
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
.PHONY: all all-redirect
 | 
			
		||||
all-redirect: all
 | 
			
		||||
 | 
			
		||||
### The object files (add further files here):
 | 
			
		||||
 | 
			
		||||
OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femoni18n.o
 | 
			
		||||
@@ -73,6 +84,9 @@ all: libvdr-$(PLUGIN).so
 | 
			
		||||
libvdr-$(PLUGIN).so: $(OBJS)
 | 
			
		||||
	$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
 | 
			
		||||
	@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
 | 
			
		||||
ifndef FEMON_DEBUG
 | 
			
		||||
	strip $(LIBDIR)/$@.$(VDRVERSION)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
dist: clean
 | 
			
		||||
	@-rm -rf $(TMPDIR)/$(ARCHIVE)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								README
									
									
									
									
									
								
							@@ -21,11 +21,9 @@ transponder and stream information are also available in advanced display modes.
 | 
			
		||||
 | 
			
		||||
The plugin is based on a neat console frontend status monitor application
 | 
			
		||||
called 'femon' by Johannes Stezenbach (see DVB-apps/szap/femon.c for further
 | 
			
		||||
information). The other parts of plugin code are borrowed from the excellent
 | 
			
		||||
'OSD Picture-In-Picture' plugin by Sascha Volkenandt and Andreas Regel. The
 | 
			
		||||
bitrate calculation algorithm originates from the 'dvbstream' application by
 | 
			
		||||
Dave Chapman and the stream information routines from the 'libdvb' library by
 | 
			
		||||
Metzler Brothers.
 | 
			
		||||
information). The bitrate calculation trick originates from the 'dvbstream'
 | 
			
		||||
application by Dave Chapman and the stream information routines are taken from
 | 
			
		||||
the 'libdvb' library by Metzler Brothers.
 | 
			
		||||
 | 
			
		||||
Terminology:
 | 
			
		||||
 | 
			
		||||
@@ -65,7 +63,7 @@ Ok            - Switch between display modes: basic, transponder, stream, AC-3
 | 
			
		||||
Green         - Select next audio track
 | 
			
		||||
Yellow        - Select audio channel: stereo, mono left, mono right
 | 
			
		||||
Back          - Exit plugin
 | 
			
		||||
(Left/Right   - Switch to next/previous device that provides the current channel)
 | 
			
		||||
Left/Right    - Switch to next/previous device that provides the current channel
 | 
			
		||||
 | 
			
		||||
Installation:
 | 
			
		||||
 | 
			
		||||
@@ -82,14 +80,16 @@ Notes:
 | 
			
		||||
- The plugin supports only those DVB cards with _one_ frontend (do any cards
 | 
			
		||||
  with multiple frontends even exist?), because I haven't yet figured howto do
 | 
			
		||||
  it without patching the VDR core.
 | 
			
		||||
 | 
			
		||||
- Disable the stream analyze to speed up heavy zapping sessions.
 | 
			
		||||
 | 
			
		||||
- The signal strength and signal-to-noise ratio values are comparable only
 | 
			
		||||
  between the same brand/model frontends. Due to the lack of proper frontend
 | 
			
		||||
  specifications those values cannot be calculated into any real units.
 | 
			
		||||
 | 
			
		||||
- If the OSD isn't visible, you've configured the OSD height too big or too
 | 
			
		||||
  small. Please, try to adjust the variable on the setup page before writing
 | 
			
		||||
  any bug reports.
 | 
			
		||||
- There's a shrinked default OSD height for NTSC users: make NTSC_SYSTEM=1
 | 
			
		||||
- The device switching feature is still non-functional.
 | 
			
		||||
  any bug reports. NTSC users should use a shrinked default OSD height by
 | 
			
		||||
  compiling the plugin with: make FEMON_NTSC=1
 | 
			
		||||
 | 
			
		||||
"Femon - A real womon who lives according to her natural feminine inclinations."
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										51
									
								
								femon.c
									
									
									
									
									
								
							
							
						
						
									
										51
									
								
								femon.c
									
									
									
									
									
								
							@@ -12,7 +12,7 @@
 | 
			
		||||
#include "femonosd.h"
 | 
			
		||||
#include "femon.h"
 | 
			
		||||
 | 
			
		||||
#if VDRVERSNUM && VDRVERSNUM < 10318
 | 
			
		||||
#if VDRVERSNUM && VDRVERSNUM < 10329
 | 
			
		||||
#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,23 @@ 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");
 | 
			
		||||
  themes[eFemonThemeMoronimo]      = tr("Moronimo");
 | 
			
		||||
 | 
			
		||||
  Setup();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -99,18 +112,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("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 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 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 +136,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.9";
 | 
			
		||||
static const char *VERSION        = "0.9.2";
 | 
			
		||||
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);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										53
									
								
								femoncfg.c
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								femoncfg.c
									
									
									
									
									
								
							@@ -14,6 +14,7 @@ cFemonConfig::cFemonConfig(void)
 | 
			
		||||
{
 | 
			
		||||
  hidemenu       = 0;
 | 
			
		||||
  displaymode    = 0;
 | 
			
		||||
  theme          = 0;
 | 
			
		||||
  position       = 1;
 | 
			
		||||
  redlimit       = 33;
 | 
			
		||||
  greenlimit     = 66;
 | 
			
		||||
@@ -22,9 +23,59 @@ cFemonConfig::cFemonConfig(void)
 | 
			
		||||
  calcinterval   = 20;
 | 
			
		||||
  syslogoutput   = 0;
 | 
			
		||||
  showcasystem   = 0;
 | 
			
		||||
#ifdef NTSC_SYSTEM
 | 
			
		||||
#ifdef FEMON_NTSC
 | 
			
		||||
  osdheight      = 420;
 | 
			
		||||
#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
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    // eFemonThemeMoronimo
 | 
			
		||||
    0xDF294A6B, // clrBackground
 | 
			
		||||
    0xDF3E5578, // clrTitleBackground
 | 
			
		||||
    0xFF9BBAD7, // clrTitleText
 | 
			
		||||
    0xFFCE7B00, // clrActiveText
 | 
			
		||||
    0xFF9A9A9A, // clrInactiveText
 | 
			
		||||
    0xFF992900, // clrRed
 | 
			
		||||
    0xFFCE7B00, // clrYellow
 | 
			
		||||
    0xFF336600, // clrGreen
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										46
									
								
								femoncfg.h
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								femoncfg.h
									
									
									
									
									
								
							@@ -9,19 +9,20 @@
 | 
			
		||||
#ifndef __FEMONCFG_H
 | 
			
		||||
#define __FEMONCFG_H
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
#define debug(x) (x);
 | 
			
		||||
#ifdef FEMON_DEBUG
 | 
			
		||||
#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,32 @@ public:
 | 
			
		||||
  int syslogoutput;
 | 
			
		||||
  int showcasystem;
 | 
			
		||||
  int osdheight;
 | 
			
		||||
  int osdoffset;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern cFemonConfig femonConfig;
 | 
			
		||||
 | 
			
		||||
enum eFemonThemes
 | 
			
		||||
{
 | 
			
		||||
  eFemonThemeClassic,
 | 
			
		||||
  eFemonThemeElchi,
 | 
			
		||||
  eFemonThemeDeepBlue,
 | 
			
		||||
  eFemonThemeMoronimo,
 | 
			
		||||
  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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										438
									
								
								femoni18n.c
									
									
									
									
									
								
							
							
						
						
									
										438
									
								
								femoni18n.c
									
									
									
									
									
								
							@@ -17,7 +17,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Portugu<67>s
 | 
			
		||||
    "", // Fran<61>ais
 | 
			
		||||
    "", // Norsk
 | 
			
		||||
    "DVB signaalimittari (OSD)", // suomi
 | 
			
		||||
    "Signaalimittari (OSD)", // suomi
 | 
			
		||||
    "", // Polski
 | 
			
		||||
    "", // Espa<70>ol
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -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)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "K<EFBFBD>rgus", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Default Display Mode", // English
 | 
			
		||||
  { "Horizontal offset", // English
 | 
			
		||||
    "Horizontaler Offset", // 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)
 | 
			
		||||
    "Horisontaalne nihe", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Default display mode", // English
 | 
			
		||||
    "Standard Anzeigemodus", // Deutsch
 | 
			
		||||
    "", // Slovenski
 | 
			
		||||
    "Modo di visualizzazione standard", // Italiano
 | 
			
		||||
@@ -101,7 +122,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Portugu<67>s
 | 
			
		||||
    "", // Fran<61>ais 
 | 
			
		||||
    "", // Norsk
 | 
			
		||||
    "Oletus n<EFBFBD>ytt<EFBFBD>moodi", // suomi
 | 
			
		||||
    "Oletusn<EFBFBD>ytt<EFBFBD>tila", // suomi
 | 
			
		||||
    "", // Polski   
 | 
			
		||||
    "", // Espa<70>ol  
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -153,7 +174,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>  
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "transponder", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "stream", // English
 | 
			
		||||
@@ -174,10 +195,115 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>  
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "voog", // 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
 | 
			
		||||
    "Elchi", // Slovenski
 | 
			
		||||
    "Elchi", // Italiano
 | 
			
		||||
    "Elchi", // Nederlands
 | 
			
		||||
    "Elchi", // Portugu<67>s
 | 
			
		||||
    "Elchi", // Fran<61>ais 
 | 
			
		||||
    "Elchi", // Norsk
 | 
			
		||||
    "Elchi", // suomi
 | 
			
		||||
    "Elchi", // Polski   
 | 
			
		||||
    "Elchi", // Espa<70>ol  
 | 
			
		||||
    "Elchi", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
    "Elchi", // Svenska
 | 
			
		||||
    "Elchi", // Romaneste
 | 
			
		||||
    "Elchi", // Magyar  
 | 
			
		||||
    "Elchi", // Catal<61>  
 | 
			
		||||
    "Elchi", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Elchi", // Hrvatski (Croatian)
 | 
			
		||||
    "Elchi", // Eesti
 | 
			
		||||
    "Elchi", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "DeepBlue", // English
 | 
			
		||||
    "DeepBlue", // Deutsch
 | 
			
		||||
    "DeepBlue", // Slovenski
 | 
			
		||||
    "DeepBlue", // Italiano
 | 
			
		||||
    "DeepBlue", // Nederlands
 | 
			
		||||
    "DeepBlue", // Portugu<67>s
 | 
			
		||||
    "DeepBlue", // Fran<61>ais 
 | 
			
		||||
    "DeepBlue", // Norsk
 | 
			
		||||
    "DeepBlue", // suomi
 | 
			
		||||
    "DeepBlue", // Polski   
 | 
			
		||||
    "DeepBlue", // Espa<70>ol  
 | 
			
		||||
    "DeepBlue", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
    "DeepBlue", // Svenska
 | 
			
		||||
    "DeepBlue", // Romaneste
 | 
			
		||||
    "DeepBlue", // Magyar  
 | 
			
		||||
    "DeepBlue", // Catal<61>  
 | 
			
		||||
    "DeepBlue", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "DeepBlue", // Hrvatski (Croatian)
 | 
			
		||||
    "DeepBlue", // Eesti
 | 
			
		||||
    "DeepBlue", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Moronimo", // English
 | 
			
		||||
    "Moronimo", // Deutsch
 | 
			
		||||
    "Moronimo", // Slovenski
 | 
			
		||||
    "Moronimo", // Italiano
 | 
			
		||||
    "Moronimo", // Nederlands
 | 
			
		||||
    "Moronimo", // Portugu<67>s
 | 
			
		||||
    "Moronimo", // Fran<61>ais 
 | 
			
		||||
    "Moronimo", // Norsk
 | 
			
		||||
    "Moronimo", // suomi
 | 
			
		||||
    "Moronimo", // Polski   
 | 
			
		||||
    "Moronimo", // Espa<70>ol  
 | 
			
		||||
    "Moronimo", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
    "Moronimo", // Svenska
 | 
			
		||||
    "Moronimo", // Romaneste
 | 
			
		||||
    "Moronimo", // Magyar  
 | 
			
		||||
    "Moronimo", // Catal<61>  
 | 
			
		||||
    "Moronimo", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "Moronimo", // Hrvatski (Croatian)
 | 
			
		||||
    "Moronimo", // Eesti
 | 
			
		||||
    "Moronimo", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Hide main menu entry", // English
 | 
			
		||||
    "Hauptmen<EFBFBD>eintrag verstecken", // Deutsch
 | 
			
		||||
    "", // Slovenski
 | 
			
		||||
    "Nascondi voce men<65>", // Italiano
 | 
			
		||||
@@ -195,10 +321,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 +342,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 +363,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
 | 
			
		||||
    "Voo 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 +384,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 +405,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 +426,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 +447,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 +468,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 +489,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 +510,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 +531,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 +615,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 +636,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 +657,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 +741,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Voo info", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "MPEG Layer", // English
 | 
			
		||||
@@ -741,7 +762,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 +783,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Videovoog", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Bitrate", // English
 | 
			
		||||
@@ -783,7 +804,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Bitikiirus", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Frame Rate", // English
 | 
			
		||||
@@ -804,7 +825,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Kaadrisagedus", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Hz", // English
 | 
			
		||||
@@ -846,7 +867,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 +888,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "reserveeritud", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "free", // English
 | 
			
		||||
@@ -888,7 +909,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "vaba", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Video Format", // English
 | 
			
		||||
@@ -909,7 +930,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Videoformaat", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "PAL", // English
 | 
			
		||||
@@ -972,7 +993,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "tundmatu", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Resolution", // English
 | 
			
		||||
@@ -993,7 +1014,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Resolutsioon", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Audio Stream", // English
 | 
			
		||||
@@ -1014,7 +1035,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Audiovoog", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Sampling Frequency", // English
 | 
			
		||||
@@ -1035,7 +1056,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "S<EFBFBD>mplimissagedus", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "kHz", // English
 | 
			
		||||
@@ -1067,7 +1088,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Apid", // Portugu<67>s
 | 
			
		||||
    "Apid", // Fran<61>ais
 | 
			
		||||
    "Apid", // Norsk
 | 
			
		||||
    "<EFBFBD><EFBFBD>ni PID", // suomi
 | 
			
		||||
    "<EFBFBD><EFBFBD>ni-PID", // suomi
 | 
			
		||||
    "Apid", // Polski
 | 
			
		||||
    "Apid", // Espa<70>ol
 | 
			
		||||
    "Apid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -1088,7 +1109,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Dpid", // Portugu<67>s
 | 
			
		||||
    "Dpid", // Fran<61>ais
 | 
			
		||||
    "Dpid", // Norsk
 | 
			
		||||
    "Dolby PID", // suomi
 | 
			
		||||
    "Dolby-PID", // suomi
 | 
			
		||||
    "Dpid", // Polski
 | 
			
		||||
    "Dpid", // Espa<70>ol
 | 
			
		||||
    "Dpid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -1109,7 +1130,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Nid", // Portugu<67>s
 | 
			
		||||
    "Nid", // Fran<61>ais
 | 
			
		||||
    "Nid", // Norsk
 | 
			
		||||
    "Verkko ID", // suomi
 | 
			
		||||
    "Verkko-ID", // suomi
 | 
			
		||||
    "Nid", // Polski
 | 
			
		||||
    "Nid", // Espa<70>ol
 | 
			
		||||
    "Nid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -1130,7 +1151,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Tid", // Portugu<67>s
 | 
			
		||||
    "Tid", // Fran<61>ais
 | 
			
		||||
    "Tid", // Norsk
 | 
			
		||||
    "L<EFBFBD>hete ID", // suomi
 | 
			
		||||
    "L<EFBFBD>hete-ID", // suomi
 | 
			
		||||
    "Tid", // Polski
 | 
			
		||||
    "Tid", // Espa<70>ol
 | 
			
		||||
    "Tid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -1151,7 +1172,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "Rid", // Portugu<67>s
 | 
			
		||||
    "Rid", // Fran<61>ais
 | 
			
		||||
    "Rid", // Norsk
 | 
			
		||||
    "Radio ID", // suomi
 | 
			
		||||
    "Radio-ID", // suomi
 | 
			
		||||
    "Rid", // Polski
 | 
			
		||||
    "Rid", // Espa<70>ol
 | 
			
		||||
    "Rid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -1186,7 +1207,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "dB", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "not indicated", // English
 | 
			
		||||
    "", // Deutsch
 | 
			
		||||
    "nicht angegeben", // Deutsch
 | 
			
		||||
    "", // Slovenski
 | 
			
		||||
    "", // Italiano
 | 
			
		||||
    "", // Nederlands
 | 
			
		||||
@@ -1203,7 +1224,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "m<EFBFBD>rkimata", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "AC-3", // English
 | 
			
		||||
@@ -1235,7 +1256,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Portugu<67>s
 | 
			
		||||
    "", // Fran<61>ais
 | 
			
		||||
    "", // Norsk
 | 
			
		||||
    "AC-3 <EFBFBD><EFBFBD>niraita", // suomi
 | 
			
		||||
    "AC-3-<EFBFBD><EFBFBD>niraita", // suomi
 | 
			
		||||
    "", // Polski
 | 
			
		||||
    "", // Espa<70>ol
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -1245,7 +1266,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "AC-3 voog", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Frame Size", // English
 | 
			
		||||
@@ -1266,7 +1287,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 +1308,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Bitivoo t<><74>p", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Audio Coding Mode", // English
 | 
			
		||||
@@ -1308,7 +1329,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 +1350,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 +1371,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
 | 
			
		||||
@@ -1361,7 +1382,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Portugu<67>s
 | 
			
		||||
    "", // Fran<61>ais
 | 
			
		||||
    "", // Norsk
 | 
			
		||||
    "Dolby Surround -moodi", // suomi
 | 
			
		||||
    "Dolby Surround -tehoste", // suomi
 | 
			
		||||
    "", // Polski
 | 
			
		||||
    "", // Espa<70>ol
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
 | 
			
		||||
@@ -1371,7 +1392,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 +1413,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 +1434,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 +1455,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "T<EFBFBD>iskomplekt (CM)", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Music and Effects (ME)", // English
 | 
			
		||||
@@ -1455,7 +1476,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 +1497,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 +1518,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 +1539,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 +1560,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 +1581,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 +1602,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 +1623,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 +1644,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 +1665,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 +1686,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "C", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "L", // English "Left"
 | 
			
		||||
@@ -1686,7 +1707,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "L", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "R", // English "Right"
 | 
			
		||||
@@ -1707,7 +1728,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "R", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "S", // English "Surround"
 | 
			
		||||
@@ -1728,7 +1749,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 +1770,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 +1791,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 +1812,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,6 +1833,27 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "Fikseeritud", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Analog", // English
 | 
			
		||||
    "", // Deutsch
 | 
			
		||||
    "", // Slovenski
 | 
			
		||||
    "", // Italiano
 | 
			
		||||
    "", // Nederlands
 | 
			
		||||
    "", // Portugu<67>s
 | 
			
		||||
    "", // Fran<61>ais
 | 
			
		||||
    "", // Norsk
 | 
			
		||||
    "analoginen", // 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
 | 
			
		||||
  },
 | 
			
		||||
@@ -1833,7 +1875,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "FTA", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "SECA/Mediaguard", // English
 | 
			
		||||
@@ -1854,7 +1896,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "SECA/Mediaguard", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Viaccess", // English
 | 
			
		||||
@@ -1875,7 +1917,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Viaccess", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Irdeto", // English
 | 
			
		||||
@@ -1896,7 +1938,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Irdeto", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "NDS/Videoguard", // English
 | 
			
		||||
@@ -1917,7 +1959,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "NDS/Videoguard", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "Conax", // English
 | 
			
		||||
@@ -1938,7 +1980,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "Conax", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "CryptoWorks", // English
 | 
			
		||||
@@ -1959,7 +2001,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "CryptoWorks", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "PowerVu", // English
 | 
			
		||||
@@ -1980,7 +2022,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "PowerVu", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "BetaCrypt", // English
 | 
			
		||||
@@ -2001,7 +2043,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "BetaCrypt", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "NagraVision", // English
 | 
			
		||||
@@ -2022,7 +2064,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "NagraVision", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { "SkyCrypt", // English
 | 
			
		||||
@@ -2043,7 +2085,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "", // Catal<61>
 | 
			
		||||
    "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
 | 
			
		||||
    "", // Hrvatski (Croatian)
 | 
			
		||||
    "", // Eesti
 | 
			
		||||
    "SkyCrypt", // Eesti
 | 
			
		||||
    "", // Dansk
 | 
			
		||||
  },
 | 
			
		||||
  { NULL }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										673
									
								
								femonosd.c
									
									
									
									
									
								
							
							
						
						
									
										673
									
								
								femonosd.c
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -21,7 +21,6 @@
 | 
			
		||||
 | 
			
		||||
class cFemonOsd : public cOsdObject, public cThread, public cStatus {
 | 
			
		||||
private:
 | 
			
		||||
  bool m_Active;
 | 
			
		||||
  cOsd *m_Osd;
 | 
			
		||||
  cFemonReceiver *m_Receiver;
 | 
			
		||||
  int m_Frontend;
 | 
			
		||||
@@ -40,6 +39,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,13 @@
 | 
			
		||||
#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"));
 | 
			
		||||
  m_Active = false;
 | 
			
		||||
  Dprintf("%s()\n", __PRETTY_FUNCTION__);
 | 
			
		||||
  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,22 +57,19 @@ 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);
 | 
			
		||||
     }
 | 
			
		||||
  if (Running())
 | 
			
		||||
     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;
 | 
			
		||||
  m_VideoValid = false;
 | 
			
		||||
  //m_VideoValid = false;
 | 
			
		||||
  while ((found < 4) && ((c + 4) < count)) {
 | 
			
		||||
    uint8_t *b;
 | 
			
		||||
    b = mbuf + c;
 | 
			
		||||
@@ -162,12 +158,11 @@ 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;
 | 
			
		||||
  int tmp = 0;
 | 
			
		||||
  m_AudioValid = false;
 | 
			
		||||
  //m_AudioValid = false;
 | 
			
		||||
  while (!found && (c < count)) {
 | 
			
		||||
    uint8_t *b = mbuf + c;
 | 
			
		||||
    if ((b[0] == 0xff) && ((b[1] & 0xf8) == 0xf8))
 | 
			
		||||
@@ -216,7 +211,7 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count)
 | 
			
		||||
  int found = 0;
 | 
			
		||||
  int c = 0;
 | 
			
		||||
  uint8_t frame;
 | 
			
		||||
  m_AC3Valid = false;
 | 
			
		||||
  //m_AC3Valid = false;
 | 
			
		||||
  while (!found && (c < count)) {
 | 
			
		||||
    uint8_t *b = mbuf + c;
 | 
			
		||||
    if ((b[0] == 0x0b) && (b[1] == 0x77))
 | 
			
		||||
@@ -254,20 +249,15 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count)
 | 
			
		||||
 | 
			
		||||
void cFemonReceiver::Activate(bool On)
 | 
			
		||||
{
 | 
			
		||||
  debug(printf("cFemonReceiver::Activate()\n"));
 | 
			
		||||
  if (On) {
 | 
			
		||||
     if (!m_Active)
 | 
			
		||||
        Start();
 | 
			
		||||
     }
 | 
			
		||||
  else if (m_Active) {
 | 
			
		||||
     m_Active = false;
 | 
			
		||||
     Cancel(0);
 | 
			
		||||
     }
 | 
			
		||||
  Dprintf("%s(%d)\n", __PRETTY_FUNCTION__, On);
 | 
			
		||||
  if (On)
 | 
			
		||||
     Start();
 | 
			
		||||
  else
 | 
			
		||||
     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,10 +300,9 @@ 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) {
 | 
			
		||||
  while (Running()) {
 | 
			
		||||
        t.Set(0);
 | 
			
		||||
        // TS packet 188 bytes - 4 byte header; MPEG standard defines 1Mbit = 1000000bit
 | 
			
		||||
        m_VideoBitrate = (8.0 * 184.0 * m_VideoPacketCount) / (femonConfig.calcinterval * 100000.0);
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,6 @@ enum eDolbySurroundMode {
 | 
			
		||||
 | 
			
		||||
class cFemonReceiver : public cReceiver, public cThread {
 | 
			
		||||
private:
 | 
			
		||||
  bool   m_Active;
 | 
			
		||||
  int    m_VideoPid;
 | 
			
		||||
  int    m_AudioPid;
 | 
			
		||||
  int    m_AC3Pid;
 | 
			
		||||
@@ -95,7 +94,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