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

Compare commits

...

1 Commits

Author SHA1 Message Date
Rolf Ahrenberg
7ee255830a Updated for vdr-1.3.40.
Fixed a translation bug (Thanks to Antti Hartikainen).
Fixed AC3 header parsing bug (Thanks to Axel Katzur for reporting this one).
Fixed EgalsTry theme (Thanks to Uwe Hanke).
2006-01-25 04:20:00 +02:00
7 changed files with 78 additions and 19 deletions

View File

@@ -194,3 +194,10 @@ VDR Plugin 'femon' Revision History
- Added "Duotone" theme for 2bpp on screen displays. - Added "Duotone" theme for 2bpp on screen displays.
- Fixed crash bug in femonreceiver. - Fixed crash bug in femonreceiver.
- Fixed setup page bug (Thanks to Thomas G<>nther for reporting this one). - Fixed setup page bug (Thanks to Thomas G<>nther for reporting this one).
2006-01-25: Version 0.9.6
- Updated for vdr-1.3.40.
- Fixed a translation bug (Thanks to Antti Hartikainen).
- Fixed AC3 header parsing bug (Thanks to Axel Katzur for reporting this one).
- Fixed EgalsTry theme (Thanks to Uwe Hanke).

View File

@@ -15,7 +15,7 @@
#include "femontools.h" #include "femontools.h"
#include "femon.h" #include "femon.h"
#if defined(VDRVERSNUM) && VDRVERSNUM < 10336 #if defined(VDRVERSNUM) && VDRVERSNUM < 10340
#error "You don't exist! Go away! Upgrade yourself!" #error "You don't exist! Go away! Upgrade yourself!"
#endif #endif

View File

@@ -11,7 +11,7 @@
#include <vdr/plugin.h> #include <vdr/plugin.h>
static const char *VERSION = "0.9.5"; static const char *VERSION = "0.9.6";
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";

View File

@@ -96,6 +96,7 @@ const cFemonTheme femonTheme[eFemonThemeMaxNumber] =
}, },
{ {
// eFemonThemeEgalsTry // eFemonThemeEgalsTry
4, // bpp
0xCA2B1B9E, // clrBackground 0xCA2B1B9E, // clrBackground
0xDFBEBAC3, // clrTitleBackground 0xDFBEBAC3, // clrTitleBackground
0xFF280249, // clrTitleText 0xFF280249, // clrTitleText
@@ -110,8 +111,8 @@ const cFemonTheme femonTheme[eFemonThemeMaxNumber] =
2, // bpp 2, // bpp
0x7F000000, // clrBackground 0x7F000000, // clrBackground
0xFFFCFCFC, // clrTitleBackground 0xFFFCFCFC, // clrTitleBackground
0x7F000000, // clrTitleText 0x7F000000, // clrTitleText
0xFFFCFCFC, // clrActiveText 0xFFFCFCFC, // clrActiveText
0xFFFCFCFC, // clrInactiveText 0xFFFCFCFC, // clrInactiveText
0xFFFC1414, // clrRed 0xFFFC1414, // clrRed
0xFFFCFCFC, // clrYellow 0xFFFCFCFC, // clrYellow

View File

@@ -576,7 +576,7 @@ const tI18nPhrase Phrases[] = {
"Kaablikaart", // Eesti "Kaablikaart", // Eesti
"", // Dansk "", // Dansk
}, },
{ "Terrestial Card", // English { "Terrestrial Card", // English
"Terrestrische Karte", // Deutsch "Terrestrische Karte", // Deutsch
"", // Slovenski "", // Slovenski
"Scheda terrestre", // Italiano "Scheda terrestre", // Italiano
@@ -584,7 +584,7 @@ const tI18nPhrase Phrases[] = {
"", // Portugu<67>s "", // Portugu<67>s
"Carte TNT", // Fran<61>ais "Carte TNT", // Fran<61>ais
"", // Norsk "", // Norsk
"Terrestiaalikortti", // suomi "Terrestriaalikortti", // 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)

View File

@@ -594,7 +594,7 @@ void cFemonOsd::DrawInfoWindow(void)
break; break;
default: default:
snprintf(buf, sizeof(buf), "%s #%d - %s", tr("Terrestial Card"), cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name); snprintf(buf, sizeof(buf), "%s #%d - %s", tr("Terrestrial Card"), cDevice::ActualDevice()->CardIndex(), m_FrontendInfo.name);
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), buf, femonTheme[femonConfig.theme].clrActiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);
offset += OSDROWHEIGHT; offset += OSDROWHEIGHT;
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Frequency"), femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font); m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Frequency"), femonTheme[femonConfig.theme].clrInactiveText, femonTheme[femonConfig.theme].clrBackground, m_Font);

