1
0
mirror of https://github.com/rofafor/vdr-plugin-femon.git synced 2023-10-10 11:36:53 +00:00

Compare commits

..

5 Commits

Author SHA1 Message Date
Rolf Ahrenberg
0f111eb660 Updated Estonian translations (Thanks to Arthur Konovalov).
Added the missing german translations (Thanks to #vdr-portal).
2005-04-04 04:20:00 +03:00
Rolf Ahrenberg
6670f85a20 Cleaned up finnish translations (Thanks to Ville Skyttä). 2005-04-02 04:20:00 +03:00
Rolf Ahrenberg
9814970182 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-01 04:20:00 +03:00
Rolf Ahrenberg
5bda0fa833 Horizontal offset setup option should be functional now. 2005-02-26 04:20:00 +02:00
Rolf Ahrenberg
ca954757db 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-24 04:20:00 +02:00
16 changed files with 768 additions and 479 deletions

26
HISTORY
View File

@@ -130,3 +130,29 @@ VDR Plugin 'femon' Revision History
2005-01-24: Version 0.8.1 2005-01-24: Version 0.8.1
- Added Estonian translations (Thanks to Arthur Konovalov). - 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).

View File

@@ -48,6 +48,13 @@ ifdef NTSC_SYSTEM
DEFINES += -DNTSC_SYSTEM DEFINES += -DNTSC_SYSTEM
endif endif
ifdef DEBUG
DEFINES += -DDEBUG
endif
.PHONY: all all-redirect
all-redirect: all
### The object files (add further files here): ### The object files (add further files here):
OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femoni18n.o OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femoni18n.o

8
README
View File

@@ -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 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 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 information). The bitrate calculation trick originates from the 'dvbstream'
'OSD Picture-In-Picture' plugin by Sascha Volkenandt and Andreas Regel. The application by Dave Chapman and the stream information routines are taken from
bitrate calculation algorithm originates from the 'dvbstream' application by the 'libdvb' library by Metzler Brothers.
Dave Chapman and the stream information routines from the 'libdvb' library by
Metzler Brothers.
Terminology: Terminology:

51
femon.c
View File

