mirror of
https://github.com/rofafor/vdr-plugin-femon.git
synced 2023-10-10 11:36:53 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c948cde72 | ||
|
|
8e57eec535 | ||
|
|
0f111eb660 | ||
|
|
6670f85a20 |
20
HISTORY
20
HISTORY
@@ -147,3 +147,23 @@ VDR Plugin 'femon' Revision History
|
||||
- Default make target is now all.
|
||||
- Fixed the access rights of symbols subdirectory (Thanks to Harri Kukkonen).
|
||||
- Added a new theme: Moronimo (Thanks to Morone).
|
||||
|
||||
2005-04-02: Version 0.8.8
|
||||
|
||||
- Cleaned up finnish translations (Thanks to Ville Skytt<74>).
|
||||
|
||||
2005-04-04: Version 0.8.9
|
||||
|
||||
- Updated Estonian translations (Thanks to Arthur Konovalov).
|
||||
- Added the missing german translations (Thanks to #vdr-portal).
|
||||
|
||||
2005-05-20: Version 0.9.0
|
||||
|
||||
- Renamed compiling switches ('DEBUG' to 'FEMON_DEBUG' and 'NTSC_SYSTEM' to 'FEMON_NTSC').
|
||||
- Enabled preliminary support for the device switching.
|
||||
|
||||
2005-07-23: Version 0.9.1
|
||||
|
||||
- Fixed AC3-info flickering (Thanks to Pasi Juppo for reporting this one).
|
||||
- Added "Analog" type CA system.
|
||||
- Plugin is now stripped by default.
|
||||
|
||||
17
Makefile
17
Makefile
@@ -16,7 +16,11 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).h | awk '{ pri
|
||||
### The C++ compiler and options:
|
||||
|
||||
CXX ?= g++
|
||||
CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -fPIC
|
||||
ifdef FEMON_DEBUG
|
||||
CXXFLAGS ?= -g -Wall -Woverloaded-virtual -fPIC
|
||||
else
|
||||
CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -fPIC
|
||||
endif
|
||||
|
||||
### The directory environment:
|
||||
|
||||
@@ -44,12 +48,12 @@ INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include
|
||||
|
||||
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
|
||||
|
||||
ifdef NTSC_SYSTEM
|
||||
DEFINES += -DNTSC_SYSTEM
|
||||
ifdef FEMON_NTSC
|
||||
DEFINES += -DFEMON_NTSC
|
||||
endif
|
||||
|
||||
ifdef DEBUG
|
||||
DEFINES += -DDEBUG
|
||||
ifdef FEMON_DEBUG
|
||||
DEFINES += -DFEMON_DEBUG
|
||||
endif
|
||||
|
||||
.PHONY: all all-redirect
|
||||
@@ -80,6 +84,9 @@ all: libvdr-$(PLUGIN).so
|
||||
libvdr-$(PLUGIN).so: $(OBJS)
|
||||
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
||||
ifndef FEMON_DEBUG
|
||||
strip $(LIBDIR)/$@.$(VDRVERSION)
|
||||
endif
|
||||
|
||||
dist: clean
|
||||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||
|
||||
10
README
10
README
@@ -63,7 +63,7 @@ Ok - Switch between display modes: basic, transponder, stream, AC-3
|
||||
Green - Select next audio track
|
||||
Yellow - Select audio channel: stereo, mono left, mono right
|
||||
Back - Exit plugin
|
||||
(Left/Right - Switch to next/previous device that provides the current channel)
|
||||
Left/Right - Switch to next/previous device that provides the current channel
|
||||
|
||||
Installation:
|
||||
|
||||
@@ -80,14 +80,16 @@ Notes:
|
||||
- The plugin supports only those DVB cards with _one_ frontend (do any cards
|
||||
with multiple frontends even exist?), because I haven't yet figured howto do
|
||||
it without patching the VDR core.
|
||||
|
||||
- Disable the stream analyze to speed up heavy zapping sessions.
|
||||
|
||||
- The signal strength and signal-to-noise ratio values are comparable only
|
||||
between the same brand/model frontends. Due to the lack of proper frontend
|
||||
specifications those values cannot be calculated into any real units.
|
||||
|
||||
- If the OSD isn't visible, you've configured the OSD height too big or too
|
||||
small. Please, try to adjust the variable on the setup page before writing
|
||||
any bug reports.
|
||||
- There's a shrinked default OSD height for NTSC users: make NTSC_SYSTEM=1
|
||||
- The device switching feature is still non-functional.
|
||||
any bug reports. NTSC users should use a shrinked default OSD height by
|
||||
compiling the plugin with: make FEMON_NTSC=1
|
||||
|
||||
"Femon - A real womon who lives according to her natural feminine inclinations."
|
||||
|
||||
2
femon.h
2
femon.h
@@ -11,7 +11,7 @@
|
||||
|
||||
#include <vdr/plugin.h>
|
||||
|
||||
static const char *VERSION = "0.8.7";
|
||||
static const char *VERSION = "0.9.1";
|
||||
static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)";
|
||||
static const char *MAINMENUENTRY = "Signal Information";
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ cFemonConfig::cFemonConfig(void)
|
||||
calcinterval = 20;
|
||||
syslogoutput = 0;
|
||||
showcasystem = 0;
|
||||
#ifdef NTSC_SYSTEM
|
||||
#ifdef FEMON_NTSC
|
||||
osdheight = 420;
|
||||
#else
|
||||
osdheight = 480;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#ifndef __FEMONCFG_H
|
||||
#define __FEMONCFG_H
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef FEMON_DEBUG
|
||||
#define Dprintf(x...) printf(x);
|
||||
#else
|
||||
#define Dprintf(x...) ;
|
||||
|
||||
67
femoni18n.c
67
femoni18n.c
@@ -17,7 +17,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Portugu<67>s
|
||||
"", // Fran<61>ais
|
||||
"", // Norsk
|
||||
"DVB signaalimittari (OSD)", // suomi
|
||||
"Signaalimittari (OSD)", // suomi
|
||||
"", // Polski
|
||||
"", // Espa<70>ol
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -94,7 +94,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Horizontal offset", // English
|
||||
"", // Deutsch
|
||||
"Horizontaler Offset", // Deutsch
|
||||
"", // Slovenski
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
@@ -111,7 +111,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"", // Eesti
|
||||
"Horisontaalne nihe", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Default display mode", // English
|
||||
@@ -122,7 +122,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Portugu<67>s
|
||||
"", // Fran<61>ais
|
||||
"", // Norsk
|
||||
"Oletus n<EFBFBD>ytt<EFBFBD>moodi", // suomi
|
||||
"Oletusn<EFBFBD>ytt<EFBFBD>tila", // suomi
|
||||
"", // Polski
|
||||
"", // Espa<70>ol
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -174,8 +174,8 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"", // Eesti
|
||||
"transponder", // Dansk
|
||||
"transponder", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "stream", // English
|
||||
"Stream", // Deutsch
|
||||
@@ -195,7 +195,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"striim", // Eesti
|
||||
"voog", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Theme", // English
|
||||
@@ -363,7 +363,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"Striimi anal<61><6C>s", // Eesti
|
||||
"Voo anal<61><6C>s", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Calculation interval [0.1s]", // English
|
||||
@@ -741,7 +741,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"Striimi info", // Eesti
|
||||
"Voo info", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "MPEG Layer", // English
|
||||
@@ -783,7 +783,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"Videostriim", // Eesti
|
||||
"Videovoog", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Bitrate", // English
|
||||
@@ -1035,7 +1035,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"Audiostriim", // Eesti
|
||||
"Audiovoog", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Sampling Frequency", // English
|
||||
@@ -1088,7 +1088,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"Apid", // Portugu<67>s
|
||||
"Apid", // Fran<61>ais
|
||||
"Apid", // Norsk
|
||||
"<EFBFBD><EFBFBD>ni PID", // suomi
|
||||
"<EFBFBD><EFBFBD>ni-PID", // suomi
|
||||
"Apid", // Polski
|
||||
"Apid", // Espa<70>ol
|
||||
"Apid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -1109,7 +1109,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"Dpid", // Portugu<67>s
|
||||
"Dpid", // Fran<61>ais
|
||||
"Dpid", // Norsk
|
||||
"Dolby PID", // suomi
|
||||
"Dolby-PID", // suomi
|
||||
"Dpid", // Polski
|
||||
"Dpid", // Espa<70>ol
|
||||
"Dpid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -1130,7 +1130,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"Nid", // Portugu<67>s
|
||||
"Nid", // Fran<61>ais
|
||||
"Nid", // Norsk
|
||||
"Verkko ID", // suomi
|
||||
"Verkko-ID", // suomi
|
||||
"Nid", // Polski
|
||||
"Nid", // Espa<70>ol
|
||||
"Nid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -1151,7 +1151,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"Tid", // Portugu<67>s
|
||||
"Tid", // Fran<61>ais
|
||||
"Tid", // Norsk
|
||||
"L<EFBFBD>hete ID", // suomi
|
||||
"L<EFBFBD>hete-ID", // suomi
|
||||
"Tid", // Polski
|
||||
"Tid", // Espa<70>ol
|
||||
"Tid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -1172,7 +1172,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"Rid", // Portugu<67>s
|
||||
"Rid", // Fran<61>ais
|
||||
"Rid", // Norsk
|
||||
"Radio ID", // suomi
|
||||
"Radio-ID", // suomi
|
||||
"Rid", // Polski
|
||||
"Rid", // Espa<70>ol
|
||||
"Rid", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -1207,7 +1207,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"dB", // Dansk
|
||||
},
|
||||
{ "not indicated", // English
|
||||
"", // Deutsch
|
||||
"nicht angegeben", // Deutsch
|
||||
"", // Slovenski
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
@@ -1256,7 +1256,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Portugu<67>s
|
||||
"", // Fran<61>ais
|
||||
"", // Norsk
|
||||
"AC-3 <EFBFBD><EFBFBD>niraita", // suomi
|
||||
"AC-3-<EFBFBD><EFBFBD>niraita", // suomi
|
||||
"", // Polski
|
||||
"", // Espa<70>ol
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -1266,7 +1266,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"AC-3 striim", // Eesti
|
||||
"AC-3 voog", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Frame Size", // English
|
||||
@@ -1308,7 +1308,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"Bitistriimi t<><74>p", // Eesti
|
||||
"Bitivoo t<><74>p", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Audio Coding Mode", // English
|
||||
@@ -1382,7 +1382,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Portugu<67>s
|
||||
"", // Fran<61>ais
|
||||
"", // Norsk
|
||||
"Dolby Surround -moodi", // suomi
|
||||
"Dolby Surround -tehoste", // suomi
|
||||
"", // Polski
|
||||
"", // Espa<70>ol
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
@@ -1455,7 +1455,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"CM", // Eesti
|
||||
"T<EFBFBD>iskomplekt (CM)", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Music and Effects (ME)", // English
|
||||
@@ -1686,7 +1686,7 @@ const tI18nPhrase Phrases[] = {
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"K", // Eesti
|
||||
"C", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "L", // English "Left"
|
||||
@@ -1836,6 +1836,27 @@ const tI18nPhrase Phrases[] = {
|
||||
"Fikseeritud", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Analog", // English
|
||||
"", // Deutsch
|
||||
"", // Slovenski
|
||||
"", // Italiano
|
||||
"", // Nederlands
|
||||
"", // Portugu<67>s
|
||||
"", // Fran<61>ais
|
||||
"", // Norsk
|
||||
"analoginen", // suomi
|
||||
"", // Polski
|
||||
"", // Espa<70>ol
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek)
|
||||
"", // Svenska
|
||||
"", // Romaneste
|
||||
"", // Magyar
|
||||
"", // Catal<61>
|
||||
"", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian)
|
||||
"", // Hrvatski (Croatian)
|
||||
"", // Eesti
|
||||
"", // Dansk
|
||||
},
|
||||
{ "Free to Air", // English
|
||||
"Free to Air", // Deutsch
|
||||
"", // Slovenski
|
||||
|
||||
16
femonosd.c
16
femonosd.c
@@ -405,7 +405,10 @@ void cFemonOsd::DrawInfoWindow(void)
|
||||
break;
|
||||
case 0x0001 ... 0x00FF:
|
||||
/* Standardized systems */
|
||||
snprintf(buf, sizeof(buf), "%s", tr("Fixed"));
|
||||
if ((value == 0x00A0) || (value == 0x00A1))
|
||||
snprintf(buf, sizeof(buf), "%s", tr("Analog"));
|
||||
else
|
||||
snprintf(buf, sizeof(buf), "%s", tr("Fixed"));
|
||||
break;
|
||||
case 0x0100 ... 0x01FF:
|
||||
/* Canal Plus */
|
||||
@@ -1049,7 +1052,7 @@ eOSState cFemonOsd::ProcessKey(eKeys Key)
|
||||
if (device >= 0) {
|
||||
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
|
||||
for (int i = 0; i < cDevice::NumDevices() - 1; i++) {
|
||||
if (NORMALKEY(Key) == kBlue) {
|
||||
if (NORMALKEY(Key) == kRight) {
|
||||
if (++device >= cDevice::NumDevices()) device = 0;
|
||||
}
|
||||
else {
|
||||
@@ -1057,8 +1060,13 @@ eOSState cFemonOsd::ProcessKey(eKeys Key)
|
||||
}
|
||||
if (cDevice::GetDevice(device)->ProvidesChannel(channel)) {
|
||||
Dprintf("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, Key, device);
|
||||
// 1) tune the channel on the new device
|
||||
// 2) make the new device to actual device
|
||||
// here should be added some checks, if the device is really available (i.e. not recording)
|
||||
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0);
|
||||
cControl::Shutdown();
|
||||
cDevice::GetDevice(device)->SwitchChannel(channel, true);
|
||||
// does this work with primary devices ?
|
||||
cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel->Vpid(), channel->Apids(), channel->Dpids(), channel->Spids()));
|
||||
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ void cFemonReceiver::GetVideoInfo(uint8_t *mbuf, int count)
|
||||
uint8_t *headr;
|
||||
int found = 0;
|
||||
int c = 0;
|
||||
m_VideoValid = false;
|
||||
//m_VideoValid = false;
|
||||
while ((found < 4) && ((c + 4) < count)) {
|
||||
uint8_t *b;
|
||||
b = mbuf + c;
|
||||
@@ -165,7 +165,7 @@ void cFemonReceiver::GetAudioInfo(uint8_t *mbuf, int count)
|
||||
int found = 0;
|
||||
int c = 0;
|
||||
int tmp = 0;
|
||||
m_AudioValid = false;
|
||||
//m_AudioValid = false;
|
||||
while (!found && (c < count)) {
|
||||
uint8_t *b = mbuf + c;
|
||||
if ((b[0] == 0xff) && ((b[1] & 0xf8) == 0xf8))
|
||||
@@ -214,7 +214,7 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count)
|
||||
int found = 0;
|
||||
int c = 0;
|
||||
uint8_t frame;
|
||||
m_AC3Valid = false;
|
||||
//m_AC3Valid = false;
|
||||
while (!found && (c < count)) {
|
||||
uint8_t *b = mbuf + c;
|
||||
if ((b[0] == 0x0b) && (b[1] == 0x77))
|
||||
|
||||
Reference in New Issue
Block a user