View File

@@ -230,20 +230,71 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count)
m_AC3FrameSize <<= 1; m_AC3FrameSize <<= 1;
m_AC3BitStreamMode = (headr[3] & 7); m_AC3BitStreamMode = (headr[3] & 7);
m_AC3AudioCodingMode = (headr[4] & 0xE0) >> 5; m_AC3AudioCodingMode = (headr[4] & 0xE0) >> 5;
if ((m_AC3AudioCodingMode & 0x01) && (m_AC3AudioCodingMode != 0x01)) // if 3 front channels if ((m_AC3AudioCodingMode & 0x01) && (m_AC3AudioCodingMode != 0x01)) {
// 3 front channels
m_AC3CenterMixLevel = (headr[4] & 0x18) >> 3; m_AC3CenterMixLevel = (headr[4] & 0x18) >> 3;
else if (m_AC3AudioCodingMode & 0x04) {
// a surround channel exists
m_AC3SurroundMixLevel = (headr[4] & 0x06) >> 1;
if (m_AC3AudioCodingMode == 0x02) {
// if in 2/0 mode
m_AC3DolbySurroundMode = ((headr[4] & 0x01) << 1) | ((headr[5] & 0x80) >> 7);
m_AC3LfeOn = (headr[5] & 0x40) >> 6;
m_AC3DialogLevel = (headr[5] & 0x3e) >> 1;
}
else {
m_AC3DolbySurroundMode = FR_NOTVALID;
m_AC3LfeOn = (headr[4] & 0x01);
m_AC3DialogLevel = (headr[5] & 0xF8) >> 3;
}
}
else {
m_AC3SurroundMixLevel = FR_NOTVALID;
if (m_AC3AudioCodingMode == 0x02) {
// if in 2/0 mode
m_AC3DolbySurroundMode = (headr[4] & 0x06) >> 1;
m_AC3LfeOn = (headr[4] & 0x01);
m_AC3DialogLevel = (headr[5] & 0xF8) >> 3;
}
else {
m_AC3DolbySurroundMode = FR_NOTVALID;
m_AC3LfeOn = (headr[4] & 0x04) >> 2;
m_AC3DialogLevel = (headr[4] & 0x03) << 3 | ((headr[5] & 0xE0) >> 5);
}
}
}
else {
m_AC3CenterMixLevel = FR_NOTVALID; m_AC3CenterMixLevel = FR_NOTVALID;
if (m_AC3AudioCodingMode & 0x04) // if a surround channel exists if (m_AC3AudioCodingMode & 0x04) {
m_AC3SurroundMixLevel = (headr[4] & 0x06) >> 1; // a surround channel exists
else m_AC3SurroundMixLevel = (headr[4] & 0x18) >> 3;
m_AC3SurroundMixLevel = FR_NOTVALID; if (m_AC3AudioCodingMode == 0x02) {
if (m_AC3AudioCodingMode == 0x02) // if in 2/0 mode // if in 2/0 mode
m_AC3DolbySurroundMode = ((headr[4] & 1) << 1) | ((headr[5] & 0x80) >> 7); m_AC3DolbySurroundMode = (headr[4] & 0x06) >> 1;
else m_AC3LfeOn = (headr[4] & 0x01);
m_AC3DolbySurroundMode = FR_NOTVALID; m_AC3DialogLevel = (headr[5] & 0xF8) >> 3;
m_AC3LfeOn = (headr[5] & 0x40) >> 6; }
m_AC3DialogLevel = (headr[5] & 0x3e) >> 1; else {
m_AC3DolbySurroundMode = FR_NOTVALID;
m_AC3LfeOn = (headr[4] & 0x04) >> 2;
m_AC3DialogLevel = (headr[4] & 0x03) << 3 | ((headr[5] & 0xE0) >> 5);
}
}
else {
m_AC3SurroundMixLevel = FR_NOTVALID;
if (m_AC3AudioCodingMode == 0x02) {
// if in 2/0 mode
m_AC3DolbySurroundMode = (headr[4] & 0x18) >> 3;
m_AC3LfeOn = (headr[4] & 0x04) >> 2;
m_AC3DialogLevel = (headr[4] & 0x03) << 3 | ((headr[5] & 0xE0) >> 5);
}
else {
m_AC3DolbySurroundMode = FR_NOTVALID;
m_AC3LfeOn = (headr[4] & 0x10) >> 4;
m_AC3DialogLevel = ((headr[4] & 0x0F) << 1) | ((headr[5] & 0x80) >> 7);
}
}
}
} }
void cFemonReceiver::Activate(bool On) void cFemonReceiver::Activate(bool On)