@@ -12,7 +12,7 @@
#include "femonosd.h" #include "femonosd.h"
#include "femon.h" #include "femon.h"
#if VDRVERSNUM && VDRVERSNUM < 10319 #if VDRVERSNUM && VDRVERSNUM < 10321
#error "You don't exist! Go away!" #error "You don't exist! Go away!"
#endif #endif
@@ -53,6 +53,11 @@ bool cPluginFemon::Start(void)
return true; return true;
} }
void cPluginFemon::Stop(void)
{
// Stop the background activities.
}
void cPluginFemon::Housekeeping(void) void cPluginFemon::Housekeeping(void)
{ {
// Perform any cleanup or other regular tasks. // 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, "DisplayMode")) femonConfig.displaymode = atoi(Value);
else if (!strcasecmp(Name, "Position")) femonConfig.position = atoi(Value); else if (!strcasecmp(Name, "Position")) femonConfig.position = atoi(Value);
else if (!strcasecmp(Name, "OSDHeight")) femonConfig.osdheight = 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, "ShowCASystem")) femonConfig.showcasystem = atoi(Value);
else if (!strcasecmp(Name, "RedLimit")) femonConfig.redlimit = atoi(Value); else if (!strcasecmp(Name, "RedLimit")) femonConfig.redlimit = atoi(Value);
else if (!strcasecmp(Name, "GreenLimit")) femonConfig.greenlimit = atoi(Value); else if (!strcasecmp(Name, "GreenLimit")) femonConfig.greenlimit = atoi(Value);
@@ -80,17 +87,23 @@ bool cPluginFemon::SetupParse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "CalcInterval")) femonConfig.calcinterval = atoi(Value); else if (!strcasecmp(Name, "CalcInterval")) femonConfig.calcinterval = atoi(Value);
else else
return false; return false;
if (femonConfig.displaymode < 0 || femonConfig.displaymode >= modeMaxNumber) femonConfig.displaymode = 0; if (femonConfig.displaymode < 0 || femonConfig.displaymode >= eFemonModeMaxNumber) femonConfig.displaymode = 0;
return true; return true;
} }
cMenuFemonSetup::cMenuFemonSetup(void) cMenuFemonSetup::cMenuFemonSetup(void)
{ {
dispmodes[modeBasic] = tr("basic"); dispmodes[eFemonModeBasic] = tr("basic");
dispmodes[modeTransponder] = tr("transponder"); dispmodes[eFemonModeTransponder] = tr("transponder");
dispmodes[modeStream] = tr("stream"); dispmodes[eFemonModeStream] = tr("stream");
dispmodes[modeAC3] = tr("AC-3"); dispmodes[eFemonModeAC3] = tr("AC-3");
themes[eFemonThemeClassic] = tr("Classic");
themes[eFemonThemeElchi] = tr("Elchi");
themes[eFemonThemeDeepBlue] = tr("DeepBlue");
themes[eFemonThemeMoronimo] = tr("Moronimo");
Setup(); Setup();
} }
@@ -99,18 +112,20 @@ void cMenuFemonSetup::Setup(void)
int current = Current(); int current = Current();
Clear(); Clear();
Add(new cMenuEditBoolItem( tr("Hide Mainmenu Entry"), &femonConfig.hidemenu, 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 cMenuEditBoolItem( tr("Use syslog output"), &femonConfig.syslogoutput, tr("no"), tr("yes")));
Add(new cMenuEditStraItem( tr("Default Display Mode"), &femonConfig.displaymode, modeMaxNumber, dispmodes)); Add(new cMenuEditStraItem( tr("Default display mode"), &femonConfig.displaymode, eFemonModeMaxNumber, dispmodes));
Add(new cMenuEditBoolItem( tr("Position"), &femonConfig.position, tr("bottom"), tr("top"))); Add(new cMenuEditStraItem( tr("Theme"), &femonConfig.theme, eFemonThemeMaxNumber,themes));
Add(new cMenuEditIntItem( tr("Height"), &femonConfig.osdheight, 400, 500)); Add(new cMenuEditBoolItem( tr("Position"), &femonConfig.position, tr("bottom"), tr("top")));
Add(new cMenuEditBoolItem( tr("Show CA System"), &femonConfig.showcasystem, tr("no"), tr("yes"))); Add(new cMenuEditIntItem( tr("Height"), &femonConfig.osdheight, 400, 500));
Add(new cMenuEditIntItem( tr("Red Limit [%]"), &femonConfig.redlimit, 1, 50)); Add(new cMenuEditIntItem( tr("Horizontal offset"), &femonConfig.osdoffset, -50, 50));
Add(new cMenuEditIntItem( tr("Green Limit [%]"), &femonConfig.greenlimit, 51, 100)); Add(new cMenuEditBoolItem( tr("Show CA system"), &femonConfig.showcasystem, tr("no"), tr("yes")));
Add(new cMenuEditIntItem( tr("OSD Update Interval [0.1s]"), &femonConfig.updateinterval, 1, 100)); Add(new cMenuEditIntItem( tr("Red limit [%]"), &femonConfig.redlimit, 1, 50));
Add(new cMenuEditBoolItem( tr("Analyze Stream"), &femonConfig.analyzestream, tr("no"), tr("yes"))); 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) 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)); SetCurrent(Get(current));
Display(); Display();
@@ -121,8 +136,10 @@ void cMenuFemonSetup::Store(void)
SetupStore("HideMenu", femonConfig.hidemenu); SetupStore("HideMenu", femonConfig.hidemenu);
SetupStore("SyslogOutput", femonConfig.syslogoutput); SetupStore("SyslogOutput", femonConfig.syslogoutput);
SetupStore("DisplayMode", femonConfig.displaymode); SetupStore("DisplayMode", femonConfig.displaymode);
SetupStore("Theme", femonConfig.theme);
SetupStore("Position", femonConfig.position); SetupStore("Position", femonConfig.position);
SetupStore("OSDHeight", femonConfig.osdheight); SetupStore("OSDHeight", femonConfig.osdheight);
SetupStore("OSDOffset", femonConfig.osdoffset);
SetupStore("ShowCASystem", femonConfig.showcasystem); SetupStore("ShowCASystem", femonConfig.showcasystem);
SetupStore("RedLimit", femonConfig.redlimit); SetupStore("RedLimit", femonConfig.redlimit);
SetupStore("GreenLimit", femonConfig.greenlimit); SetupStore("GreenLimit", femonConfig.greenlimit);

