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 | Date | |
|---|---|---|---|
|
|
7ee255830a |
7
HISTORY
7
HISTORY
@@ -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).
|
||||||
|
|||||||
2
femon.c
2
femon.c
@@ -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
|
||||||
|
|
||||||
|
|||||||
2
femon.h
2
femon.h
@@ -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";
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user