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

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).
This commit is contained in:
Rolf Ahrenberg 2006-01-25 04:20:00 +02:00
parent 7da8cb2110
commit 7ee255830a
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ês "", // Português
"Carte TNT", // Français "Carte TNT", // Français
"", // Norsk "", // Norsk
"Terrestiaalikortti", // suomi "Terrestriaalikortti", // suomi
"", // Polski "", // Polski
"", // Español "", // Español
"", // ÅëëçíéêÜ (Greek) "", // ÅëëçíéêÜ (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)