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.
- Fixed crash bug in femonreceiver.
- 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 "femon.h"
#if defined(VDRVERSNUM) && VDRVERSNUM < 10336
#if defined(VDRVERSNUM) && VDRVERSNUM < 10340
#error "You don't exist! Go away! Upgrade yourself!"
#endif

View File

@ -11,7 +11,7 @@
#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 *MAINMENUENTRY = "Signal Information";

View File

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

View File

@ -576,7 +576,7 @@ const tI18nPhrase Phrases[] = {
"Kaablikaart", // Eesti
"", // Dansk
},
{ "Terrestial Card", // English
{ "Terrestrial Card", // English
"Terrestrische Karte", // Deutsch
"", // Slovenski
"Scheda terrestre", // Italiano
@ -584,7 +584,7 @@ const tI18nPhrase Phrases[] = {
"", // Português
"Carte TNT", // Français
"", // Norsk
"Terrestiaalikortti", // suomi
"Terrestriaalikortti", // suomi
"", // Polski
"", // Español
"", // ÅëëçíéêÜ (Greek)

View File

@ -594,7 +594,7 @@ void cFemonOsd::DrawInfoWindow(void)
break;
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);
offset += OSDROWHEIGHT;
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_AC3BitStreamMode = (headr[3] & 7);
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;
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;
if (m_AC3AudioCodingMode & 0x04) // if a surround channel exists
m_AC3SurroundMixLevel = (headr[4] & 0x06) >> 1;
else
m_AC3SurroundMixLevel = FR_NOTVALID;
if (m_AC3AudioCodingMode == 0x02) // if in 2/0 mode
m_AC3DolbySurroundMode = ((headr[4] & 1) << 1) | ((headr[5] & 0x80) >> 7);
else
m_AC3DolbySurroundMode = FR_NOTVALID;
m_AC3LfeOn = (headr[5] & 0x40) >> 6;
m_AC3DialogLevel = (headr[5] & 0x3e) >> 1;
if (m_AC3AudioCodingMode & 0x04) {
// a surround channel exists
m_AC3SurroundMixLevel = (headr[4] & 0x18) >> 3;
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_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)