mirror of
https://github.com/rofafor/vdr-plugin-femon.git
synced 2023-10-10 13:36:53 +02:00
Updated for vdr-1.3.34.
Added Enigma theme (Thanks to Rolf Hoverath). Added EgalsTry theme (Thanks to Uwe Hanke). Added option to disable rounded corners.
This commit is contained in:
parent
37957be99f
commit
e2fb9e994a
7
HISTORY
7
HISTORY
@ -176,3 +176,10 @@ VDR Plugin 'femon' Revision History
|
||||
|
||||
- Updated for vdr-1.3.31.
|
||||
- Added preliminary svdrp and service support.
|
||||
|
||||
2005-10-04: Version 0.9.4
|
||||
|
||||
- Updated for vdr-1.3.34.
|
||||
- Added Enigma theme (Thanks to Rolf Hoverath).
|
||||
- Added EgalsTry theme (Thanks to Uwe Hanke).
|
||||
- Added option to disable rounded corners.
|
||||
|
12
femon.c
12
femon.c
@ -14,8 +14,8 @@
|
||||
#include "femontools.h"
|
||||
#include "femon.h"
|
||||
|
||||
#if VDRVERSNUM && VDRVERSNUM < 10331
|
||||
#error "You don't exist! Go away!"
|
||||
#if defined(VDRVERSNUM) && VDRVERSNUM < 10334
|
||||
#error "You don't exist! Go away! Upgrade yourself!"
|
||||
#endif
|
||||
|
||||
cPluginFemon::cPluginFemon(void)
|
||||
@ -80,6 +80,7 @@ bool cPluginFemon::SetupParse(const char *Name, const char *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, "Skin")) femonConfig.skin = 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);
|
||||
@ -173,10 +174,15 @@ cMenuFemonSetup::cMenuFemonSetup(void)
|
||||
dispmodes[eFemonModeStream] = tr("stream");
|
||||
dispmodes[eFemonModeAC3] = tr("AC-3");
|
||||
|
||||
skins[eFemonSkinClassic] = tr("Classic");
|
||||
skins[eFemonSkinElchi] = tr("Elchi");
|
||||
|
||||
themes[eFemonThemeClassic] = tr("Classic");
|
||||
themes[eFemonThemeElchi] = tr("Elchi");
|
||||
themes[eFemonThemeDeepBlue] = tr("DeepBlue");
|
||||
themes[eFemonThemeMoronimo] = tr("Moronimo");
|
||||
themes[eFemonThemeEnigma] = tr("Enigma");
|
||||
themes[eFemonThemeEgalsTry] = tr("EgalsTry");
|
||||
|
||||
Setup();
|
||||
}
|
||||
@ -189,6 +195,7 @@ void cMenuFemonSetup::Setup(void)
|
||||
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("Skin"), &femonConfig.skin, eFemonSkinMaxNumber, skins));
|
||||
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));
|
||||
@ -210,6 +217,7 @@ void cMenuFemonSetup::Store(void)
|
||||
SetupStore("HideMenu", femonConfig.hidemenu);
|
||||
SetupStore("SyslogOutput", femonConfig.syslogoutput);
|
||||
SetupStore("DisplayMode", femonConfig.displaymode);
|
||||
SetupStore("Skin", femonConfig.skin);
|
||||
SetupStore("Theme", femonConfig.theme);
|
||||
SetupStore("Position", femonConfig.position);
|
||||
SetupStore("OSDHeight", femonConfig.osdheight);
|
||||
|
3
femon.h
3
femon.h
@ -11,7 +11,7 @@
|
||||
|
||||
#include <vdr/plugin.h>
|
||||
|
||||
static const char *VERSION = "0.9.3";
|
||||
static const char *VERSION = "0.9.4";
|
||||
static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)";
|
||||
static const char *MAINMENUENTRY = "Signal Information";
|
||||
|
||||
@ -41,6 +41,7 @@ public:
|
||||
class cMenuFemonSetup : public cMenuSetupPage {
|
||||
private:
|
||||
const char *dispmodes[eFemonModeMaxNumber];
|
||||
const char *skins[eFemonSkinMaxNumber];
|
||||
const char *themes[eFemonThemeMaxNumber];
|
||||
virtual void Setup(void);
|
||||
protected:
|
||||
|
24
femoncfg.c
24
femoncfg.c
@ -14,6 +14,7 @@ cFemonConfig::cFemonConfig(void)
|
||||
{
|
||||
hidemenu = 0;
|
||||
displaymode = 0;
|
||||
skin = 0;
|
||||
theme = 0;
|
||||
position = 1;
|
||||
redlimit = 33;
|
||||
@ -77,5 +78,26 @@ const cFemonTheme femonTheme[eFemonThemeMaxNumber] =
|
||||
0xFFCE7B00, // clrYellow
|
||||
0xFF336600, // clrGreen
|
||||
},
|
||||
{
|
||||
// eFemonThemeEnigma
|
||||
0xB8DEE5FA, // clrBackground
|
||||
0xB84158BC, // clrTitleBackground
|
||||
0xFFFFFFFF, // clrTitleText
|
||||
0xFF000000, // clrActiveText
|
||||
0xFF000000, // clrInactiveText
|
||||
0xB8C40000, // clrRed
|
||||
0xB8C4C400, // clrYellow
|
||||
0xB800C400, // clrGreen
|
||||
},
|
||||
{
|
||||
// eFemonThemeEgalsTry
|
||||
0xCA2B1B9E, // clrBackground
|
||||
0xDFBEBAC3, // clrTitleBackground
|
||||
0xFF280249, // clrTitleText
|
||||
0xFFD4D7DB, // clrActiveText
|
||||
0xDFCFCFCF, // clrInactiveText
|
||||
0xFFFF0000, // clrRed
|
||||
0xFFFCC024, // clrYellow
|
||||
0xFF20980B, // clrGreen
|
||||
},
|
||||
};
|
||||
|
||||
|
10
femoncfg.h
10
femoncfg.h
@ -24,6 +24,7 @@ public:
|
||||
cFemonConfig(void);
|
||||
int hidemenu;
|
||||
int displaymode;
|
||||
int skin;
|
||||
int theme;
|
||||
int position;
|
||||
int redlimit;
|
||||
@ -39,12 +40,21 @@ public:
|
||||
|
||||
extern cFemonConfig femonConfig;
|
||||
|
||||
enum eFemonSkins
|
||||
{
|
||||
eFemonSkinClassic,
|
||||
eFemonSkinElchi,
|
||||
eFemonSkinMaxNumber
|
||||
};
|
||||
|
||||
enum eFemonThemes
|
||||
{
|
||||
eFemonThemeClassic,
|
||||
eFemonThemeElchi,
|
||||
eFemonThemeDeepBlue,
|
||||
eFemonThemeMoronimo,
|
||||
eFemonThemeEnigma,
|
||||
eFemonThemeEgalsTry,
|
||||
eFemonThemeMaxNumber
|
||||
};
|
||||
|
||||
|
162
femoni18n.c
162
femoni18n.c
@ -120,11 +120,11 @@ const tI18nPhrase Phrases[] = {
|
||||
"Modo di visualizzazione standard", // Italiano
|
||||
"", // Nederlands
|
||||
"", // Português
|
||||
"", // Français
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"Oletusnäyttötila", // suomi
|
||||
"", // Polski
|
||||
"", // Espańol
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
"", // Romaneste
|
||||
@ -141,11 +141,11 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
"", // Português
|
||||
"", // Français
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"perus", // suomi
|
||||
"", // Polski
|
||||
"", // Espańol
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
"", // Romaneste
|
||||
@ -162,11 +162,11 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
"", // Português
|
||||
"", // Français
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"transponderi", // suomi
|
||||
"", // Polski
|
||||
"", // Espańol
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
"", // Romaneste
|
||||
@ -183,11 +183,11 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
"", // Português
|
||||
"", // Français
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"lähete", // suomi
|
||||
"", // Polski
|
||||
"", // Espańol
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
"", // Romaneste
|
||||
@ -198,17 +198,38 @@ const tI18nPhrase Phrases[] = {
|
||||
"voog", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Skin", // English
|
||||
"Oberfläche", // Deutsch
|
||||
"", // Slovenski
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
"", // Português
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"Ulkoasu", // suomi
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
"", // Romaneste
|
||||
"", // Magyar
|
||||
"", // Català
|
||||
"", // ÀãááÚØÙ (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"Kest", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Theme", // English
|
||||
"Thema", // Deutsch
|
||||
"", // Slovenski
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
"", // Português
|
||||
"", // Français
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"Teema", // suomi
|
||||
"", // Polski
|
||||
"", // Espańol
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
"", // Romaneste
|
||||
@ -225,16 +246,16 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
"", // Português
|
||||
"", // Français
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"Klassinen", // suomi
|
||||
"", // Polski
|
||||
"", // Espańol
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
"", // Romaneste
|
||||
"", // Magyar
|
||||
"", // Catalŕ
|
||||
"", // Magyar
|
||||
"", // Català
|
||||
"", // ÀãááÚØÙ (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"Klassikaline", // Eesti
|
||||
@ -246,16 +267,16 @@ const tI18nPhrase Phrases[] = {
|
||||
"Elchi", // Italiano
|
||||
"Elchi", // Nederlands
|
||||
"Elchi", // Português
|
||||
"Elchi", // Français
|
||||
"Elchi", // Français
|
||||
"Elchi", // Norsk
|
||||
"Elchi", // suomi
|
||||
"Elchi", // Polski
|
||||
"Elchi", // Espańol
|
||||
"Elchi", // Polski
|
||||
"Elchi", // Español
|
||||
"Elchi", // ÅëëçíéêÜ (Greek)
|
||||
"Elchi", // Svenska
|
||||
"Elchi", // Romaneste
|
||||
"Elchi", // Magyar
|
||||
"Elchi", // Catalŕ
|
||||
"Elchi", // Magyar
|
||||
"Elchi", // Català
|
||||
"Elchi", // ÀãááÚØÙ (Russian)
|
||||
"Elchi", // Hrvatski (Croatian)
|
||||
"Elchi", // Eesti
|
||||
@ -267,16 +288,16 @@ const tI18nPhrase Phrases[] = {
|
||||
"DeepBlue", // Italiano
|
||||
"DeepBlue", // Nederlands
|
||||
"DeepBlue", // Português
|
||||
"DeepBlue", // Français
|
||||
"DeepBlue", // Français
|
||||
"DeepBlue", // Norsk
|
||||
"DeepBlue", // suomi
|
||||
"DeepBlue", // Polski
|
||||
"DeepBlue", // Espańol
|
||||
"DeepBlue", // Polski
|
||||
"DeepBlue", // Español
|
||||
"DeepBlue", // ÅëëçíéêÜ (Greek)
|
||||
"DeepBlue", // Svenska
|
||||
"DeepBlue", // Romaneste
|
||||
"DeepBlue", // Magyar
|
||||
"DeepBlue", // Catalŕ
|
||||
"DeepBlue", // Magyar
|
||||
"DeepBlue", // Català
|
||||
"DeepBlue", // ÀãááÚØÙ (Russian)
|
||||
"DeepBlue", // Hrvatski (Croatian)
|
||||
"DeepBlue", // Eesti
|
||||
@ -288,21 +309,63 @@ const tI18nPhrase Phrases[] = {
|
||||
"Moronimo", // Italiano
|
||||
"Moronimo", // Nederlands
|
||||
"Moronimo", // Português
|
||||
"Moronimo", // Français
|
||||
"Moronimo", // Français
|
||||
"Moronimo", // Norsk
|
||||
"Moronimo", // suomi
|
||||
"Moronimo", // Polski
|
||||
"Moronimo", // Espańol
|
||||
"Moronimo", // Polski
|
||||
"Moronimo", // Español
|
||||
"Moronimo", // ÅëëçíéêÜ (Greek)
|
||||
"Moronimo", // Svenska
|
||||
"Moronimo", // Romaneste
|
||||
"Moronimo", // Magyar
|
||||
"Moronimo", // Catalŕ
|
||||
"Moronimo", // Magyar
|
||||
"Moronimo", // Català
|
||||
"Moronimo", // ÀãááÚØÙ (Russian)
|
||||
"Moronimo", // Hrvatski (Croatian)
|
||||
"Moronimo", // Eesti
|
||||
"Moronimo", // Dansk
|
||||
},
|
||||
{ "Enigma", // English
|
||||
"Enigma", // Deutsch
|
||||
"Enigma", // Slovenski
|
||||
"Enigma", // Italiano
|
||||
"Enigma", // Nederlands
|
||||
"Enigma", // Português
|
||||
"Enigma", // Français
|
||||
"Enigma", // Norsk
|
||||
"Enigma", // suomi
|
||||
"Enigma", // Polski
|
||||
"Enigma", // Español
|
||||
"Enigma", // ÅëëçíéêÜ (Greek)
|
||||
"Enigma", // Svenska
|
||||
"Enigma", // Romaneste
|
||||
"Enigma", // Magyar
|
||||
"Enigma", // Català
|
||||
"Enigma", // ÀãááÚØÙ (Russian)
|
||||
"Enigma", // Hrvatski (Croatian)
|
||||
"Enigma", // Eesti
|
||||
"Enigma", // Dansk
|
||||
},
|
||||
{ "EgalsTry", // English
|
||||
"EgalsTry", // Deutsch
|
||||
"EgalsTry", // Slovenski
|
||||
"EgalsTry", // Italiano
|
||||
"EgalsTry", // Nederlands
|
||||
"EgalsTry", // Português
|
||||
"EgalsTry", // Français
|
||||
"EgalsTry", // Norsk
|
||||
"EgalsTry", // suomi
|
||||
"EgalsTry", // Polski
|
||||
"EgalsTry", // Español
|
||||
"EgalsTry", // ÅëëçíéêÜ (Greek)
|
||||
"EgalsTry", // Svenska
|
||||
"EgalsTry", // Romaneste
|
||||
"EgalsTry", // Magyar
|
||||
"EgalsTry", // Català
|
||||
"EgalsTry", // ÀãááÚØÙ (Russian)
|
||||
"EgalsTry", // Hrvatski (Croatian)
|
||||
"EgalsTry", // Eesti
|
||||
"EgalsTry", // Dansk
|
||||
},
|
||||
{ "Hide main menu entry", // English
|
||||
"Hauptmenüeintrag verstecken", // Deutsch
|
||||
"", // Slovenski
|
||||
@ -438,7 +501,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"Transponderin tiedot", // suomi
|
||||
"", // Polski
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
@ -900,7 +963,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Français
|
||||
"", // Norsk
|
||||
"vapaa", // suomi
|
||||
"", // Polski
|
||||
"", // Polski
|
||||
"", // Español
|
||||
"", // ÅëëçíéêÜ (Greek)
|
||||
"", // Svenska
|
||||
@ -1068,7 +1131,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"kHz", // Français
|
||||
"kHz", // Norsk
|
||||
"kHz", // suomi
|
||||
"kHz", // Polski
|
||||
"kHz", // Polski
|
||||
"kHz", // Español
|
||||
"kHz", // ÅëëçíéêÜ (Greek)
|
||||
"kHz", // Svenska
|
||||
@ -1185,6 +1248,27 @@ const tI18nPhrase Phrases[] = {
|
||||
"Rid", // Eesti
|
||||
"Rid", // Dansk
|
||||
},
|
||||
{ "Coderate", // English
|
||||
"Coderate", // Deutsch
|
||||
"Coderate", // Slovenski
|
||||
"Coderate", // Italiano
|
||||
"Coderate", // Nederlands
|
||||
"Coderate", // Português
|
||||
"Coderate", // Français
|
||||
"Coderate", // Norsk
|
||||
"Suojaustaso", // suomi
|
||||
"Coderate", // Polski
|
||||
"Coderate", // Español
|
||||
"Coderate", // ÅëëçíéêÜ (Greek)
|
||||
"Coderate", // Svenska
|
||||
"Coderate", // Romaneste
|
||||
"Coderate", // Magyar
|
||||
"Coderate", // Català
|
||||
"Coderate", // ÀãááÚØÙ (Russian)
|
||||
"Coderate", // Hrvatski (Croatian)
|
||||
"Coderate", // Eesti
|
||||
"Coderate", // Dansk
|
||||
},
|
||||
{ "dB", // English
|
||||
"dB", // Deutsch
|
||||
"dB", // Slovenski
|
||||
@ -1194,7 +1278,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"dB", // Français
|
||||
"dB", // Norsk
|
||||
"dB", // suomi
|
||||
"dB", // Polski
|
||||
"dB", // Polski
|
||||
"dB", // Español
|
||||
"dB", // ÅëëçíéêÜ (Greek)
|
||||
"dB", // Svenska
|
||||
|
91
femonosd.c
91
femonosd.c
@ -47,6 +47,7 @@
|
||||
#define OSDSTATUSHEIGHT (OSDROWHEIGHT * 6) // in pixels (6 rows)
|
||||
#define OSDSPACING 5
|
||||
#define OSDCORNERING 10
|
||||
#define IS_OSDCORNERING (femonConfig.skin == eFemonSkinElchi)
|
||||
|
||||
#define OSDINFOWIN_Y(offset) (femonConfig.position ? (OSDHEIGHT - OSDINFOHEIGHT + offset) : offset)
|
||||
#define OSDINFOWIN_X(col) ((col == 4) ? 455 : (col == 3) ? 305 : (col == 2) ? 155 : 15)
|
||||
@ -136,8 +137,10 @@ void cFemonOsd::DrawStatusWindow(void)
|
||||
snprintf(buf, sizeof(buf), "%d%s %s", m_Number ? m_Number : channel->Number(), m_Number ? "-" : "", channel->ShortName(true));
|
||||
m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(offset), OSDWIDTH, OSDSTATUSWIN_Y(offset+OSDROWHEIGHT-1), femonTheme[femonConfig.theme].clrTitleBackground);
|
||||
m_Osd->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrTitleText, femonTheme[femonConfig.theme].clrTitleBackground, m_Font);
|
||||
m_Osd->DrawEllipse(0, OSDSTATUSWIN_Y(0), OSDCORNERING, OSDSTATUSWIN_Y(OSDCORNERING), clrTransparent, -2);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDSTATUSWIN_Y(0), OSDWIDTH, OSDSTATUSWIN_Y(OSDCORNERING), clrTransparent, -1);
|
||||
if (IS_OSDCORNERING) {
|
||||
m_Osd->DrawEllipse(0, OSDSTATUSWIN_Y(0), OSDCORNERING, OSDSTATUSWIN_Y(OSDCORNERING), clrTransparent, -2);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDSTATUSWIN_Y(0), OSDWIDTH, OSDSTATUSWIN_Y(OSDCORNERING), clrTransparent, -1);
|
||||
}
|
||||
if (m_Receiver) {
|
||||
value = cDevice::ActualDevice()->CardIndex();
|
||||
if (value == 1) {
|
||||
@ -343,8 +346,10 @@ void cFemonOsd::DrawStatusWindow(void)
|
||||
m_Osd->DrawBitmap(OSDSTATUSWIN_XSYMBOL(3, x), OSDSTATUSWIN_Y(offset + y), bmCarrier, (m_FrontendStatus & FE_HAS_CARRIER) ? femonTheme[femonConfig.theme].clrActiveText : femonTheme[femonConfig.theme].clrRed, femonTheme[femonConfig.theme].clrBackground);
|
||||
m_Osd->DrawBitmap(OSDSTATUSWIN_XSYMBOL(4, x), OSDSTATUSWIN_Y(offset + y), bmViterbi, (m_FrontendStatus & FE_HAS_VITERBI) ? femonTheme[femonConfig.theme].clrActiveText : femonTheme[femonConfig.theme].clrRed, femonTheme[femonConfig.theme].clrBackground);
|
||||
m_Osd->DrawBitmap(OSDSTATUSWIN_XSYMBOL(5, x), OSDSTATUSWIN_Y(offset + y), bmSync, (m_FrontendStatus & FE_HAS_SYNC) ? femonTheme[femonConfig.theme].clrActiveText : femonTheme[femonConfig.theme].clrRed, femonTheme[femonConfig.theme].clrBackground);
|
||||
m_Osd->DrawEllipse(0, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT-OSDCORNERING), OSDCORNERING, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrTransparent, -3);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDSTATUSWIN_Y(OSDSTATUSHEIGHT-OSDCORNERING), OSDWIDTH, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrTransparent, -4);
|
||||
if (IS_OSDCORNERING) {
|
||||
m_Osd->DrawEllipse(0, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT-OSDCORNERING), OSDCORNERING, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrTransparent, -3);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDSTATUSWIN_Y(OSDSTATUSHEIGHT-OSDCORNERING), OSDWIDTH, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), clrTransparent, -4);
|
||||
}
|
||||
m_Osd->Flush();
|
||||
}
|
||||
}
|
||||
@ -365,8 +370,10 @@ void cFemonOsd::DrawInfoWindow(void)
|
||||
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), femonTheme[femonConfig.theme].clrBackground);
|
||||
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(offset), OSDWIDTH, OSDINFOWIN_Y(offset+OSDROWHEIGHT-1), femonTheme[femonConfig.theme].clrTitleBackground);
|
||||
m_Osd->DrawText( OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Transponder Information"), femonTheme[femonConfig.theme].clrTitleText, femonTheme[femonConfig.theme].clrTitleBackground, m_Font);
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(0), OSDCORNERING, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -2);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -1);
|
||||
if (IS_OSDCORNERING) {
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(0), OSDCORNERING, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -2);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -1);
|
||||
}
|
||||
offset += OSDROWHEIGHT;
|
||||
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Vpid"), femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
snprintf(buf, sizeof(buf), "%d", channel->Vpid());
|
||||
@ -614,29 +621,29 @@ void cFemonOsd::DrawInfoWindow(void)
|
||||
else if (value == INVERSION_ON) snprintf(buf, sizeof(buf), tr("On"));
|
||||
else /*INVERSION_AUTO*/ snprintf(buf, sizeof(buf), tr("Auto"));
|
||||
m_Osd->DrawText(OSDINFOWIN_X(2), OSDINFOWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), tr("CoderateH"), femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), tr("Coderate"), femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
value = channel->CoderateH();
|
||||
if (value == FEC_NONE) snprintf(buf, sizeof(buf), tr("None"));
|
||||
else if (value == FEC_1_2) snprintf(buf, sizeof(buf), "1/2");
|
||||
else if (value == FEC_2_3) snprintf(buf, sizeof(buf), "2/3");
|
||||
else if (value == FEC_3_4) snprintf(buf, sizeof(buf), "3/4");
|
||||
else if (value == FEC_4_5) snprintf(buf, sizeof(buf), "4/5");
|
||||
else if (value == FEC_5_6) snprintf(buf, sizeof(buf), "5/6");
|
||||
else if (value == FEC_6_7) snprintf(buf, sizeof(buf), "6/7");
|
||||
else if (value == FEC_7_8) snprintf(buf, sizeof(buf), "7/8");
|
||||
else if (value == FEC_8_9) snprintf(buf, sizeof(buf), "8/9");
|
||||
else /*FEC_AUTO*/ snprintf(buf, sizeof(buf), tr("Auto"));
|
||||
if (value == FEC_NONE) snprintf(buf, sizeof(buf), "%s (H)", tr("None"));
|
||||
else if (value == FEC_1_2) snprintf(buf, sizeof(buf), "1/2 (H)");
|
||||
else if (value == FEC_2_3) snprintf(buf, sizeof(buf), "2/3 (H)");
|
||||
else if (value == FEC_3_4) snprintf(buf, sizeof(buf), "3/4 (H)");
|
||||
else if (value == FEC_4_5) snprintf(buf, sizeof(buf), "4/5 (H)");
|
||||
else if (value == FEC_5_6) snprintf(buf, sizeof(buf), "5/6 (H)");
|
||||
else if (value == FEC_6_7) snprintf(buf, sizeof(buf), "6/7 (H)");
|
||||
else if (value == FEC_7_8) snprintf(buf, sizeof(buf), "7/8 (H)");
|
||||
else if (value == FEC_8_9) snprintf(buf, sizeof(buf), "8/9 (H)");
|
||||
else /*FEC_AUTO*/ snprintf(buf, sizeof(buf), "%s (H)", tr("Auto"));
|
||||
value = channel->CoderateL();
|
||||
if (value == FEC_NONE) snprintf(buf2, sizeof(buf2), " - %s", tr("None"));
|
||||
else if (value == FEC_1_2) snprintf(buf2, sizeof(buf2), " - 1/2");
|
||||
else if (value == FEC_2_3) snprintf(buf2, sizeof(buf2), " - 2/3");
|
||||
else if (value == FEC_3_4) snprintf(buf2, sizeof(buf2), " - 3/4");
|
||||
else if (value == FEC_4_5) snprintf(buf2, sizeof(buf2), " - 4/5");
|
||||
else if (value == FEC_5_6) snprintf(buf2, sizeof(buf2), " - 5/6");
|
||||
else if (value == FEC_6_7) snprintf(buf2, sizeof(buf2), " - 6/7");
|
||||
else if (value == FEC_7_8) snprintf(buf2, sizeof(buf2), " - 7/8");
|
||||
else if (value == FEC_8_9) snprintf(buf2, sizeof(buf2), " - 8/9");
|
||||
else /*FEC_AUTO*/ snprintf(buf2, sizeof(buf2), " - %s", tr("Auto"));
|
||||
if (value == FEC_NONE) snprintf(buf2, sizeof(buf2), " %s (L)", tr("None"));
|
||||
else if (value == FEC_1_2) snprintf(buf2, sizeof(buf2), " 1/2 (L)");
|
||||
else if (value == FEC_2_3) snprintf(buf2, sizeof(buf2), " 2/3 (L)");
|
||||
else if (value == FEC_3_4) snprintf(buf2, sizeof(buf2), " 3/4 (L)");
|
||||
else if (value == FEC_4_5) snprintf(buf2, sizeof(buf2), " 4/5 (L)");
|
||||
else if (value == FEC_5_6) snprintf(buf2, sizeof(buf2), " 5/6 (L)");
|
||||
else if (value == FEC_6_7) snprintf(buf2, sizeof(buf2), " 6/7 (L)");
|
||||
else if (value == FEC_7_8) snprintf(buf2, sizeof(buf2), " 7/8 (L)");
|
||||
else if (value == FEC_8_9) snprintf(buf2, sizeof(buf2), " 8/9 (L)");
|
||||
else /*FEC_AUTO*/ snprintf(buf2, sizeof(buf2), " %s (L)", tr("Auto"));
|
||||
strncat(buf, buf2, sizeof(buf));
|
||||
m_Osd->DrawText(OSDINFOWIN_X(4), OSDINFOWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
offset += OSDROWHEIGHT;
|
||||
@ -658,15 +665,19 @@ void cFemonOsd::DrawInfoWindow(void)
|
||||
m_Osd->DrawText(OSDINFOWIN_X(4), OSDINFOWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
break;
|
||||
}
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDCORNERING, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -3);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -4);
|
||||
if (IS_OSDCORNERING) {
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDCORNERING, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -3);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -4);
|
||||
}
|
||||
}
|
||||
else if (m_DisplayMode == eFemonModeStream) {
|
||||
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), femonTheme[femonConfig.theme].clrBackground);
|
||||
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(offset), OSDWIDTH, OSDINFOWIN_Y(offset+OSDROWHEIGHT-1), femonTheme[femonConfig.theme].clrTitleBackground);
|
||||
m_Osd->DrawText( OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Stream Information"), femonTheme[femonConfig.theme].clrTitleText, femonTheme[femonConfig.theme].clrTitleBackground, m_Font);
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(0), OSDCORNERING, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -2);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -1);
|
||||
if (IS_OSDCORNERING) {
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(0), OSDCORNERING, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -2);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -1);
|
||||
}
|
||||
offset += OSDROWHEIGHT;
|
||||
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Video Stream"), femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
snprintf(buf, sizeof(buf), "#%d", channel->Vpid());
|
||||
@ -736,16 +747,20 @@ void cFemonOsd::DrawInfoWindow(void)
|
||||
}
|
||||
else snprintf(buf, sizeof(buf), "---");
|
||||
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDCORNERING, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -3);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -4);
|
||||
if (IS_OSDCORNERING) {
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDCORNERING, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -3);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -4);
|
||||
}
|
||||
}
|
||||
else if (m_DisplayMode == eFemonModeAC3) {
|
||||
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), femonTheme[femonConfig.theme].clrBackground);
|
||||
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(offset), OSDWIDTH, OSDINFOWIN_Y(offset+OSDROWHEIGHT-1), femonTheme[femonConfig.theme].clrTitleBackground);
|
||||
snprintf(buf, sizeof(buf), "%s - %s #%d %s", tr("Stream Information"), tr("AC-3 Stream"), IS_DOLBY_TRACK(track) ? channel->Dpid(int(track - ttDolbyFirst)) : channel->Dpid(0), IS_DOLBY_TRACK(track) ? channel->Dlang(int(track - ttDolbyFirst)) : channel->Dlang(0));
|
||||
m_Osd->DrawText( OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrTitleText, femonTheme[femonConfig.theme].clrTitleBackground, m_Font);
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(0), OSDCORNERING, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -2);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -1);
|
||||
if (IS_OSDCORNERING) {
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(0), OSDCORNERING, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -2);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDCORNERING), clrTransparent, -1);
|
||||
}
|
||||
offset += OSDROWHEIGHT;
|
||||
if (m_Receiver && m_Receiver->AC3Valid() && IS_DOLBY_TRACK(track)) {
|
||||
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Bitrate"), femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
@ -831,8 +846,10 @@ void cFemonOsd::DrawInfoWindow(void)
|
||||
else snprintf(buf, sizeof(buf), "---");
|
||||
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
|
||||
}
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDCORNERING, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -3);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -4);
|
||||
if (IS_OSDCORNERING) {
|
||||
m_Osd->DrawEllipse(0, OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDCORNERING, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -3);
|
||||
m_Osd->DrawEllipse((OSDWIDTH-OSDCORNERING), OSDINFOWIN_Y(OSDINFOHEIGHT-OSDCORNERING), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent, -4);
|
||||
}
|
||||
}
|
||||
else /* eFemonModeBasic */ {
|
||||
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), clrTransparent);
|
||||
|
Loading…
Reference in New Issue
Block a user