View File

@@ -11,7 +11,7 @@
#include <vdr/plugin.h> #include <vdr/plugin.h>
static const char *VERSION = "0.8.1"; static const char *VERSION = "0.8.9";
static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)"; static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)";
static const char *MAINMENUENTRY = "Signal Information"; static const char *MAINMENUENTRY = "Signal Information";
@@ -27,6 +27,7 @@ public:
virtual bool ProcessArgs(int argc, char *argv[]); virtual bool ProcessArgs(int argc, char *argv[]);
virtual bool Initialize(void); virtual bool Initialize(void);
virtual bool Start(void); virtual bool Start(void);
virtual void Stop(void);
virtual void Housekeeping(void); virtual void Housekeeping(void);
virtual const char *MainMenuEntry(void) { return (femonConfig.hidemenu ? NULL : tr(MAINMENUENTRY)); } virtual const char *MainMenuEntry(void) { return (femonConfig.hidemenu ? NULL : tr(MAINMENUENTRY)); }
virtual cOsdObject *MainMenuAction(void); virtual cOsdObject *MainMenuAction(void);
@@ -36,7 +37,8 @@ public:
class cMenuFemonSetup : public cMenuSetupPage { class cMenuFemonSetup : public cMenuSetupPage {
private: private:
const char *dispmodes[modeMaxNumber]; const char *dispmodes[eFemonModeMaxNumber];
const char *themes[eFemonThemeMaxNumber];
virtual void Setup(void); virtual void Setup(void);
protected: protected:
virtual eOSState ProcessKey(eKeys Key); virtual eOSState ProcessKey(eKeys Key);

View File

@@ -14,6 +14,7 @@ cFemonConfig::cFemonConfig(void)
{ {
hidemenu = 0; hidemenu = 0;
displaymode = 0; displaymode = 0;
theme = 0;
position = 1; position = 1;
redlimit = 33; redlimit = 33;
greenlimit = 66; greenlimit = 66;
@@ -27,4 +28,54 @@ cFemonConfig::cFemonConfig(void)
#else #else
osdheight = 480; osdheight = 480;
#endif #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
},
};

View File

@@ -10,18 +10,19 @@
#define __FEMONCFG_H #define __FEMONCFG_H
#ifdef DEBUG #ifdef DEBUG
#define debug(x) (x); #define Dprintf(x...) printf(x);
#else #else
#define debug(x) ; #define Dprintf(x...) ;
#endif #endif
enum dispModes { enum eFemonModes
modeBasic, {
modeTransponder, eFemonModeBasic,
modeStream, eFemonModeTransponder,
modeAC3, eFemonModeStream,
modeMaxNumber eFemonModeAC3,
}; eFemonModeMaxNumber
};
struct cFemonConfig struct cFemonConfig
{ {
@@ -29,6 +30,7 @@ public:
cFemonConfig(void); cFemonConfig(void);
int hidemenu; int hidemenu;
int displaymode; int displaymode;
int theme;
int position; int position;
int redlimit; int redlimit;
int greenlimit; int greenlimit;
@@ -38,8 +40,32 @@ public:
int syslogoutput; int syslogoutput;
int showcasystem; int showcasystem;
int osdheight; int osdheight;
int osdoffset;
}; };
extern cFemonConfig femonConfig; 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 #endif // __FEMONCFG_H

View File

@@ -17,7 +17,7 @@ const tI18nPhrase Phrases[] = {
"", // Portugu<67>s "", // Portugu<67>s
"", // Fran<61>ais "", // Fran<61>ais
"", // Norsk "", // Norsk
"DVB signaalimittari (OSD)", // suomi "Signaalimittari (OSD)", // suomi
"", // Polski "", // Polski
"", // Espa<70>ol "", // Espa<70>ol
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -93,7 +93,28 @@ const tI18nPhrase Phrases[] = {
"K<EFBFBD>rgus", // Eesti "K<EFBFBD>rgus", // Eesti
"", // Dansk "", // 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 "Standard Anzeigemodus", // Deutsch
"", // Slovenski "", // Slovenski
"Modo di visualizzazione standard", // Italiano "Modo di visualizzazione standard", // Italiano
@@ -101,7 +122,7 @@ const tI18nPhrase Phrases[] = {
"", // Portugu<67>s "", // Portugu<67>s
"", // Fran<61>ais "", // Fran<61>ais
"", // Norsk "", // Norsk
"Oletus n<EFBFBD>ytt<EFBFBD>moodi", // suomi "Oletusn<EFBFBD>ytt<EFBFBD>tila", // suomi
"", // Polski "", // Polski
"", // Espa<70>ol "", // Espa<70>ol
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -153,8 +174,8 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"", // Eesti "transponder", // Eesti
"transponder", // Dansk "", // Dansk
}, },
{ "stream", // English { "stream", // English
"Stream", // Deutsch "Stream", // Deutsch
@@ -174,10 +195,115 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"striim", // Eesti "voog", // Eesti
"", // Dansk "", // 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 "Hauptmen<EFBFBD>eintrag verstecken", // Deutsch
"", // Slovenski "", // Slovenski
"Nascondi voce men<65>", // Italiano "Nascondi voce men<65>", // Italiano
@@ -198,7 +324,7 @@ const tI18nPhrase Phrases[] = {
"Peida valik peamen<65><6E>s", // Eesti "Peida valik peamen<65><6E>s", // Eesti
"", // Dansk "", // Dansk
}, },
{ "OSD Update Interval [0.1s]", // English { "OSD update interval [0.1s]", // English
"OSD Updateintervall [0.1s]", // Deutsch "OSD Updateintervall [0.1s]", // Deutsch
"", // Slovenski "", // Slovenski
"Intervallo di aggiornamento [0.1s]", // Italiano "Intervallo di aggiornamento [0.1s]", // Italiano
@@ -219,7 +345,7 @@ const tI18nPhrase Phrases[] = {
"Uuendusintervall [0,1s]", // Eesti "Uuendusintervall [0,1s]", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Analyze Stream", // English { "Analyze stream", // English
"Stream analysieren", // Deutsch "Stream analysieren", // Deutsch
"", // Slovenski "", // Slovenski
"", // Italiano "", // Italiano
@@ -237,10 +363,10 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // 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) "<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) "", // Hrvatski (Croatian)
"Striimi anal<61><6C>s", // Eesti "Voo anal<61><6C>s", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Calculation Interval [0.1s]", // English { "Calculation interval [0.1s]", // English
"Berechnungsintervall [0.1s]", // Deutsch "Berechnungsintervall [0.1s]", // Deutsch
"", // Slovenski "", // Slovenski
"Intervallo di calcolo [0.1s]", // Italiano "Intervallo di calcolo [0.1s]", // Italiano
@@ -261,7 +387,7 @@ const tI18nPhrase Phrases[] = {
"Kalkulatsiooni intervall [0,1s]", // Eesti "Kalkulatsiooni intervall [0,1s]", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Red Limit [%]", // English { "Red limit [%]", // English
"Grenze Rot [%]", // Deutsch "Grenze Rot [%]", // Deutsch
"", // Slovenski "", // Slovenski
"Limite rosso [%]", // Italiano "Limite rosso [%]", // Italiano
@@ -282,7 +408,7 @@ const tI18nPhrase Phrases[] = {
"Punase limiit [%]", // Eesti "Punase limiit [%]", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Green Limit [%]", // English { "Green limit [%]", // English
"Grenze Gr<47>n [%]", // Deutsch "Grenze Gr<47>n [%]", // Deutsch
"", // Slovenski "", // Slovenski
"Limite verde [%]", // Italiano "Limite verde [%]", // Italiano
@@ -387,7 +513,7 @@ const tI18nPhrase Phrases[] = {
"Terrestiaalkaart", // Eesti "Terrestiaalkaart", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Use Syslog Output", // English { "Use syslog output", // English
"Benutze syslog Ausgabe", // Deutsch "Benutze syslog Ausgabe", // Deutsch
"", // Slovenski "", // Slovenski
"Registra su syslog", // Italiano "Registra su syslog", // Italiano
@@ -408,111 +534,6 @@ const tI18nPhrase Phrases[] = {
"Kirjuta s<>steemilogisse", // Eesti "Kirjuta s<>steemilogisse", // Eesti
"", // Dansk "", // 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", // English
"Audio", // Deutsch "Audio", // Deutsch
"Audio", // Slovenski "Audio", // Slovenski
@@ -720,7 +741,7 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"Striimi info", // Eesti "Voo info", // Eesti
"", // Dansk "", // Dansk
}, },
{ "MPEG Layer", // English { "MPEG Layer", // English
@@ -762,7 +783,7 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"Videostriim", // Eesti "Videovoog", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Bitrate", // English { "Bitrate", // English
@@ -1014,7 +1035,7 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"Audiostriim", // Eesti "Audiovoog", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Sampling Frequency", // English { "Sampling Frequency", // English
@@ -1067,7 +1088,7 @@ const tI18nPhrase Phrases[] = {
"Apid", // Portugu<67>s "Apid", // Portugu<67>s
"Apid", // Fran<61>ais "Apid", // Fran<61>ais
"Apid", // Norsk "Apid", // Norsk
"<EFBFBD><EFBFBD>ni PID", // suomi "<EFBFBD><EFBFBD>ni-PID", // suomi
"Apid", // Polski "Apid", // Polski
"Apid", // Espa<70>ol "Apid", // Espa<70>ol
"Apid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "Apid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -1088,7 +1109,7 @@ const tI18nPhrase Phrases[] = {
"Dpid", // Portugu<67>s "Dpid", // Portugu<67>s
"Dpid", // Fran<61>ais "Dpid", // Fran<61>ais
"Dpid", // Norsk "Dpid", // Norsk
"Dolby PID", // suomi "Dolby-PID", // suomi
"Dpid", // Polski "Dpid", // Polski
"Dpid", // Espa<70>ol "Dpid", // Espa<70>ol
"Dpid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "Dpid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -1109,7 +1130,7 @@ const tI18nPhrase Phrases[] = {
"Nid", // Portugu<67>s "Nid", // Portugu<67>s
"Nid", // Fran<61>ais "Nid", // Fran<61>ais
"Nid", // Norsk "Nid", // Norsk
"Verkko ID", // suomi "Verkko-ID", // suomi
"Nid", // Polski "Nid", // Polski
"Nid", // Espa<70>ol "Nid", // Espa<70>ol
"Nid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "Nid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -1130,7 +1151,7 @@ const tI18nPhrase Phrases[] = {
"Tid", // Portugu<67>s "Tid", // Portugu<67>s
"Tid", // Fran<61>ais "Tid", // Fran<61>ais
"Tid", // Norsk "Tid", // Norsk
"L<EFBFBD>hete ID", // suomi "L<EFBFBD>hete-ID", // suomi
"Tid", // Polski "Tid", // Polski
"Tid", // Espa<70>ol "Tid", // Espa<70>ol
"Tid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "Tid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -1151,7 +1172,7 @@ const tI18nPhrase Phrases[] = {
"Rid", // Portugu<67>s "Rid", // Portugu<67>s
"Rid", // Fran<61>ais "Rid", // Fran<61>ais
"Rid", // Norsk "Rid", // Norsk
"Radio ID", // suomi "Radio-ID", // suomi
"Rid", // Polski "Rid", // Polski
"Rid", // Espa<70>ol "Rid", // Espa<70>ol
"Rid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "Rid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -1186,7 +1207,7 @@ const tI18nPhrase Phrases[] = {
"dB", // Dansk "dB", // Dansk
}, },
{ "not indicated", // English { "not indicated", // English
"", // Deutsch "nicht angegeben", // Deutsch
"", // Slovenski "", // Slovenski
"", // Italiano "", // Italiano
"", // Nederlands "", // Nederlands
@@ -1235,7 +1256,7 @@ const tI18nPhrase Phrases[] = {
"", // Portugu<67>s "", // Portugu<67>s
"", // Fran<61>ais "", // Fran<61>ais
"", // Norsk "", // Norsk
"AC-3 <EFBFBD><EFBFBD>niraita", // suomi "AC-3-<EFBFBD><EFBFBD>niraita", // suomi
"", // Polski "", // Polski
"", // Espa<70>ol "", // Espa<70>ol
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -1245,7 +1266,7 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"AC-3 striim", // Eesti "AC-3 voog", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Frame Size", // English { "Frame Size", // English
@@ -1287,7 +1308,7 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"Bitistriimi t<><74>p", // Eesti "Bitivoo t<><74>p", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Audio Coding Mode", // English { "Audio Coding Mode", // English
@@ -1361,7 +1382,7 @@ const tI18nPhrase Phrases[] = {
"", // Portugu<67>s "", // Portugu<67>s
"", // Fran<61>ais "", // Fran<61>ais
"", // Norsk "", // Norsk
"Dolby Surround -moodi", // suomi "Dolby Surround -tehoste", // suomi
"", // Polski "", // Polski
"", // Espa<70>ol "", // Espa<70>ol
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
@@ -1434,7 +1455,7 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"CM", // Eesti "T<EFBFBD>iskomplekt (CM)", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Music and Effects (ME)", // English { "Music and Effects (ME)", // English
@@ -1665,7 +1686,7 @@ const tI18nPhrase Phrases[] = {
"", // Catal<61> "", // Catal<61>
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
"", // Hrvatski (Croatian) "", // Hrvatski (Croatian)
"K", // Eesti "C", // Eesti
"", // Dansk "", // Dansk
}, },
{ "L", // English "Left" { "L", // English "Left"
@@ -1773,7 +1794,7 @@ const tI18nPhrase Phrases[] = {
"SR", // Eesti "SR", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Show CA System", // English { "Show CA system", // English
"CA System anzeigen", // Deutsch "CA System anzeigen", // Deutsch
"", // Slovenski "", // Slovenski
"", // Italiano "", // Italiano

File diff suppressed because it is too large Load Diff

View File

@@ -40,6 +40,7 @@ private:
static cBitmap bmStereo, bmMonoLeft, bmMonoRight, bmDD, bmDD20, bmDD51; static cBitmap bmStereo, bmMonoLeft, bmMonoRight, bmDD, bmDD20, bmDD51;
static cBitmap bmZero, bmDevice, bmPAL, bmNTSC, bmOne, bmTwo, bmThree, bmFour, bmFive; 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 bmAspectRatio_1_1, bmAspectRatio_16_9, bmAspectRatio_2_21_1, bmAspectRatio_4_3;
static cBitmap bmLock, bmSignal, bmCarrier, bmViterbi, bmSync;
void DrawStatusWindow(void); void DrawStatusWindow(void);
void DrawInfoWindow(void); void DrawInfoWindow(void);

View File

@@ -20,11 +20,11 @@
cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[]) cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[])
:cReceiver(Ca, -1, Vpid, Apid, Dpid, NULL), cThread("femon receiver") :cReceiver(Ca, -1, Vpid, Apid, Dpid, NULL), cThread("femon receiver")
{ {
debug(printf("cFemonReceiver::cFemonReceiver()\n")); Dprintf("%s()\n", __PRETTY_FUNCTION__);
m_Active = false; m_Active = false;
m_VideoPid = Vpid; m_VideoPid = Vpid;
m_AudioPid = Apid[0]; m_AudioPid = Apid[0];
m_AC3Pid = Dpid[0]; m_AC3Pid = Dpid[0];
m_VideoValid = false; m_VideoValid = false;
m_VideoPacketCount = 0; m_VideoPacketCount = 0;
m_VideoHorizontalSize = 0; m_VideoHorizontalSize = 0;
@@ -58,18 +58,17 @@ cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[])
cFemonReceiver::~cFemonReceiver(void) cFemonReceiver::~cFemonReceiver(void)
{ {
debug(printf("cFemonReceiver::~cFemonReceiver()\n")); Dprintf("%s()\n", __PRETTY_FUNCTION__);
Detach(); Detach();
if (m_Active) { if (m_Active) {
m_Active = false; m_Active = false;
Cancel(0); Cancel();
} }
} }
/* The following function originates from libdvbmpeg: */ /* The following function originates from libdvbmpeg: */
void cFemonReceiver::GetVideoInfo(uint8_t *mbuf, int count) void cFemonReceiver::GetVideoInfo(uint8_t *mbuf, int count)
{ {
debug(printf("cFemonReceiver::GetVideoInfo()\n"));
uint8_t *headr; uint8_t *headr;
int found = 0; int found = 0;
int c = 0; int c = 0;
@@ -162,7 +161,6 @@ static unsigned int samplerates[4] =
/* The following function originates from libdvbmpeg: */ /* The following function originates from libdvbmpeg: */
void cFemonReceiver::GetAudioInfo(uint8_t *mbuf, int count) void cFemonReceiver::GetAudioInfo(uint8_t *mbuf, int count)
{ {
debug(printf("cFemonReceiver::GetAudioInfo()\n"));
uint8_t *headr; uint8_t *headr;
int found = 0; int found = 0;
int c = 0; int c = 0;
@@ -254,20 +252,19 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count)
void cFemonReceiver::Activate(bool On) void cFemonReceiver::Activate(bool On)
{ {
debug(printf("cFemonReceiver::Activate()\n")); Dprintf("%s(%d)\n", __PRETTY_FUNCTION__, On);
if (On) { if (On) {
if (!m_Active) if (!m_Active)
Start(); Start();
} }
else if (m_Active) { else if (m_Active) {
m_Active = false; m_Active = false;
Cancel(0); Cancel();
} }
} }
void cFemonReceiver::Receive(uchar *Data, int Length) void cFemonReceiver::Receive(uchar *Data, int Length)
{ {
debug(printf("cFemonReceiver::Receive()\n"));
// TS packet length: TS_SIZE // TS packet length: TS_SIZE
if (Length == TS_SIZE) { if (Length == TS_SIZE) {
int pid = ((Data[1] & 0x1f) << 8) | (Data[2]); int pid = ((Data[1] & 0x1f) << 8) | (Data[2]);
@@ -310,7 +307,7 @@ void cFemonReceiver::Receive(uchar *Data, int Length)
void cFemonReceiver::Action(void) void cFemonReceiver::Action(void)
{ {
debug(printf("cFemonReceiver::Action()\n")); Dprintf("%s()\n", __PRETTY_FUNCTION__);
cTimeMs t; cTimeMs t;
m_Active = true; m_Active = true;
while (m_Active) { while (m_Active) {

24
symbols/carrier.xpm Normal file
View File

@@ -0,0 +1,24 @@
/* XPM */
static char * carrier_xpm[] = {
"96 19 2 1",
". c #FFFFFF",
"+ c #000000",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++............................................................................................++",
"++............................................................................................++",
"++...........+++++.......+++++.....++++++++....++++++++....+++...++++++++...++++++++..........++",
"++..........+++++++......+++++.....+++++++++...+++++++++...+++...++++++++...+++++++++.........++",
"++..........+++.++++.....+++++.....+++...+++...+++...+++...+++...+++........+++...+++.........++",
"++.........+++...++.....+++.+++....+++...+++...+++...+++...+++...+++........+++...+++.........++",
"++.........+++..........+++.+++....++++++++....++++++++....+++...+++++++....++++++++..........++",
"++.........+++..........+++.+++....+++++++.....+++++++.....+++...+++++++....+++++++...........++",
"++.........+++.........+++...+++...+++..+++....+++..+++....+++...+++........+++..+++..........++",
"++.........+++...++....+++++++++...+++..+++....+++..+++....+++...+++........+++..+++..........++",
"++..........+++.++++...+++++++++...+++...+++...+++...+++...+++...+++........+++...+++.........++",
"++..........+++++++...+++.....+++..+++...+++...+++...+++...+++...++++++++...+++...+++.........++",
"++...........+++++....+++.....+++..+++....+++..+++....+++..+++...++++++++...+++....+++........++",
"++............................................................................................++",
"++............................................................................................++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"};

24
symbols/lock.xpm Normal file
View File

@@ -0,0 +1,24 @@
/* XPM */
static char * lock_xpm[] = {
"96 19 2 1",
". c #FFFFFF",
"+ c #000000",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++............................................................................................++",
"++............................................................................................++",
"++........................+++........+++++........+++++.....+++....+++........................++",
"++........................+++.......++++++++.....+++++++....+++...+++.........................++",
"++........................+++.......+++..+++.....+++.++++...+++..+++..........................++",
"++........................+++......+++....+++...+++...++....+++.+++...........................++",
"++........................+++......+++....+++...+++.........+++++++...........................++",
"++........................+++......+++....+++...+++.........++++.+++..........................++",
"++........................+++......+++....+++...+++.........+++..+++..........................++",
"++........................+++......+++....+++...+++...++....+++...+++.........................++",
"++........................+++.......+++..+++.....+++.++++...+++...+++.........................++",
"++........................+++++++...++++++++.....+++++++....+++....+++........................++",
"++........................+++++++.....++++........+++++.....+++.....+++.......................++",
"++............................................................................................++",
"++............................................................................................++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"};

24
symbols/signal.xpm Normal file
View File

@@ -0,0 +1,24 @@
/* XPM */
static char * signal_xpm[] = {
"96 19 2 1",
". c #FFFFFF",
"+ c #000000",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++............................................................................................++",
"++............................................................................................++",
"++.................+++++....+++......+++++.....+++....+++.....+++++.....+++...................++",
"++...............++++++++...+++....++++++++....++++...+++.....+++++.....+++...................++",
"++...............+++..+++...+++....+++..++++...+++++..+++.....+++++.....+++...................++",
"++...............+++........+++...+++....++....+++++..+++....+++.+++....+++...................++",
"++...............++++++.....+++...+++..........++++++.+++....+++.+++....+++...................++",
"++................++++++....+++...+++..+++++...+++.++.+++....+++.+++....+++...................++",
"++..................+++++...+++...+++..+++++...+++.++++++...+++...+++...+++...................++",
"++...............+++..+++...+++...+++....+++...+++..+++++...+++++++++...+++...................++",
"++...............+++..+++...+++....+++...+++...+++..+++++...+++++++++...+++...................++",
"++................++++++....+++....+++++++++...+++...++++..+++.....+++..+++++++...............++",
"++.................++++.....+++......+++++.....+++....+++..+++.....+++..+++++++...............++",
"++............................................................................................++",
"++............................................................................................++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"};

24
symbols/sync.xpm Normal file
View File

@@ -0,0 +1,24 @@
/* XPM */
static char * sync_xpm[] = {
"96 19 2 1",
". c #FFFFFF",
"+ c #000000",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++............................................................................................++",
"++............................................................................................++",
"++.........................+++++...+++.....+++..+++....+++.....+++++..........................++",
"++.......................++++++++...+++...+++...++++...+++....+++++++.........................++",
"++.......................+++..+++....+++.+++....+++++..+++....+++.++++........................++",
"++.......................+++.........+++.+++....+++++..+++...+++...++.........................++",
"++.......................++++++.......+++++.....++++++.+++...+++..............................++",
"++........................++++++......+++++.....+++.++.+++...+++..............................++",
"++..........................+++++......+++......+++.++++++...+++..............................++",
"++.......................+++..+++......+++......+++..+++++...+++...++.........................++",
"++.......................+++..+++......+++......+++..+++++....+++.++++........................++",
"++........................++++++.......+++......+++...++++....+++++++.........................++",
"++.........................++++........+++......+++....+++.....+++++..........................++",
"++............................................................................................++",
"++............................................................................................++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"};

24
symbols/viterbi.xpm Normal file
View File

@@ -0,0 +1,24 @@
/* XPM */
static char * viterbi_xpm[] = {
"96 19 2 1",
". c #FFFFFF",
"+ c #000000",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++............................................................................................++",
"++............................................................................................++",
"++............+++.....+++..+++...+++++++++..++++++++...++++++++....++++++++....+++............++",
"++.............++.....++...+++...+++++++++..++++++++...+++++++++...+++++++++...+++............++",
"++.............+++...+++...+++......+++.....+++........+++...+++...+++...+++...+++............++",
"++.............+++...+++...+++......+++.....+++........+++...+++...+++...+++...+++............++",
"++..............++...++....+++......+++.....+++++++....++++++++....++++++++....+++............++",
"++..............+++.+++....+++......+++.....+++++++....+++++++.....++++++++....+++............++",
"++..............+++.+++....+++......+++.....+++........+++..+++....+++...+++...+++............++",
"++...............++.++.....+++......+++.....+++........+++..+++....+++...+++...+++............++",
"++...............+++++.....+++......+++.....+++........+++...+++...+++...+++...+++............++",
"++...............+++++.....+++......+++.....++++++++...+++...+++...+++++++++...+++............++",
"++................+++......+++......+++.....++++++++...+++....+++..++++++++....+++............++",
"++............................................................................................++",
"++............................................................................................++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"};