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

Compare commits

...

9 Commits

Author SHA1 Message Date
Rolf Ahrenberg
bf02f334f6 Updated for vdr-1.5.7. 2007-08-14 04:20:00 +03:00
Rolf Ahrenberg
64e56af6dc Fixed a race condition in cFemonReceiver (Thanks to Reinhard Nissl). 2007-05-15 04:20:00 +03:00
Rolf Ahrenberg
830aa73e1a Fixed opening while replaying (Thanks to Antti Seppälä for reporting this one). 2007-05-01 04:20:00 +03:00
Rolf Ahrenberg
78048d8ea0 Updated for vdr-1.5.0. 2007-01-08 04:20:00 +02:00
Rolf Ahrenberg
42c6b69490 Added support for svdrpservice plugin (Thanks to Frank Schmirler).
Added INFO SVDRP command (partially based on patch by Herbert Pötzl).
Removed system log option - use SVDRP instead.
Added --remove-destination to the 'cp' command in Makefile.
2006-09-17 04:20:00 +03:00
Rolf Ahrenberg
6ce0ca32bd Fixed device switching priority (Thanks to Andreas Brugger).
Fixed device switching back to the primary device.
2006-06-06 04:20:00 +03:00
Rolf Ahrenberg
74a2a1bbe7 Updated for vdr-1.4.0.
Modified APIVERSION code in Makefile.
Updated german translation (Thanks to Andreas Brachold).
2006-04-30 04:20:00 +03:00
Rolf Ahrenberg
bf85e32d0d Added STRIP option for Makefile (Thanks to Ville Skyttä).
Modified APIVERSION code in Makefile.
2006-04-23 04:20:00 +03:00
Rolf Ahrenberg
caf42f7ace Updated for vdr-1.3.47. 2006-04-20 04:20:00 +03:00
31 changed files with 4671 additions and 3505 deletions

18
COPYING
View File

@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

42
HISTORY
View File

@@ -214,3 +214,45 @@ VDR Plugin 'femon' Revision History
- Made all symbol data 'const'.
- Added spanish translation (Thanks to Luis Palacios).
2006-04-20: Version 0.9.9
- Updated for vdr-1.3.47.
2006-04-23: Version 0.9.10
- Added STRIP option for Makefile (Thanks to Ville Skytt<74>).
- Modified APIVERSION code in Makefile.
2006-04-30: Version 1.0.0
- Updated for vdr-1.4.0.
- Modified APIVERSION code in Makefile.
- Updated german translation (Thanks to Andreas Brachold).
2006-06-06: Version 1.0.1
- Fixed device switching priority (Thanks to Andreas Brugger).
- Fixed device switching back to the primary device.
2006-09-17: Version 1.1.0
- Added support for svdrpservice plugin (Thanks to Frank Schmirler).
- Added INFO SVDRP command (partially based on patch by Herbert P<>tzl).
- Removed system log option - use SVDRP instead.
- Added --remove-destination to the 'cp' command in Makefile.
2007-01-08: Version 1.1.1
- Updated for vdr-1.5.0.
2007-05-01: Version 1.1.2
- Fixed opening while replaying (Thanks to Antti Sepp<70>l<EFBFBD> for reporting this one).
2007-05-15: Version 1.1.3
- Fixed a race condition in cFemonReceiver (Thanks to Reinhard Nissl).
2007-08-14: Version 1.2.0
- Updated for vdr-1.5.7.

View File

@@ -9,6 +9,9 @@
# NTSC on/off
#FEMON_NTSC = 1
# Strip debug symbols? Set eg. to /bin/true if not
STRIP = strip
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
@@ -17,7 +20,7 @@ PLUGIN = femon
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).h | awk '{ print $$6 }' | sed -e 's/[";]//g')
VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
### The C++ compiler and options:
@@ -26,7 +29,6 @@ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual
### The directory environment:
DVBDIR = ../../../../DVB
VDRDIR = ../../..
LIBDIR = ../../lib
TMPDIR = /tmp
@@ -35,9 +37,9 @@ TMPDIR = /tmp
-include $(VDRDIR)/Make.config
### The version number of VDR (taken from VDR's "config.h"):
### The version number of VDR's plugin API (taken from VDR's "config.h"):
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### The name of the distribution archive:
@@ -46,7 +48,7 @@ PACKAGE = vdr-$(ARCHIVE)
### Includes and Defines (add further entries here):
INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include
INCLUDES += -I$(VDRDIR)/include
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -63,7 +65,7 @@ all-redirect: all
### The object files (add further files here):
OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femoni18n.o femontools.o
OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femontools.o
### Implicit rules:
@@ -79,16 +81,41 @@ $(DEPFILE): Makefile
-include $(DEPFILE)
### Internationalization (I18N):
PODIR = po
LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='Rolf Ahrenberg' -o $@ $(wildcard *.c)
$(I18Npo): $(I18Npot)
msgmerge -U --no-wrap -F --backup=none -q $@ $<
i18n: $(I18Nmo)
@mkdir -p $(LOCALEDIR)
for i in $(I18Ndirs); do\
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/$(PLUGIN).mo;\
done
### Targets:
all: libvdr-$(PLUGIN).so
all: libvdr-$(PLUGIN).so i18n
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
ifndef FEMON_DEBUG
@strip $(LIBDIR)/$@.$(VDRVERSION)
@$(STRIP) $@
endif
@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -99,4 +126,5 @@ dist: clean
@echo Distribution package created as $(PACKAGE).tgz
clean:
@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~

33
README
View File

@@ -6,6 +6,10 @@ Project's homepage: http://www.saunalahti.fi/~rahrenbe/vdr/femon/
Latest version available at: http://www.saunalahti.fi/~rahrenbe/vdr/femon/
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
See the file COPYING for license information.
Requirements:
@@ -28,7 +32,7 @@ the 'libdvb' library by Metzler Brothers.
Terminology:
--------------------------------------------------------------
|## Channel Name ########################## [AR][VF][A/DD][D]|
|## Channel Name ################### [SVDRP][AR][VF][A/DD][D]|
|[=====Signal Strength in % ==============|=================]|
|[=====Signal-to-Noise Ratio in % ========|=================]|
| STR: #0000 (0%) BER: #00000000 Video: 0 Mbit/s |
@@ -49,10 +53,11 @@ CARRIER - Found a DVB signal
VITERBI - FEC (forward error correction) is stable
SYNC - Found sync bytes
SVDRP - SVDRP connection active (optional)
AR - Aspect Ratio: 1:1/4:3/16:9/2.21:1 (optional)
VF - Video format: PAL/NTSC (optional)
A/DD - Audio (0..5) / AC-3 track (optional)
D - Device number: 0..3 (optional)
A/DD - Audio (0..N) / AC-3 track (optional)
D - Device number: 0..N (optional)
Controls:
@@ -75,6 +80,22 @@ make
make plugins
./vdr -P femon
Client-server architecture:
The SVDRP service extension can be used in client-server configurations.
A streamdev based VDR-to-VDR streaming client can retrieve frontend
information from a server, if the SVDRP service has been activated and
properly configured in femon. The svdrpservice plugin is required on the
VDR client.
If the client fails to open a DVB card frontend corresponding to the
current receiving device, it will connect to the SVDRP server, look for
the femon plugin and tune the channel on the server to the one currently
viewed on the client. If one of these steps fails, the femon OSD won't
open on the client. An SVDRP icon in the femon title bar indicates that
the data source is SVDRP. The device number in the title bar is always
the local device number.
Notes:
- The plugin supports only those DVB cards with _one_ frontend, because I
@@ -91,4 +112,10 @@ Notes:
any bug reports. NTSC users should use a shrinked default OSD height by
compiling the plugin with: make FEMON_NTSC=1
- If the SVDRP service is used: femon won't notice if the server is tuned
to a different channel and tuning the channel on the server might annoy
people watching live TV. In some situations the server will refuse
switching to the requested channel. On a headless server you can avoid
this by installing the dummydevice plugin.
"Femon - A real womon who lives according to her natural feminine inclinations."

89
femon.c
View File

@@ -6,19 +6,45 @@
* $Id$
*/
#include <vdr/menu.h>
#include <vdr/remote.h>
#include "femoncfg.h"
#include "femoni18n.h"
#include "femonreceiver.h"
#include "femonosd.h"
#include "femonservice.h"
#include "femontools.h"
#include "femon.h"
#if defined(VDRVERSNUM) && VDRVERSNUM < 10344
#error "You don't exist! Go away! Upgrade yourself!"
#if defined(APIVERSNUM) && APIVERSNUM < 10507
#error "VDR-1.5.7 API version or greater is required!"
#endif
static const char VERSION[] = "1.2.0";
static const char DESCRIPTION[] = trNOOP("DVB Signal Information Monitor (OSD)");
static const char MAINMENUENTRY[] = trNOOP("Signal Information");
class cPluginFemon : public cPlugin {
public:
cPluginFemon(void);
virtual ~cPluginFemon();
virtual const char *Version(void) { return VERSION; }
virtual const char *Description(void) { return tr(DESCRIPTION); }
virtual const char *CommandLineHelp(void);
virtual bool ProcessArgs(int argc, char *argv[]);
virtual bool Initialize(void);
virtual bool Start(void);
virtual void Stop(void);
virtual void Housekeeping(void);
virtual void MainThreadHook(void) {}
virtual cString Active(void) { return NULL; }
virtual const char *MainMenuEntry(void) { return (femonConfig.hidemenu ? NULL : tr(MAINMENUENTRY)); }
virtual cOsdObject *MainMenuAction(void);
virtual cMenuSetupPage *SetupMenu(void);
virtual bool SetupParse(const char *Name, const char *Value);
virtual bool Service(const char *Id, void *Data);
virtual const char **SVDRPHelpPages(void);
virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode);
};
cPluginFemon::cPluginFemon()
{
// Initialize any member variables here.
@@ -54,7 +80,6 @@ bool cPluginFemon::Initialize(void)
bool cPluginFemon::Start(void)
{
// Start any background activities the plugin shall perform.
RegisterI18n(Phrases);
return true;
}
@@ -72,14 +97,17 @@ cOsdObject *cPluginFemon::MainMenuAction(void)
{
// Perform the action when selected from the main VDR menu.
Dprintf("%s()\n", __PRETTY_FUNCTION__);
return cFemonOsd::Instance(true);
if (cReplayControl::NowReplaying())
Skins.Message(mtInfo, tr("Femon not available while replaying"));
else
return cFemonOsd::Instance(true);
return NULL;
}
bool cPluginFemon::SetupParse(const char *Name, const char *Value)
{
// Parse your own setup parameters and store their values.
if (!strcasecmp(Name, "HideMenu")) femonConfig.hidemenu = atoi(Value);
else if (!strcasecmp(Name, "SyslogOutput")) femonConfig.syslogoutput = atoi(Value);
else if (!strcasecmp(Name, "DisplayMode")) femonConfig.displaymode = atoi(Value);
else if (!strcasecmp(Name, "Position")) femonConfig.position = atoi(Value);
else if (!strcasecmp(Name, "OSDHeight")) femonConfig.osdheight = atoi(Value);
@@ -92,6 +120,9 @@ bool cPluginFemon::SetupParse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "UpdateInterval")) femonConfig.updateinterval = atoi(Value);
else if (!strcasecmp(Name, "AnalStream")) femonConfig.analyzestream = atoi(Value);
else if (!strcasecmp(Name, "CalcInterval")) femonConfig.calcinterval = atoi(Value);
else if (!strcasecmp(Name, "UseSvdrp")) femonConfig.usesvdrp = atoi(Value);
else if (!strcasecmp(Name, "ServerPort")) femonConfig.svdrpport = atoi(Value);
else if (!strcasecmp(Name, "ServerIp")) strn0cpy(femonConfig.svdrpip, Value, sizeof(femonConfig.svdrpip));
else
return false;
if (femonConfig.displaymode < 0 || femonConfig.displaymode >= eFemonModeMaxNumber) femonConfig.displaymode = 0;
@@ -130,6 +161,8 @@ const char **cPluginFemon::SVDRPHelpPages(void)
" Switch to next possible device.",
"PREV\n"
" Switch to previous possible device.",
"INFO\n"
" Print the current frontend information.",
"NAME\n"
" Print the current frontend name.",
"STAT\n"
@@ -141,7 +174,7 @@ const char **cPluginFemon::SVDRPHelpPages(void)
"BERA\n"
" Print the current bit error rate.",
"UNCB\n"
" Print the current uncorrcted blocks rate.",
" Print the current uncorrected blocks rate.",
"VIBR\n"
" Print the actual device and current video bitrate [Mbit/s].",
"AUBR\n"
@@ -156,6 +189,10 @@ const char **cPluginFemon::SVDRPHelpPages(void)
cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode)
{
if (strcasecmp(Command, "OPEN") == 0) {
if (cReplayControl::NowReplaying()) {
ReplyCode = 550; // Requested action not taken
return cString("Cannot open femon plugin while replaying");
}
if (!cFemonOsd::Instance())
cRemote::CallPlugin("femon");
return cString("Opening femon plugin");
@@ -177,6 +214,9 @@ cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int
else
return cString("Cannot switch device");
}
else if (strcasecmp(Command, "INFO") == 0) {
return getFrontendInfo(cDevice::ActualDevice()->CardIndex());
}
else if (strcasecmp(Command, "NAME") == 0) {
return getFrontendName(cDevice::ActualDevice()->CardIndex());
}
@@ -199,25 +239,39 @@ cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int
}
else if (strcasecmp(Command, "VIBR") == 0) {
if (cFemonOsd::Instance())
return cString::sprintf("%.2f Mbit/s on device #%d", cFemonOsd::Instance()->GetVideoBitrate(), cDevice::ActualDevice()->CardIndex());
return cString::sprintf("%s on device #%d", *getBitrateMbits(cFemonOsd::Instance()->GetVideoBitrate()), cDevice::ActualDevice()->CardIndex());
else
return cString::sprintf("--- Mbit/s on device #%d", cDevice::ActualDevice()->CardIndex());
}
else if (strcasecmp(Command, "AUBR") == 0) {
if (cFemonOsd::Instance())
return cString::sprintf("%.0f kbit/s on device #%d", cFemonOsd::Instance()->GetAudioBitrate(), cDevice::ActualDevice()->CardIndex());
return cString::sprintf("%s on device #%d", *getBitrateKbits(cFemonOsd::Instance()->GetAudioBitrate()), cDevice::ActualDevice()->CardIndex());
else
return cString::sprintf("--- kbit/s on device #%d", cDevice::ActualDevice()->CardIndex());
}
else if (strcasecmp(Command, "DDBR") == 0) {
if (cFemonOsd::Instance())
return cString::sprintf("%.0f kbit/s on device #%d", cFemonOsd::Instance()->GetDolbyBitrate(), cDevice::ActualDevice()->CardIndex());
return cString::sprintf("%s on device #%d", *getBitrateKbits(cFemonOsd::Instance()->GetDolbyBitrate()), cDevice::ActualDevice()->CardIndex());
else
return cString::sprintf("--- kbit/s on device #%d", cDevice::ActualDevice()->CardIndex());
}
return NULL;
}
class cMenuFemonSetup : public cMenuSetupPage {
private:
const char *dispmodes[eFemonModeMaxNumber];
const char *skins[eFemonSkinMaxNumber];
const char *themes[eFemonThemeMaxNumber];
cFemonConfig data;
virtual void Setup(void);
protected:
virtual eOSState ProcessKey(eKeys Key);
virtual void Store(void);
public:
cMenuFemonSetup(void);
};
cMenuFemonSetup::cMenuFemonSetup(void)
{
Dprintf("%s()\n", __PRETTY_FUNCTION__);
@@ -248,7 +302,6 @@ void cMenuFemonSetup::Setup(void)
Clear();
Add(new cMenuEditBoolItem( tr("Hide main menu entry"), &data.hidemenu, tr("no"), tr("yes")));
Add(new cMenuEditBoolItem( tr("Use syslog output"), &data.syslogoutput, tr("no"), tr("yes")));
Add(new cMenuEditStraItem( tr("Default display mode"), &data.displaymode, eFemonModeMaxNumber, dispmodes));
Add(new cMenuEditStraItem( tr("Skin"), &data.skin, eFemonSkinMaxNumber, skins));
Add(new cMenuEditStraItem( tr("Theme"), &data.theme, eFemonThemeMaxNumber,themes));
@@ -262,6 +315,11 @@ void cMenuFemonSetup::Setup(void)
Add(new cMenuEditBoolItem( tr("Analyze stream"), &data.analyzestream, tr("no"), tr("yes")));
if (femonConfig.analyzestream)
Add(new cMenuEditIntItem(tr("Calculation interval [0.1s]"), &data.calcinterval, 1, 100));
Add(new cMenuEditBoolItem( tr("Use SVDRP service"), &data.usesvdrp));
if (data.usesvdrp) {
Add(new cMenuEditIntItem(tr("SVDRP service port"), &data.svdrpport, 1, 65535));
Add(new cMenuEditStrItem(tr("SVDRP service IP"), data.svdrpip, MaxSvdrpIp, ".1234567890"));
}
SetCurrent(Get(current));
Display();
@@ -272,7 +330,6 @@ void cMenuFemonSetup::Store(void)
Dprintf("%s()\n", __PRETTY_FUNCTION__);
femonConfig = data;
SetupStore("HideMenu", femonConfig.hidemenu);
SetupStore("SyslogOutput", femonConfig.syslogoutput);
SetupStore("DisplayMode", femonConfig.displaymode);
SetupStore("Skin", femonConfig.skin);
SetupStore("Theme", femonConfig.theme);
@@ -285,15 +342,19 @@ void cMenuFemonSetup::Store(void)
SetupStore("UpdateInterval", femonConfig.updateinterval);
SetupStore("AnalStream", femonConfig.analyzestream);
SetupStore("CalcInterval", femonConfig.calcinterval);
SetupStore("UseSvdrp", femonConfig.usesvdrp);
SetupStore("ServerPort", femonConfig.svdrpport);
SetupStore("ServerIp", femonConfig.svdrpip);
}
eOSState cMenuFemonSetup::ProcessKey(eKeys Key)
{
int oldUsesvdrp = data.usesvdrp;
int oldAnalyzestream = data.analyzestream;
eOSState state = cMenuSetupPage::ProcessKey(Key);
if (Key != kNone && (data.analyzestream != oldAnalyzestream)) {
if (Key != kNone && (data.analyzestream != oldAnalyzestream || data.usesvdrp != oldUsesvdrp)) {
Setup();
}

54
femon.h
View File

@@ -1,54 +0,0 @@
/*
* Frontend Status Monitor plugin for the Video Disk Recorder
*
* See the README file for copyright information and how to reach the author.
*
* $Id$
*/
#ifndef __FEMON_H
#define __FEMON_H
#include <vdr/plugin.h>
static const char *VERSION = "0.9.8";
static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)";
static const char *MAINMENUENTRY = "Signal Information";
class cPluginFemon : public cPlugin {
public:
cPluginFemon(void);
virtual ~cPluginFemon();
virtual const char *Version(void) { return VERSION; }
virtual const char *Description(void) { return tr(DESCRIPTION); }
virtual const char *CommandLineHelp(void);
virtual bool ProcessArgs(int argc, char *argv[]);
virtual bool Initialize(void);
virtual bool Start(void);
virtual void Stop(void);
virtual void Housekeeping(void);
virtual const char *MainMenuEntry(void) { return (femonConfig.hidemenu ? NULL : tr(MAINMENUENTRY)); }
virtual cOsdObject *MainMenuAction(void);
virtual cMenuSetupPage *SetupMenu(void);
virtual bool SetupParse(const char *Name, const char *Value);
virtual bool Service(const char *Id, void *Data);
virtual const char **SVDRPHelpPages(void);
virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode);
};
class cMenuFemonSetup : public cMenuSetupPage {
private:
const char *dispmodes[eFemonModeMaxNumber];
const char *skins[eFemonSkinMaxNumber];
const char *themes[eFemonThemeMaxNumber];
cFemonConfig data;
virtual void Setup(void);
protected:
virtual eOSState ProcessKey(eKeys Key);
virtual void Store(void);
public:
cMenuFemonSetup(void);
};
#endif //__FEMON_H

View File

@@ -6,6 +6,7 @@
* $Id$
*/
#include <string.h>
#include "femoncfg.h"
cFemonConfig femonConfig;
@@ -22,7 +23,6 @@ cFemonConfig::cFemonConfig(void)
updateinterval = 5;
analyzestream = 1;
calcinterval = 20;
syslogoutput = 0;
showcasystem = 0;
#ifdef NTSC
osdheight = 420;
@@ -30,6 +30,9 @@ cFemonConfig::cFemonConfig(void)
osdheight = 480;
#endif
osdoffset = 0;
usesvdrp = 0;
svdrpport = 2001;
strncpy(svdrpip, "0.0.0.0", sizeof(svdrpip));
}
const cFemonTheme femonTheme[eFemonThemeMaxNumber] =

View File

@@ -9,6 +9,8 @@
#ifndef __FEMONCFG_H
#define __FEMONCFG_H
#define MaxSvdrpIp 15 // xxx.xxx.xxx.xxx
enum eFemonModes
{
eFemonModeBasic,
@@ -32,10 +34,12 @@ public:
int updateinterval;
int analyzestream;
int calcinterval;
int syslogoutput;
int showcasystem;
int osdheight;
int osdoffset;
int usesvdrp;
int svdrpport;
char svdrpip[MaxSvdrpIp + 1]; // must end with additional null
};
extern cFemonConfig femonConfig;

View File

@@ -1,340 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1,6 +0,0 @@
VDR Plugin 'femonclient' Revision History
-----------------------------------------
2005-08-28: Version 0.0.1
- Initial revision.

View File

@@ -1,82 +0,0 @@
#
# Makefile for a Video Disk Recorder plugin
#
# $Id: Makefile 1.1 2005/08/21 10:43:12 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
#
PLUGIN = femonclient
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
### The C++ compiler and options:
CXX ?= g++
CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual
### The directory environment:
DVBDIR = ../../../../DVB
VDRDIR = ../../..
LIBDIR = ../../lib
TMPDIR = /tmp
### Allow user defined options to overwrite defaults:
-include $(VDRDIR)/Make.config
### The version number of VDR (taken from VDR's "config.h"):
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
### The name of the distribution archive:
ARCHIVE = svcintf-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
### Includes and Defines (add further entries here):
INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include -I$(VDRDIR)/PLUGINS/src/femon/
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### The object files (add further files here):
OBJS = $(PLUGIN).o
### Implicit rules:
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
# Dependencies:
MAKEDEP = g++ -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
-include $(DEPFILE)
### Targets:
all: libvdr-$(PLUGIN).so
libvdr-$(PLUGIN).so: $(PLUGIN).o
$(CXX) $(CXXFLAGS) -shared $(PLUGIN).o -o $@
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
@tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE)
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@echo Distribution package created as $(PACKAGE).tgz
clean:
@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~

View File

@@ -1,14 +0,0 @@
This is a "plugin" for the Video Disk Recorder (VDR).
Written by: R o l f . A h r e n b e r g @ s c i . f i
Project's homepage: http://www.saunalahti.fi/~rahrenbe/vdr/femon/
Latest version available at: http://www.saunalahti.fi/~rahrenbe/vdr/femon/
See the file COPYING for license information.
Description:
Demo client for the service interface of the Femon plugin.

View File

@@ -1,51 +0,0 @@
/*
* femonclient.c: Demo femon service client plugin
*
* See the README file for copyright information and how to reach the author.
*
* $Id: $
*/
#include <stdlib.h>
#include <vdr/interface.h>
#include <vdr/plugin.h>
#include "femonservice.h"
static const char *VERSION = "0.0.1";
static const char *DESCRIPTION = "Femon client";
static const char *MAINMENUENTRY = "Show frontend statistic on console";
class cPluginFemonClient : public cPlugin {
public:
virtual const char *Version(void) { return VERSION; }
virtual const char *Description(void) { return DESCRIPTION; }
virtual const char *MainMenuEntry(void) { return MAINMENUENTRY; }
virtual cOsdObject *MainMenuAction(void);
};
// --- cPluginFemonClient ----------------------------------------------------------
cOsdObject *cPluginFemonClient::MainMenuAction(void)
{
FemonService_v1_0 femon;
cPlugin *p;
p = cPluginManager::CallFirstService("FemonService-v1.0", &femon);
if (p) {
printf("Device : %s\n", *femon.fe_name);
printf("Status : %s\n", *femon.fe_status);
printf("Signal : %04X (%2d%%)\n", femon.fe_signal, femon.fe_signal / 655);
printf("SNR : %04X (%2d%%)\n", femon.fe_snr, femon.fe_snr / 655);
printf("BER : %08X\n", femon.fe_ber);
printf("UNC : %08X\n", femon.fe_unc);
printf("Video : %.2f Mbit/s\n", femon.video_bitrate);
printf("Audio : %.0f kbit/s\n", femon.audio_bitrate);
printf("Dolby : %.0f kbit/s\n", femon.dolby_bitrate);
}
else
printf("\n--- No support for FemonService-v1.0 found ---\n");
return NULL;
}
VDRPLUGINCREATOR(cPluginFemonClient); // Don't touch this!

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +0,0 @@
/*
* Frontend Status Monitor plugin for the Video Disk Recorder
*
* See the README file for copyright information and how to reach the author.
*
* $Id$
*/
#ifndef __FEMONI18N_H
#define __FEMONI18N_H
#include <vdr/i18n.h>
extern const tI18nPhrase Phrases[];
#endif // __FEMONI18N_H

File diff suppressed because it is too large Load Diff

View File

@@ -15,16 +15,26 @@
#include <vdr/osd.h>
#include <vdr/thread.h>
#include <vdr/status.h>
#include <vdr/plugin.h>
#include <vdr/channels.h>
#include <vdr/transfer.h>
#include <vdr/tools.h>
#include "svdrpservice.h"
#define MAX_BM_NUMBER 5
class cFemonOsd : public cOsdObject, public cThread, public cStatus {
private:
enum { MAX_BMNUMBERS = 6 };
static cFemonOsd *pInstance;
cOsd *m_Osd;
cFemonReceiver *m_Receiver;
int m_Frontend;
int m_SvdrpFrontend;
double m_SvdrpVideoBitrate;
double m_SvdrpAudioBitrate;
SvdrpConnection_v1_0 m_SvdrpConnection;
cPlugin *m_SvdrpPlugin;
struct dvb_frontend_info m_FrontendInfo;
int m_Number;
int m_OldNumber;
@@ -38,11 +48,14 @@ private:
cTimeMs m_InputTime;
cMutex* m_Mutex;
static cBitmap bmStereo, bmMonoLeft, bmMonoRight, bmDD, bmDD20, bmDD51;
static cBitmap bmZero, bmDevice, bmPAL, bmNTSC, bmOne, bmTwo, bmThree, bmFour, bmFive;
static cBitmap bmNumbers[MAX_BMNUMBERS];
static cBitmap bmDevice, bmPAL, bmNTSC, bmSVDRP;
static cBitmap bmAspectRatio_1_1, bmAspectRatio_16_9, bmAspectRatio_2_21_1, bmAspectRatio_4_3;
static cBitmap bmLock, bmSignal, bmCarrier, bmViterbi, bmSync;
void DrawStatusWindow(void);
void DrawInfoWindow(void);
bool SvdrpConnect(void);
bool SvdrpTune(void);
protected:
cFemonOsd();

View File

@@ -17,8 +17,12 @@
#define PAYLOAD 0x10
#define PTS_DTS_FLAGS 0xC0
cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[])
cFemonReceiver::cFemonReceiver(tChannelID ChannelID, int Ca, int Vpid, int Apid[], int Dpid[])
#if defined(APIVERSNUM) && APIVERSNUM < 10500
:cReceiver(Ca, -1, Vpid, Apid, Dpid, NULL), cThread("femon receiver")
#else
:cReceiver(ChannelID, -1, Vpid, Apid, Dpid, NULL), cThread("femon receiver")
#endif
{
Dprintf("%s()\n", __PRETTY_FUNCTION__);
m_VideoPid = Vpid;
@@ -60,6 +64,7 @@ cFemonReceiver::~cFemonReceiver(void)
Dprintf("%s()\n", __PRETTY_FUNCTION__);
if (Running())
Cancel(3);
Detach();
}
/* The following function originates from libdvbmpeg: */
@@ -141,7 +146,7 @@ void cFemonReceiver::GetVideoInfo(uint8_t *mbuf, int count)
m_VideoFormat = VF_UNKNOWN;
break;
}
m_VideoStreamBitrate = 400 * (((headr[4] << 10) & 0x0003FC00UL) | ((headr[5] << 2) & 0x000003FCUL) | (((headr[6] & 0xC0) >> 6) & 0x00000003UL)) / 1000000.0;
m_VideoStreamBitrate = 400.0 * (((headr[4] << 10) & 0x0003FC00UL) | ((headr[5] << 2) & 0x000003FCUL) | (((headr[6] & 0xC0) >> 6) & 0x00000003UL));
}
static unsigned int bitrates[3][16] =
@@ -179,7 +184,7 @@ void cFemonReceiver::GetAudioInfo(uint8_t *mbuf, int count)
else if (tmp == 0xf)
m_AudioStreamBitrate = (double)FR_RESERVED;
else
m_AudioStreamBitrate = tmp / 1000.0;
m_AudioStreamBitrate = tmp;
tmp = samplerates[((headr[2] & 0x0c) >> 2)] * 100;
if (tmp == 3)
m_AudioSamplingFreq = FR_RESERVED;
@@ -222,7 +227,7 @@ void cFemonReceiver::GetAC3Info(uint8_t *mbuf, int count)
m_AC3Valid = true;
headr = mbuf + c + 2;
frame = (headr[2] & 0x3f);
m_AC3StreamBitrate = ac3_bitrates[frame >> 1];
m_AC3StreamBitrate = ac3_bitrates[frame >> 1] * 1000;
int fr = (headr[2] & 0xc0 ) >> 6;
m_AC3SamplingFreq = ac3_freq[fr] * 100;
m_AC3FrameSize = ac3_frames[fr][frame >> 1];
@@ -355,11 +360,11 @@ void cFemonReceiver::Action(void)
while (Running()) {
t.Set(0);
// TS packet 188 bytes - 4 byte header; MPEG standard defines 1Mbit = 1000000bit
m_VideoBitrate = (8.0 * 184.0 * m_VideoPacketCount) / (femonConfig.calcinterval * 100000.0);
m_VideoBitrate = (10.0 * 8.0 * 184.0 * m_VideoPacketCount) / femonConfig.calcinterval;
m_VideoPacketCount = 0;
m_AudioBitrate = (8.0 * 184.0 * m_AudioPacketCount) / (femonConfig.calcinterval * 100.0);
m_AudioBitrate = (10.0 * 8.0 * 184.0 * m_AudioPacketCount) / femonConfig.calcinterval;
m_AudioPacketCount = 0;
m_AC3Bitrate = (8.0 * 184.0 * m_AC3PacketCount) / (femonConfig.calcinterval * 100.0);
m_AC3Bitrate = (10.0 * 8.0 * 184.0 * m_AC3PacketCount) / femonConfig.calcinterval;
m_AC3PacketCount = 0;
cCondWait::SleepMs(100 * femonConfig.calcinterval - t.Elapsed());
}

View File

@@ -47,9 +47,11 @@ enum eDolbySurroundMode {
DSM_RESERVED = 3,
};
#define FR_RESERVED -1
#define FR_FREE -2
#define FR_NOTVALID -3
enum eReveiverCodes {
FR_RESERVED = -1,
FR_FREE = -2,
FR_NOTVALID = -3
};
class cFemonReceiver : public cReceiver, public cThread {
private:
@@ -94,7 +96,7 @@ protected:
virtual void Action(void);
public:
cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[]);
cFemonReceiver(tChannelID ChannelID, int Ca, int Vpid, int Apid[], int Dpid[]);
virtual ~cFemonReceiver();
bool VideoValid(void) { return m_VideoValid; }; // boolean
@@ -103,19 +105,19 @@ public:
int VideoAspectRatio(void) { return m_VideoAspectRatio; }; // eAspectRatio
int VideoFormat(void) { return m_VideoFormat; }; // eVideoFormat
double VideoFrameRate(void) { return m_VideoFrameRate; }; // Hz
double VideoStreamBitrate(void) { return m_VideoStreamBitrate; }; // Mbit/s
double VideoBitrate(void) { return m_VideoBitrate; }; // Mbit/s
double VideoStreamBitrate(void) { return m_VideoStreamBitrate; }; // bit/s
double VideoBitrate(void) { return m_VideoBitrate; }; // bit/s
bool AudioValid(void) { return m_AudioValid; }; // boolean
int AudioMPEGLayer(void) { return m_AudioMPEGLayer; }; // layer number
int AudioSamplingFreq(void) { return m_AudioSamplingFreq; }; // Hz
double AudioStreamBitrate(void) { return m_AudioStreamBitrate; }; // kbit/s
double AudioBitrate(void) { return m_AudioBitrate; }; // kbit/s
double AudioStreamBitrate(void) { return m_AudioStreamBitrate; }; // bit/s
double AudioBitrate(void) { return m_AudioBitrate; }; // bit/s
bool AC3Valid(void) { return m_AC3Valid; }; // boolean
int AC3SamplingFreq(void) { return m_AC3SamplingFreq; }; // Hz
double AC3StreamBitrate(void) { return m_AC3StreamBitrate; }; // kbit/s
double AC3Bitrate(void) { return m_AC3Bitrate; }; // kbit/s
double AC3StreamBitrate(void) { return m_AC3StreamBitrate; }; // bit/s
double AC3Bitrate(void) { return m_AC3Bitrate; }; // bit/s
int AC3FrameSize(void) { return m_AC3FrameSize; }; // Bytes
int AC3BitStreamMode(void) { return m_AC3BitStreamMode; }; // 0..7
int AC3AudioCodingMode(void) { return m_AC3AudioCodingMode; }; // 0..7

View File

@@ -10,8 +10,46 @@
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/dvb/frontend.h>
#include "femonreceiver.h"
#include "femonosd.h"
#include "femontools.h"
cString getFrontendInfo(int cardIndex)
{
cString info;
struct dvb_frontend_info value;
fe_status_t status;
uint16_t signal = 0;
uint16_t snr = 0;
uint32_t ber = 0;
uint32_t unc = 0;
char *dev = NULL;
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
asprintf(&dev, FRONTEND_DEVICE, cardIndex, 0);
int fe = open(dev, O_RDONLY | O_NONBLOCK);
free(dev);
if (fe < 0)
return NULL;
CHECK(ioctl(fe, FE_GET_INFO, &value));
CHECK(ioctl(fe, FE_READ_STATUS, &status));
CHECK(ioctl(fe, FE_READ_SIGNAL_STRENGTH, &signal));
CHECK(ioctl(fe, FE_READ_SNR, &snr));
CHECK(ioctl(fe, FE_READ_BER, &ber));
CHECK(ioctl(fe, FE_READ_UNCORRECTED_BLOCKS, &unc));
close(fe);
info = cString::sprintf("CARD:%d\nTYPE:%d\nNAME:%s\nSTAT:%02X\nSGNL:%04X\nSNRA:%04X\nBERA:%08X\nUNCB:%08X", cardIndex, value.type, value.name, status, signal, snr, ber, unc);
if (cFemonOsd::Instance())
info = cString::sprintf("%s\nVIBR:%.0f\nAUBR:%.0f\nDDBR:%.0f", *info, cFemonOsd::Instance()->GetVideoBitrate(), cFemonOsd::Instance()->GetAudioBitrate(), cFemonOsd::Instance()->GetDolbyBitrate());
if (channel)
info = cString::sprintf("%s\nCHAN:%s", *info, *channel->ToText());
return info;
}
cString getFrontendName(int cardIndex)
{
struct dvb_frontend_info value;
@@ -22,7 +60,7 @@ cString getFrontendName(int cardIndex)
free(dev);
if (fe < 0)
return NULL;
ioctl(fe, FE_GET_INFO, &value);
CHECK(ioctl(fe, FE_GET_INFO, &value));
close(fe);
return (cString::sprintf("%s on device #%d", value.name, cardIndex));
@@ -108,3 +146,280 @@ uint32_t getUNC(int cardIndex)
return (value);
}
cString getApids(const cChannel *channel)
{
int value = 0;
cString apids = cString::sprintf("%d", channel->Apid(value));
while (channel->Apid(++value) && (value < MAXAPIDS))
apids = cString::sprintf("%s, %d", *apids, channel->Apid(value));
return apids;
}
cString getDpids(const cChannel *channel)
{
int value = 0;
cString dpids = cString::sprintf("%d", channel->Dpid(value));
while (channel->Dpid(++value) && (value < MAXDPIDS))
dpids = cString::sprintf("%s, %d", *dpids, channel->Dpid(value));
return dpids;
}
cString getCAids(const cChannel *channel, bool identify)
{
cString caids;
int value = 0;
if (identify) {
caids = cString::sprintf("%s", *getCA(channel->Ca(value)));
while (channel->Ca(++value) && (value < MAXCAIDS))
caids = cString::sprintf("%s, %s", *caids, *getCA(channel->Ca(value)));
}
else {
caids = cString::sprintf("%04x", channel->Ca(value));
while (channel->Ca(++value) && (value < MAXCAIDS))
caids = cString::sprintf("%s, %04x", *caids, channel->Ca(value));
}
return caids;
}
cString getCA(int value)
{
/* http://www.dvb.org/index.php?id=174 */
switch (value) {
case 0x0000: return cString::sprintf("%s", tr("Free to Air")); /* Reserved */
case 0x0001 ... 0x009F:
case 0x00A2 ... 0x00FF: return cString::sprintf("%s", tr("Fixed")); /* Standardized systems */
case 0x00A0 ... 0x00A1: return cString::sprintf("%s", tr("Analog")); /* Analog signals */
case 0x0100 ... 0x01FF: return cString::sprintf("%s", tr("SECA/Mediaguard")); /* Canal Plus */
case 0x0500 ... 0x05FF: return cString::sprintf("%s", tr("Viaccess")); /* France Telecom */
case 0x0600 ... 0x06FF: return cString::sprintf("%s", tr("Irdeto")); /* Irdeto */
case 0x0900 ... 0x09FF: return cString::sprintf("%s", tr("NDS/Videoguard")); /* News Datacom */
case 0x0B00 ... 0x0BFF: return cString::sprintf("%s", tr("Conax")); /* Norwegian Telekom */
case 0x0D00 ... 0x0DFF: return cString::sprintf("%s", tr("CryptoWorks")); /* Philips */
case 0x0E00 ... 0x0EFF: return cString::sprintf("%s", tr("PowerVu")); /* Scientific Atlanta */
case 0x1200 ... 0x12FF: return cString::sprintf("%s", tr("NagraVision")); /* BellVu Express */
case 0x1700 ... 0x17FF: return cString::sprintf("%s", tr("BetaCrypt")); /* BetaTechnik */
case 0x1800 ... 0x18FF: return cString::sprintf("%s", tr("NagraVision")); /* Kudelski SA */
case 0x4A60 ... 0x4A6F: return cString::sprintf("%s", tr("SkyCrypt")); /* @Sky */
}
return cString::sprintf("%X", value);
}
cString getCoderate(int value)
{
switch (value) {
case FEC_NONE: return cString::sprintf("%s", tr("None"));
case FEC_1_2: return cString::sprintf("1/2");
case FEC_2_3: return cString::sprintf("2/3");
case FEC_3_4: return cString::sprintf("3/4");
case FEC_4_5: return cString::sprintf("4/5");
case FEC_5_6: return cString::sprintf("5/6");
case FEC_6_7: return cString::sprintf("6/7");
case FEC_7_8: return cString::sprintf("7/8");
case FEC_8_9: return cString::sprintf("8/9");
case FEC_AUTO: return cString::sprintf("%s", tr("Auto"));
}
return cString::sprintf("---");
}
cString getTransmission(int value)
{
switch (value) {
case TRANSMISSION_MODE_2K: return cString::sprintf("2K");
case TRANSMISSION_MODE_8K: return cString::sprintf("8K");
case TRANSMISSION_MODE_AUTO: return cString::sprintf("%s", tr("Auto"));
}
return cString::sprintf("---");
}
cString getBandwidth(int value)
{
switch (value) {
case BANDWIDTH_8_MHZ: return cString::sprintf("8 %s", tr("MHz"));
case BANDWIDTH_7_MHZ: return cString::sprintf("7 %s", tr("MHz"));
case BANDWIDTH_6_MHZ: return cString::sprintf("6 %s", tr("MHz"));
case BANDWIDTH_AUTO: return cString::sprintf("%s", tr("Auto"));
}
return cString::sprintf("---");
}
cString getInversion(int value)
{
switch (value) {
case INVERSION_OFF: return cString::sprintf("%s", tr("Off"));
case INVERSION_ON: return cString::sprintf("%s", tr("On"));
case INVERSION_AUTO: return cString::sprintf("%s", tr("Auto"));
}
return cString::sprintf("---");
}
cString getHierarchy(int value)
{
switch (value) {
case HIERARCHY_NONE: return cString::sprintf("%s", tr("None"));
case HIERARCHY_1: return cString::sprintf("1");
case HIERARCHY_2: return cString::sprintf("2");
case HIERARCHY_4: return cString::sprintf("4");
case HIERARCHY_AUTO: cString::sprintf("%s", tr("Auto"));
}
return cString::sprintf("---");
}
cString getGuard(int value)
{
switch (value) {
case GUARD_INTERVAL_1_32: return cString::sprintf("1/32");
case GUARD_INTERVAL_1_16: return cString::sprintf("1/16");
case GUARD_INTERVAL_1_8: return cString::sprintf("1/8");
case GUARD_INTERVAL_1_4: return cString::sprintf("1/4");
case GUARD_INTERVAL_AUTO: cString::sprintf("%s", tr("Auto"));
}
return cString::sprintf("---");
}
cString getModulation(int value)
{
switch (value) {
case QPSK: return cString::sprintf("QPSK");
case QAM_16: return cString::sprintf("QAM 16");
case QAM_32: return cString::sprintf("QAM 32");
case QAM_64: return cString::sprintf("QAM 64");
case QAM_128: return cString::sprintf("QAM 128");
case QAM_256: return cString::sprintf("QAM 256");
case QAM_AUTO: return cString::sprintf("QAM %s", tr("Auto"));
}
return cString::sprintf("---");
}
cString getAspectRatio(int value)
{
switch (value) {
case AR_RESERVED: return cString::sprintf("%s", tr("reserved"));
case AR_1_1: return cString::sprintf("1:1");
case AR_4_3: return cString::sprintf("4:3");
case AR_16_9: return cString::sprintf("16:9");
case AR_2_21_1: return cString::sprintf("2.21:1");
}
return cString::sprintf("---");
}
cString getVideoFormat(int value)
{
switch (value) {
case VF_UNKNOWN: return cString::sprintf("%s", tr("unknown"));
case VF_PAL: return cString::sprintf("%s", tr("PAL"));
case VF_NTSC: return cString::sprintf("%s", tr("NTSC"));
}
return cString::sprintf("---");
}
cString getAC3BitStreamMode(int value, int coding)
{
switch (value) {
case 0: return cString::sprintf("%s", tr("Complete Main (CM)"));
case 1: return cString::sprintf("%s", tr("Music and Effects (ME)"));
case 2: return cString::sprintf("%s", tr("Visually Impaired (VI)"));
case 3: return cString::sprintf("%s", tr("Hearing Impaired (HI)"));
case 4: return cString::sprintf("%s", tr("Dialogue (D)"));
case 5: return cString::sprintf("%s", tr("Commentary (C)"));
case 6: return cString::sprintf("%s", tr("Emergency (E)"));
case 7: return cString::sprintf("%s", (coding == 1) ? tr("Voice Over (VO)") : tr("Karaoke"));
}
return cString::sprintf("---");
}
cString getAC3AudioCodingMode(int value, int stream)
{
if (stream != 7) {
switch (value) {
case 0: return cString::sprintf("1+1 - %s, %s", tr("Ch1"), tr("Ch2"));
case 1: return cString::sprintf("1/0 - %s", tr("C"));
case 2: return cString::sprintf("2/0 - %s, %s", tr("L"), tr("R"));
case 3: return cString::sprintf("3/0 - %s, %s, %s", tr("L"), tr("C"), tr("R"));
case 4: return cString::sprintf("2/1 - %s, %s, %s", tr("L"), tr("R"), tr("S"));
case 5: return cString::sprintf("3/1 - %s, %s, %s, %s", tr("L"), tr("C"), tr("R"), tr("S"));
case 6: return cString::sprintf("2/2 - %s, %s, %s, %s", tr("L"), tr("R"), tr("SL"), tr("SR"));
case 7: return cString::sprintf("3/2 - %s, %s, %s, %s, %s", tr("L"), tr("C"), tr("R"), tr("SL"), tr("SR"));
}
}
return cString::sprintf("---");
}
cString getAC3CenterMixLevel(int value)
{
switch (value) {
case CML_MINUS_3dB: return cString::sprintf("-3.0 %s", tr("dB"));
case CML_MINUS_4_5dB: return cString::sprintf("-4.5 %s", tr("dB"));
case CML_MINUS_6dB: return cString::sprintf("-6.0 %s", tr("dB"));
case CML_RESERVED: return cString::sprintf("%s", tr("reserved"));
}
return cString::sprintf("---");
}
cString getAC3SurroundMixLevel(int value)
{
switch (value) {
case SML_MINUS_3dB: return cString::sprintf("-3 %s", tr("dB"));
case SML_MINUS_6dB: return cString::sprintf("-6 %s", tr("dB"));
case SML_0_dB: return cString::sprintf("0 %s", tr("dB"));
case SML_RESERVED: return cString::sprintf("%s", tr("reserved"));
}
return cString::sprintf("---");
}
cString getAC3DolbySurroundMode(int value)
{
switch (value) {
case DSM_NOT_INDICATED: return cString::sprintf("%s", tr("not indicated"));
case DSM_NOT_DOLBYSURROUND: return cString::sprintf("%s", tr("no"));
case DSM_DOLBYSURROUND: return cString::sprintf("%s", tr("yes"));
case DSM_RESERVED: return cString::sprintf("%s", tr("reserved"));
}
return cString::sprintf("---");
}
cString getAC3DialogLevel(int value)
{
if (value > 0)
return cString::sprintf("-%d %s", value, tr("dB"));
return cString::sprintf("---");
}
cString getFrequencyMHz(int value)
{
while (value > 20000) value /= 1000;
return cString::sprintf("%d %s", value, tr("MHz"));
}
cString getAudioSamplingFreq(int value)
{
switch (value) {
case FR_NOTVALID: return cString::sprintf("---");
case FR_RESERVED: return cString::sprintf("%s", tr("reserved"));
}
return cString::sprintf("%.1f %s", ((double)value / 1000.0), tr("kHz"));
}
cString getAudioBitrate(double value, double stream)
{
switch ((int)stream) {
case FR_NOTVALID: return cString::sprintf("---");
case FR_RESERVED: return cString::sprintf("%s (%s)", tr("reserved"), *getBitrateKbits(value));
case FR_FREE: return cString::sprintf("%s (%s)", tr("free"), *getBitrateKbits(value));
}
return cString::sprintf("%s (%s)", *getBitrateKbits(stream), *getBitrateKbits(value));
}
cString getBitrateMbits(double value)
{
if (value >= 0)
return cString::sprintf("%.2f %s", value / 1000000.0, tr("Mbit/s"));
return cString::sprintf("--- %s", tr("Mbit/s"));
}
cString getBitrateKbits(double value)
{
if (value >= 0)
return cString::sprintf("%.0f %s", value / 1000.0, tr("kbit/s"));
return cString::sprintf("--- %s", tr("kbit/s"));
}

View File

@@ -10,6 +10,7 @@
#define __FEMONTOOLS_H
#include <stdint.h>
#include <vdr/channels.h>
#include <vdr/tools.h>
#ifdef DEBUG
@@ -20,11 +21,39 @@
#define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d"
cString getFrontendInfo(int cardIndex = 0);
cString getFrontendName(int cardIndex = 0);
cString getFrontendStatus(int cardIndex = 0);
uint16_t getSNR(int cardIndex = 0);
uint16_t getSignal(int cardIndex = 0);
uint32_t getBER(int cardIndex = 0);
uint32_t getUNC(int cardIndex = 0);
cString getApids(const cChannel *channel);
cString getDpids(const cChannel *channel);
cString getCAids(const cChannel *channel, bool identify = false);
cString getCA(int value);
cString getCoderate(int value);
cString getTransmission(int value);
cString getBandwidth(int value);
cString getInversion(int value);
cString getHierarchy(int value);
cString getGuard(int value);
cString getModulation(int value);
cString getAspectRatio(int value);
cString getVideoFormat(int value);
cString getAC3BitStreamMode(int value, int coding);
cString getAC3AudioCodingMode(int value, int stream);
cString getAC3CenterMixLevel(int value);
cString getAC3SurroundMixLevel(int value);
cString getAC3DolbySurroundMode(int value);
cString getAC3DialogLevel(int value);
cString getFrequencyMHz(int value);
cString getAudioSamplingFreq(int value);
cString getAudioBitrate(double value, double stream);
cString getBitrateMbits(double value);
cString getBitrateKbits(double value);
#endif // __FEMONTOOLS_H

535
po/de_DE.po Normal file
View File

@@ -0,0 +1,535 @@
# VDR plugin language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Peter Marquardt
# Andreas Brachold
# Christian Wieninger
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: Rolf Ahrenberg\n"
"POT-Creation-Date: 2007-08-12 23:22+0300\n"
"PO-Revision-Date: 2007-08-12 23:22+0300\n"
"Last-Translator: Christian Wieninger\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
#: femon.c:22
msgid "DVB Signal Information Monitor (OSD)"
msgstr "DVB Signal Informationsanzeige (OSD)"
#: femon.c:23
msgid "Signal Information"
msgstr "Signalinformationen"
#: femon.c:101
msgid "Femon not available while replaying"
msgstr "Femon w<>hrend Wiedergabe nicht verf<72>gbar"
#: femon.c:278
msgid "basic"
msgstr "Standard"
#: femon.c:279
msgid "transponder"
msgstr "Transponder"
#: femon.c:280
msgid "stream"
msgstr "Stream"
#: femon.c:281 femonosd.c:276
msgid "AC-3"
msgstr "AC-3"
#: femon.c:283 femon.c:286
msgid "Classic"
msgstr "Klassischer"
#: femon.c:284 femon.c:287
msgid "Elchi"
msgstr "Elchi"
#: femon.c:288
msgid "DeepBlue"
msgstr "DeepBlue"
#: femon.c:289
msgid "Moronimo"
msgstr "Moronimo"
#: femon.c:290
msgid "Enigma"
msgstr "Enigma"
#: femon.c:291
msgid "EgalsTry"
msgstr "EgalsTry"
#: femon.c:292
msgid "Duotone"
msgstr "Duotone"
#: femon.c:293
msgid "SilverGreen"
msgstr "SilverGreen"
#: femon.c:304
msgid "Hide main menu entry"
msgstr "Hauptmen<65>eintrag verstecken"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:374
msgid "no"
msgstr "nein"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:375
msgid "yes"
msgstr "ja"
#: femon.c:305
msgid "Default display mode"
msgstr "Standard Anzeigemodus"
#: femon.c:306
msgid "Skin"
msgstr "Oberfl<66>che"
#: femon.c:307
msgid "Theme"
msgstr "Thema"
#: femon.c:308
msgid "Position"
msgstr "Position"
#: femon.c:308
msgid "bottom"
msgstr "unten"
#: femon.c:308
msgid "top"
msgstr "oben"
#: femon.c:309
msgid "Height"
msgstr "H<>he"
#: femon.c:310
msgid "Horizontal offset"
msgstr "Horizontaler Offset"
#: femon.c:311
msgid "Show CA system"
msgstr "CA System anzeigen"
#: femon.c:312
msgid "Red limit [%]"
msgstr "Grenze Rot [%]"
#: femon.c:313
msgid "Green limit [%]"
msgstr "Grenze Gr<47>n [%]"
#: femon.c:314
msgid "OSD update interval [0.1s]"
msgstr "OSD Updateintervall [0.1s]"
#: femon.c:315
msgid "Analyze stream"
msgstr "Stream analysieren"
#: femon.c:317
msgid "Calculation interval [0.1s]"
msgstr "Berechnungsintervall [0.1s]"
#: femon.c:318
msgid "Use SVDRP service"
msgstr "SVDRP Service verwenden"
#: femon.c:320
msgid "SVDRP service port"
msgstr "SVDRP Service Port"
#: femon.c:321
msgid "SVDRP service IP"
msgstr "SVDRP Service IP"
#: femonosd.c:268
msgid "Video"
msgstr "Video"
#: femonosd.c:276
msgid "Audio"
msgstr "Audio"
#: femonosd.c:305
msgid "Transponder Information"
msgstr "Transponderinformation"
#: femonosd.c:311
msgid "Vpid"
msgstr "Vpid"
#: femonosd.c:313
msgid "Ppid"
msgstr "Ppid"
#: femonosd.c:316
msgid "Apid"
msgstr "Apid"
#: femonosd.c:318
msgid "Dpid"
msgstr "Dpid"
#: femonosd.c:321
msgid "CA"
msgstr "CA"
#: femonosd.c:323
msgid "Tpid"
msgstr "Tpid"
#: femonosd.c:326
msgid "Sid"
msgstr "Sid"
#: femonosd.c:328
msgid "Nid"
msgstr "Nid"
#: femonosd.c:331
msgid "Tid"
msgstr "Tid"
#: femonosd.c:333
msgid "Rid"
msgstr "Rid"
#: femonosd.c:338
msgid "Satellite Card"
msgstr "Satellitenkarte"
#: femonosd.c:340 femonosd.c:359 femonosd.c:378
msgid "Frequency"
msgstr "Frequenz"
#: femonosd.c:342 femonosd.c:361
msgid "Source"
msgstr "Quelle"
#: femonosd.c:345 femonosd.c:364
msgid "Srate"
msgstr "Srate"
#: femonosd.c:347
msgid "Polarization"
msgstr "Polarisation"
#: femonosd.c:350 femonosd.c:369 femonosd.c:388
msgid "Inversion"
msgstr "Inversion"
#: femonosd.c:352 femonosd.c:371
msgid "CoderateH"
msgstr "CoderateH"
#: femonosd.c:357
msgid "Cable Card"
msgstr "Kabelkarte"
#: femonosd.c:366 femonosd.c:385
msgid "Modulation"
msgstr "Modulation"
#: femonosd.c:376
msgid "Terrestrial Card"
msgstr "Terrestrische Karte"
#: femonosd.c:380
msgid "Transmission"
msgstr "Transmission"
#: femonosd.c:383
msgid "Bandwidth"
msgstr "Bandbreite"
#: femonosd.c:390
msgid "Coderate"
msgstr "Coderate"
#: femonosd.c:393
msgid "Hierarchy"
msgstr "Hierarchie"
#: femonosd.c:395
msgid "Guard"
msgstr "Guard"
#: femonosd.c:410 femonosd.c:453
msgid "Stream Information"
msgstr "Streaminformation"
#: femonosd.c:416
msgid "Video Stream"
msgstr "Video Stream"
#: femonosd.c:419 femonosd.c:437 femonosd.c:460
msgid "Bitrate"
msgstr "Bitrate"
#: femonosd.c:422
msgid "Aspect Ratio"
msgstr "Seitenverh<72>ltnis"
#: femonosd.c:425
msgid "Frame Rate"
msgstr "Bildrate"
#: femonosd.c:426
msgid "Hz"
msgstr "Hz"
#: femonosd.c:428
msgid "Video Format"
msgstr "Bildformat"
#: femonosd.c:431
msgid "Resolution"
msgstr "Aufl<66>sung"
#: femonosd.c:434
msgid "Audio Stream"
msgstr "Audio Stream"
#: femonosd.c:440
msgid "MPEG Layer"
msgstr "MPEG Layer"
#: femonosd.c:443 femonosd.c:463
msgid "Sampling Frequency"
msgstr "Abtastrate"
#: femonosd.c:453
msgid "AC-3 Stream"
msgstr "AC-3 Stream"
#: femonosd.c:464 femontools.c:400
msgid "kHz"
msgstr "kHz"
#: femonosd.c:466
msgid "Frame Size"
msgstr "Frame Gr<47><72>e"
#: femonosd.c:469
msgid "Bit Stream Mode"
msgstr "Bitstream Modus"
#: femonosd.c:472
msgid "Audio Coding Mode"
msgstr "Audiokodierung"
#: femonosd.c:475
msgid "Center Mix Level"
msgstr "Center Mix Pegel"
#: femonosd.c:478
msgid "Surround Mix Level"
msgstr "Surround Mix Pegel"
#: femonosd.c:481
msgid "Dolby Surround Mode"
msgstr "Dolby Surround Modus"
#: femonosd.c:484
msgid "Low Frequency Effects"
msgstr "Tieft<66>ner Effekte"
#: femonosd.c:485 femontools.c:249
msgid "Off"
msgstr "Aus"
#: femonosd.c:485 femontools.c:250
msgid "On"
msgstr "Ein"
#: femonosd.c:487
msgid "Dialogue Normalization"
msgstr "Dialog Normalisierung"
#: femontools.c:189
msgid "Free to Air"
msgstr "Frei empfangbar"
#: femontools.c:191
msgid "Fixed"
msgstr "Fest"
#: femontools.c:192
msgid "Analog"
msgstr "Analog"
#: femontools.c:193
msgid "SECA/Mediaguard"
msgstr "SECA/Mediaguard"
#: femontools.c:194
msgid "Viaccess"
msgstr "Viaccess"
#: femontools.c:195
msgid "Irdeto"
msgstr "Irdeto"
#: femontools.c:196
msgid "NDS/Videoguard"
msgstr "NDS/Videoguard"
#: femontools.c:197
msgid "Conax"
msgstr "Conax"
#: femontools.c:198
msgid "CryptoWorks"
msgstr "CryptoWorks"
#: femontools.c:199
msgid "PowerVu"
msgstr "PowerVu"
#: femontools.c:200 femontools.c:202
msgid "NagraVision"
msgstr "NagraVision"
#: femontools.c:201
msgid "BetaCrypt"
msgstr "BetaCrypt"
#: femontools.c:203
msgid "SkyCrypt"
msgstr "SkyCrypt"
#: femontools.c:211 femontools.c:259
msgid "None"
msgstr "Nichts"
#: femontools.c:220 femontools.c:230 femontools.c:241 femontools.c:251
#: femontools.c:263 femontools.c:275 femontools.c:289
msgid "Auto"
msgstr "Auto"
#: femontools.c:238 femontools.c:239 femontools.c:240 femontools.c:391
msgid "MHz"
msgstr "MHz"
#: femontools.c:297 femontools.c:354 femontools.c:365 femontools.c:376
#: femontools.c:398 femontools.c:407
msgid "reserved"
msgstr "belegt"
#: femontools.c:309
msgid "unknown"
msgstr "unbekannt"
#: femontools.c:310
msgid "PAL"
msgstr "PAL"
#: femontools.c:311
msgid "NTSC"
msgstr "NTSC"
#: femontools.c:319
msgid "Complete Main (CM)"
msgstr "Complete Main (CM)"
#: femontools.c:320
msgid "Music and Effects (ME)"
msgstr "Musik und Effekte (ME)"
#: femontools.c:321
msgid "Visually Impaired (VI)"
msgstr "Sehbehindert (VI)"
#: femontools.c:322
msgid "Hearing Impaired (HI)"
msgstr "H<>rbehindert (HI)"
#: femontools.c:323
msgid "Dialogue (D)"
msgstr "Dialog (D)"
#: femontools.c:324
msgid "Commentary (C)"
msgstr "Kommentar (C)"
#: femontools.c:325
msgid "Emergency (E)"
msgstr "Notfall (E)"
#: femontools.c:326
msgid "Karaoke"
msgstr "Karaoke"
#: femontools.c:326
msgid "Voice Over (VO)"
msgstr "<22>berlagerte Stimme (VO)"
#: femontools.c:335
msgid "Ch1"
msgstr "Kan1"
#: femontools.c:335
msgid "Ch2"
msgstr "Kan2"
#: femontools.c:336 femontools.c:338 femontools.c:340 femontools.c:342
msgid "C"
msgstr "C"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "L"
msgstr "L"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "R"
msgstr "R"
#: femontools.c:339 femontools.c:340
msgid "S"
msgstr "S"
#: femontools.c:341 femontools.c:342
msgid "SL"
msgstr "SL"
#: femontools.c:341 femontools.c:342
msgid "SR"
msgstr "SR"
#: femontools.c:351 femontools.c:352 femontools.c:353 femontools.c:362
#: femontools.c:363 femontools.c:364 femontools.c:384
msgid "dB"
msgstr "dB"
#: femontools.c:373
msgid "not indicated"
msgstr "nicht angegeben"
#: femontools.c:408
msgid "free"
msgstr "frei"
#: femontools.c:416 femontools.c:417
msgid "Mbit/s"
msgstr "Mbit/s"
#: femontools.c:423 femontools.c:424
msgid "kbit/s"
msgstr "kbit/s"

533
po/es_ES.po Normal file
View File

@@ -0,0 +1,533 @@
# VDR plugin language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Luis Palacios
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: Rolf Ahrenberg\n"
"POT-Creation-Date: 2007-08-12 23:22+0300\n"
"PO-Revision-Date: 2007-08-12 23:22+0300\n"
"Last-Translator: Luis Palacios\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
#: femon.c:22
msgid "DVB Signal Information Monitor (OSD)"
msgstr "Monitorizaci<63>n de la se<73>al DVB"
#: femon.c:23
msgid "Signal Information"
msgstr "Monitorizaci<63>n de la se<73>al DVB"
#: femon.c:101
msgid "Femon not available while replaying"
msgstr ""
#: femon.c:278
msgid "basic"
msgstr "B<>sico"
#: femon.c:279
msgid "transponder"
msgstr "Transpondedor"
#: femon.c:280
msgid "stream"
msgstr "Flujo"
#: femon.c:281 femonosd.c:276
msgid "AC-3"
msgstr "AC-3"
#: femon.c:283 femon.c:286
msgid "Classic"
msgstr "Cl<43>sico"
#: femon.c:284 femon.c:287
msgid "Elchi"
msgstr "Elchi"
#: femon.c:288
msgid "DeepBlue"
msgstr "DeepBlue"
#: femon.c:289
msgid "Moronimo"
msgstr "Moronimo"
#: femon.c:290
msgid "Enigma"
msgstr "Enigma"
#: femon.c:291
msgid "EgalsTry"
msgstr "EgalsTry"
#: femon.c:292
msgid "Duotone"
msgstr "Duotone"
#: femon.c:293
msgid "SilverGreen"
msgstr "SilverGreen"
#: femon.c:304
msgid "Hide main menu entry"
msgstr "Ocultar en el men<65> principal"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:374
msgid "no"
msgstr "no"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:375
msgid "yes"
msgstr "s<>"
#: femon.c:305
msgid "Default display mode"
msgstr "Modo de visualizaci<63>n estandar"
#: femon.c:306
msgid "Skin"
msgstr "Piel"
#: femon.c:307
msgid "Theme"
msgstr "Tema"
#: femon.c:308
msgid "Position"
msgstr "Posici<63>n"
#: femon.c:308
msgid "bottom"
msgstr "abajo"
#: femon.c:308
msgid "top"
msgstr "arriba"
#: femon.c:309
msgid "Height"
msgstr "Altura"
#: femon.c:310
msgid "Horizontal offset"
msgstr "Desplazamiento horizontal"
#: femon.c:311
msgid "Show CA system"
msgstr "Mostrar sistema CA"
#: femon.c:312
msgid "Red limit [%]"
msgstr "L<>mite de rojo [%s]"
#: femon.c:313
msgid "Green limit [%]"
msgstr "L<>mite verde [%]"
#: femon.c:314
msgid "OSD update interval [0.1s]"
msgstr "Intervalo de actualizaci<63>n (0,1)"
#: femon.c:315
msgid "Analyze stream"
msgstr "Analizar el flujo"
#: femon.c:317
msgid "Calculation interval [0.1s]"
msgstr "Intervalo de c<>lculo (0,1s)"
#: femon.c:318
msgid "Use SVDRP service"
msgstr ""
#: femon.c:320
msgid "SVDRP service port"
msgstr ""
#: femon.c:321
msgid "SVDRP service IP"
msgstr ""
#: femonosd.c:268
msgid "Video"
msgstr "Video"
#: femonosd.c:276
msgid "Audio"
msgstr "Audio"
#: femonosd.c:305
msgid "Transponder Information"
msgstr "Informaci<63>n del transpondedor"
#: femonosd.c:311
msgid "Vpid"
msgstr "Vpid"
#: femonosd.c:313
msgid "Ppid"
msgstr "Ppid"
#: femonosd.c:316
msgid "Apid"
msgstr "Apid"
#: femonosd.c:318
msgid "Dpid"
msgstr "Dpid"
#: femonosd.c:321
msgid "CA"
msgstr "Acceso condicional (CA)"
#: femonosd.c:323
msgid "Tpid"
msgstr "Tpid"
#: femonosd.c:326
msgid "Sid"
msgstr "Sid"
#: femonosd.c:328
msgid "Nid"
msgstr "Nid"
#: femonosd.c:331
msgid "Tid"
msgstr "Tid"
#: femonosd.c:333
msgid "Rid"
msgstr "Rid"
#: femonosd.c:338
msgid "Satellite Card"
msgstr "Tarjeta Sat<61>lite"
#: femonosd.c:340 femonosd.c:359 femonosd.c:378
msgid "Frequency"
msgstr "Frecuencia"
#: femonosd.c:342 femonosd.c:361
msgid "Source"
msgstr "Fuente"
#: femonosd.c:345 femonosd.c:364
msgid "Srate"
msgstr "T.s<>mbolos"
#: femonosd.c:347
msgid "Polarization"
msgstr "Polarizaci<63>n"
#: femonosd.c:350 femonosd.c:369 femonosd.c:388
msgid "Inversion"
msgstr "Inversion"
#: femonosd.c:352 femonosd.c:371
msgid "CoderateH"
msgstr "CoderateH"
#: femonosd.c:357
msgid "Cable Card"
msgstr "Tarjeta Cable"
#: femonosd.c:366 femonosd.c:385
msgid "Modulation"
msgstr "Modulaci<63>n"
#: femonosd.c:376
msgid "Terrestrial Card"
msgstr "Tarjeta TDT"
#: femonosd.c:380
msgid "Transmission"
msgstr "Transmisi<73>n"
#: femonosd.c:383
msgid "Bandwidth"
msgstr "Ancho de banda"
#: femonosd.c:390
msgid "Coderate"
msgstr "Coderate"
#: femonosd.c:393
msgid "Hierarchy"
msgstr "Jerarqu<71>a"
#: femonosd.c:395
msgid "Guard"
msgstr "Int.Guarda"
#: femonosd.c:410 femonosd.c:453
msgid "Stream Information"
msgstr "Informaci<63>n del flujo"
#: femonosd.c:416
msgid "Video Stream"
msgstr "Flujo de video"
#: femonosd.c:419 femonosd.c:437 femonosd.c:460
msgid "Bitrate"
msgstr "Tasa de bits"
#: femonosd.c:422
msgid "Aspect Ratio"
msgstr "Proporciones de la imagen"
#: femonosd.c:425
msgid "Frame Rate"
msgstr "Tasa de frames"
#: femonosd.c:426
msgid "Hz"
msgstr "Hz"
#: femonosd.c:428
msgid "Video Format"
msgstr "Formato de video"
#: femonosd.c:431
msgid "Resolution"
msgstr "Resoluci<63>n"
#: femonosd.c:434
msgid "Audio Stream"
msgstr "Flujo de audio"
#: femonosd.c:440
msgid "MPEG Layer"
msgstr "Nivel MPEG"
#: femonosd.c:443 femonosd.c:463
msgid "Sampling Frequency"
msgstr "Frecuencia de muestreo"
#: femonosd.c:453
msgid "AC-3 Stream"
msgstr "Flujo AC-3"
#: femonosd.c:464 femontools.c:400
msgid "kHz"
msgstr "kHz"
#: femonosd.c:466
msgid "Frame Size"
msgstr "Tama<6D>o de frame"
#: femonosd.c:469
msgid "Bit Stream Mode"
msgstr "Modo bitstream"
#: femonosd.c:472
msgid "Audio Coding Mode"
msgstr "Modo de codificaci<63>n de audio"
#: femonosd.c:475
msgid "Center Mix Level"
msgstr "Nivel sonoro central"
#: femonosd.c:478
msgid "Surround Mix Level"
msgstr "Nivel sonoro surround"
#: femonosd.c:481
msgid "Dolby Surround Mode"
msgstr "Nivel sonoro Dolby Surround"
#: femonosd.c:484
msgid "Low Frequency Effects"
msgstr "Efectos de baja frecuencia"
#: femonosd.c:485 femontools.c:249
msgid "Off"
msgstr "Off"
#: femonosd.c:485 femontools.c:250
msgid "On"
msgstr "On"
#: femonosd.c:487
msgid "Dialogue Normalization"
msgstr "Normalizaci<63>n del di<64>logo"
#: femontools.c:189
msgid "Free to Air"
msgstr "Free to air"
#: femontools.c:191
msgid "Fixed"
msgstr "Fijo"
#: femontools.c:192
msgid "Analog"
msgstr "Anal<61>gico"
#: femontools.c:193
msgid "SECA/Mediaguard"
msgstr "SECA/Mediguard"
#: femontools.c:194
msgid "Viaccess"
msgstr "Viaccess"
#: femontools.c:195
msgid "Irdeto"
msgstr "Irdeto"
#: femontools.c:196
msgid "NDS/Videoguard"
msgstr "NDS/Videoguard"
#: femontools.c:197
msgid "Conax"
msgstr "Conax"
#: femontools.c:198
msgid "CryptoWorks"
msgstr "CryptoWorks"
#: femontools.c:199
msgid "PowerVu"
msgstr "PowerVu"
#: femontools.c:200 femontools.c:202
msgid "NagraVision"
msgstr "NagraVision"
#: femontools.c:201
msgid "BetaCrypt"
msgstr "BetaCrypt"
#: femontools.c:203
msgid "SkyCrypt"
msgstr "SkyCrypt"
#: femontools.c:211 femontools.c:259
msgid "None"
msgstr "Ninguno"
#: femontools.c:220 femontools.c:230 femontools.c:241 femontools.c:251
#: femontools.c:263 femontools.c:275 femontools.c:289
msgid "Auto"
msgstr "Auto"
#: femontools.c:238 femontools.c:239 femontools.c:240 femontools.c:391
msgid "MHz"
msgstr "MHz"
#: femontools.c:297 femontools.c:354 femontools.c:365 femontools.c:376
#: femontools.c:398 femontools.c:407
msgid "reserved"
msgstr "reservado"
#: femontools.c:309
msgid "unknown"
msgstr "desconocido"
#: femontools.c:310
msgid "PAL"
msgstr "PAL"
#: femontools.c:311
msgid "NTSC"
msgstr "NTSC"
#: femontools.c:319
msgid "Complete Main (CM)"
msgstr "Principal (CM)"
#: femontools.c:320
msgid "Music and Effects (ME)"
msgstr "M<>sica y efectos (ME)"
#: femontools.c:321
msgid "Visually Impaired (VI)"
msgstr "Imagen deteriorada (VI)"
#: femontools.c:322
msgid "Hearing Impaired (HI)"
msgstr "Hearing deteriorado"
#: femontools.c:323
msgid "Dialogue (D)"
msgstr "Di<44>logo (D)"
#: femontools.c:324
msgid "Commentary (C)"
msgstr "Comentario (C)"
#: femontools.c:325
msgid "Emergency (E)"
msgstr "Emergencia (E)"
#: femontools.c:326
msgid "Karaoke"
msgstr "Karaoke"
#: femontools.c:326
msgid "Voice Over (VO)"
msgstr "Voz off (VO)"
#: femontools.c:335
msgid "Ch1"
msgstr "Can. 1"
#: femontools.c:335
msgid "Ch2"
msgstr "Can. 2"
#: femontools.c:336 femontools.c:338 femontools.c:340 femontools.c:342
msgid "C"
msgstr "C"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "L"
msgstr "I"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "R"
msgstr "D"
#: femontools.c:339 femontools.c:340
msgid "S"
msgstr "S"
#: femontools.c:341 femontools.c:342
msgid "SL"
msgstr "SI"
#: femontools.c:341 femontools.c:342
msgid "SR"
msgstr "SD"
#: femontools.c:351 femontools.c:352 femontools.c:353 femontools.c:362
#: femontools.c:363 femontools.c:364 femontools.c:384
msgid "dB"
msgstr "dB"
#: femontools.c:373
msgid "not indicated"
msgstr "no indicado"
#: femontools.c:408
msgid "free"
msgstr "libre"
#: femontools.c:416 femontools.c:417
msgid "Mbit/s"
msgstr "Mbit/s"
#: femontools.c:423 femontools.c:424
msgid "kbit/s"
msgstr "kbit/s"

533
po/et_EE.po Normal file
View File

@@ -0,0 +1,533 @@
# VDR plugin language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Arthur Konovalov
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: Rolf Ahrenberg\n"
"POT-Creation-Date: 2007-08-12 23:22+0300\n"
"PO-Revision-Date: 2007-08-12 23:22+0300\n"
"Last-Translator: Arthur Konovalov\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-13\n"
"Content-Transfer-Encoding: 8bit\n"
#: femon.c:22
msgid "DVB Signal Information Monitor (OSD)"
msgstr "DVB Signaalmonitor (OSD)"
#: femon.c:23
msgid "Signal Information"
msgstr "Signaaliinfo"
#: femon.c:101
msgid "Femon not available while replaying"
msgstr ""
#: femon.c:278
msgid "basic"
msgstr "standard"
#: femon.c:279
msgid "transponder"
msgstr "transponder"
#: femon.c:280
msgid "stream"
msgstr "voog"
#: femon.c:281 femonosd.c:276
msgid "AC-3"
msgstr "AC-3"
#: femon.c:283 femon.c:286
msgid "Classic"
msgstr "Klassikaline"
#: femon.c:284 femon.c:287
msgid "Elchi"
msgstr "Elchi"
#: femon.c:288
msgid "DeepBlue"
msgstr "DeepBlue"
#: femon.c:289
msgid "Moronimo"
msgstr "Moronimo"
#: femon.c:290
msgid "Enigma"
msgstr "Enigma"
#: femon.c:291
msgid "EgalsTry"
msgstr "EgalsTry"
#: femon.c:292
msgid "Duotone"
msgstr "Duotone"
#: femon.c:293
msgid "SilverGreen"
msgstr "SilverGreen"
#: femon.c:304
msgid "Hide main menu entry"
msgstr "Peida valik peamen<65><6E>s"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:374
msgid "no"
msgstr "ei"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:375
msgid "yes"
msgstr "jah"
#: femon.c:305
msgid "Default display mode"
msgstr "Vaikimisi displei moodus"
#: femon.c:306
msgid "Skin"
msgstr "Kest"
#: femon.c:307
msgid "Theme"
msgstr "Teema"
#: femon.c:308
msgid "Position"
msgstr "Positsioon"
#: femon.c:308
msgid "bottom"
msgstr "all"
#: femon.c:308
msgid "top"
msgstr "<22>leval"
#: femon.c:309
msgid "Height"
msgstr "K<>rgus"
#: femon.c:310
msgid "Horizontal offset"
msgstr "Horisontaalne nihe"
#: femon.c:311
msgid "Show CA system"
msgstr "N<>ita CA s<>steemi"
#: femon.c:312
msgid "Red limit [%]"
msgstr "Punase limiit [%]"
#: femon.c:313
msgid "Green limit [%]"
msgstr "Rohelise limiit [%]"
#: femon.c:314
msgid "OSD update interval [0.1s]"
msgstr "Uuendusintervall [0,1s]"
#: femon.c:315
msgid "Analyze stream"
msgstr "Voo anal<61><6C>s"
#: femon.c:317
msgid "Calculation interval [0.1s]"
msgstr "Kalkulatsiooni intervall [0,1s]"
#: femon.c:318
msgid "Use SVDRP service"
msgstr ""
#: femon.c:320
msgid "SVDRP service port"
msgstr ""
#: femon.c:321
msgid "SVDRP service IP"
msgstr ""
#: femonosd.c:268
msgid "Video"
msgstr "Video"
#: femonosd.c:276
msgid "Audio"
msgstr "Audio"
#: femonosd.c:305
msgid "Transponder Information"
msgstr "Transponderi info"
#: femonosd.c:311
msgid "Vpid"
msgstr "Vpid"
#: femonosd.c:313
msgid "Ppid"
msgstr "Ppid"
#: femonosd.c:316
msgid "Apid"
msgstr "Apid"
#: femonosd.c:318
msgid "Dpid"
msgstr "Dpid"
#: femonosd.c:321
msgid "CA"
msgstr "CA"
#: femonosd.c:323
msgid "Tpid"
msgstr "Tpid"
#: femonosd.c:326
msgid "Sid"
msgstr "Sid"
#: femonosd.c:328
msgid "Nid"
msgstr "Nid"
#: femonosd.c:331
msgid "Tid"
msgstr "Tid"
#: femonosd.c:333
msgid "Rid"
msgstr "Rid"
#: femonosd.c:338
msgid "Satellite Card"
msgstr "Satelliidikaart"
#: femonosd.c:340 femonosd.c:359 femonosd.c:378
msgid "Frequency"
msgstr "Sagedus"
#: femonosd.c:342 femonosd.c:361
msgid "Source"
msgstr "Allikas"
#: femonosd.c:345 femonosd.c:364
msgid "Srate"
msgstr "Srate"
#: femonosd.c:347
msgid "Polarization"
msgstr "Polarisatsioon"
#: femonosd.c:350 femonosd.c:369 femonosd.c:388
msgid "Inversion"
msgstr "Inversioon"
#: femonosd.c:352 femonosd.c:371
msgid "CoderateH"
msgstr "CoderateH"
#: femonosd.c:357
msgid "Cable Card"
msgstr "Kaablikaart"
#: femonosd.c:366 femonosd.c:385
msgid "Modulation"
msgstr "Modulatsioon"
#: femonosd.c:376
msgid "Terrestrial Card"
msgstr "Terrestiaalkaart"
#: femonosd.c:380
msgid "Transmission"
msgstr "Transmissioon"
#: femonosd.c:383
msgid "Bandwidth"
msgstr "Ribalaius"
#: femonosd.c:390
msgid "Coderate"
msgstr "Coderate"
#: femonosd.c:393
msgid "Hierarchy"
msgstr "Hierarhia"
#: femonosd.c:395
msgid "Guard"
msgstr "Guard"
#: femonosd.c:410 femonosd.c:453
msgid "Stream Information"
msgstr "Voo info"
#: femonosd.c:416
msgid "Video Stream"
msgstr "Videovoog"
#: femonosd.c:419 femonosd.c:437 femonosd.c:460
msgid "Bitrate"
msgstr "Bitikiirus"
#: femonosd.c:422
msgid "Aspect Ratio"
msgstr "K<>lgsuhe"
#: femonosd.c:425
msgid "Frame Rate"
msgstr "Kaadrisagedus"
#: femonosd.c:426
msgid "Hz"
msgstr "Hz"
#: femonosd.c:428
msgid "Video Format"
msgstr "Videoformaat"
#: femonosd.c:431
msgid "Resolution"
msgstr "Resolutsioon"
#: femonosd.c:434
msgid "Audio Stream"
msgstr "Audiovoog"
#: femonosd.c:440
msgid "MPEG Layer"
msgstr "MPEG tase"
#: femonosd.c:443 femonosd.c:463
msgid "Sampling Frequency"
msgstr "S<>mplimissagedus"
#: femonosd.c:453
msgid "AC-3 Stream"
msgstr "AC-3 voog"
#: femonosd.c:464 femontools.c:400
msgid "kHz"
msgstr "kHz"
#: femonosd.c:466
msgid "Frame Size"
msgstr "Kaadri suurus"
#: femonosd.c:469
msgid "Bit Stream Mode"
msgstr "Bitivoo t<><74>p"
#: femonosd.c:472
msgid "Audio Coding Mode"
msgstr "Audiokodeering"
#: femonosd.c:475
msgid "Center Mix Level"
msgstr "Keskmise kanali tase"
#: femonosd.c:478
msgid "Surround Mix Level"
msgstr "Surround kanali tase"
#: femonosd.c:481
msgid "Dolby Surround Mode"
msgstr "Dolby Surround'i t<><74>p"
#: femonosd.c:484
msgid "Low Frequency Effects"
msgstr "LFE kanal"
#: femonosd.c:485 femontools.c:249
msgid "Off"
msgstr "V<>ljas"
#: femonosd.c:485 femontools.c:250
msgid "On"
msgstr "Sees"
#: femonosd.c:487
msgid "Dialogue Normalization"
msgstr "Dialoogi normalisatsioon"
#: femontools.c:189
msgid "Free to Air"
msgstr "FTA"
#: femontools.c:191
msgid "Fixed"
msgstr "Fikseeritud"
#: femontools.c:192
msgid "Analog"
msgstr ""
#: femontools.c:193
msgid "SECA/Mediaguard"
msgstr "SECA/Mediaguard"
#: femontools.c:194
msgid "Viaccess"
msgstr "Viaccess"
#: femontools.c:195
msgid "Irdeto"
msgstr "Irdeto"
#: femontools.c:196
msgid "NDS/Videoguard"
msgstr "NDS/Videoguard"
#: femontools.c:197
msgid "Conax"
msgstr "Conax"
#: femontools.c:198
msgid "CryptoWorks"
msgstr "CryptoWorks"
#: femontools.c:199
msgid "PowerVu"
msgstr "PowerVu"
#: femontools.c:200 femontools.c:202
msgid "NagraVision"
msgstr "NagraVision"
#: femontools.c:201
msgid "BetaCrypt"
msgstr "BetaCrypt"
#: femontools.c:203
msgid "SkyCrypt"
msgstr "SkyCrypt"
#: femontools.c:211 femontools.c:259
msgid "None"
msgstr "Ei"
#: femontools.c:220 femontools.c:230 femontools.c:241 femontools.c:251
#: femontools.c:263 femontools.c:275 femontools.c:289
msgid "Auto"
msgstr "Auto"
#: femontools.c:238 femontools.c:239 femontools.c:240 femontools.c:391
msgid "MHz"
msgstr "MHz"
#: femontools.c:297 femontools.c:354 femontools.c:365 femontools.c:376
#: femontools.c:398 femontools.c:407
msgid "reserved"
msgstr "reserveeritud"
#: femontools.c:309
msgid "unknown"
msgstr "tundmatu"
#: femontools.c:310
msgid "PAL"
msgstr "PAL"
#: femontools.c:311
msgid "NTSC"
msgstr "NTSC"
#: femontools.c:319
msgid "Complete Main (CM)"
msgstr "T<>iskomplekt (CM)"
#: femontools.c:320
msgid "Music and Effects (ME)"
msgstr "Muusika ja efektid (ME)"
#: femontools.c:321
msgid "Visually Impaired (VI)"
msgstr "Vaegn<67>gemine (VE)"
#: femontools.c:322
msgid "Hearing Impaired (HI)"
msgstr "Vaegkuulmine (HI)"
#: femontools.c:323
msgid "Dialogue (D)"
msgstr "Dialoog (D)"
#: femontools.c:324
msgid "Commentary (C)"
msgstr "Kommentaar (C)"
#: femontools.c:325
msgid "Emergency (E)"
msgstr "H<>dateade (E)"
#: femontools.c:326
msgid "Karaoke"
msgstr "Karaoke"
#: femontools.c:326
msgid "Voice Over (VO)"
msgstr "Pealer<65><72>kimine (VO)"
#: femontools.c:335
msgid "Ch1"
msgstr "Kan. 1"
#: femontools.c:335
msgid "Ch2"
msgstr "Kan. 2"
#: femontools.c:336 femontools.c:338 femontools.c:340 femontools.c:342
msgid "C"
msgstr "C"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "L"
msgstr "L"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "R"
msgstr "R"
#: femontools.c:339 femontools.c:340
msgid "S"
msgstr "S"
#: femontools.c:341 femontools.c:342
msgid "SL"
msgstr "SL"
#: femontools.c:341 femontools.c:342
msgid "SR"
msgstr "SR"
#: femontools.c:351 femontools.c:352 femontools.c:353 femontools.c:362
#: femontools.c:363 femontools.c:364 femontools.c:384
msgid "dB"
msgstr "dB"
#: femontools.c:373
msgid "not indicated"
msgstr "m<>rkimata"
#: femontools.c:408
msgid "free"
msgstr "vaba"
#: femontools.c:416 femontools.c:417
msgid "Mbit/s"
msgstr "Mbit/s"
#: femontools.c:423 femontools.c:424
msgid "kbit/s"
msgstr "kbit/s"

533
po/fi_FI.po Normal file
View File

@@ -0,0 +1,533 @@
# VDR plugin language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Rolf Ahrenberg
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: Rolf Ahrenberg\n"
"POT-Creation-Date: 2007-08-12 23:22+0300\n"
"PO-Revision-Date: 2007-08-12 23:22+0300\n"
"Last-Translator: Rolf Ahrenberg\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
#: femon.c:22
msgid "DVB Signal Information Monitor (OSD)"
msgstr "Signaalimittari (OSD)"
#: femon.c:23
msgid "Signal Information"
msgstr "Signaalimittari"
#: femon.c:101
msgid "Femon not available while replaying"
msgstr "Signaalimittari ei ole k<>ytett<74>viss<73> toiston aikana"
#: femon.c:278
msgid "basic"
msgstr "perus"
#: femon.c:279
msgid "transponder"
msgstr "transponderi"
#: femon.c:280
msgid "stream"
msgstr "l<>hete"
#: femon.c:281 femonosd.c:276
msgid "AC-3"
msgstr "AC-3"
#: femon.c:283 femon.c:286
msgid "Classic"
msgstr "Klassinen"
#: femon.c:284 femon.c:287
msgid "Elchi"
msgstr "Elchi"
#: femon.c:288
msgid "DeepBlue"
msgstr "DeepBlue"
#: femon.c:289
msgid "Moronimo"
msgstr "Moronimo"
#: femon.c:290
msgid "Enigma"
msgstr "Enigma"
#: femon.c:291
msgid "EgalsTry"
msgstr "EgalsTry"
#: femon.c:292
msgid "Duotone"
msgstr "Duotone"
#: femon.c:293
msgid "SilverGreen"
msgstr "SilverGreen"
#: femon.c:304
msgid "Hide main menu entry"
msgstr "Piilota valinta p<><70>valikosta"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:374
msgid "no"
msgstr "ei"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:375
msgid "yes"
msgstr "kyll<6C>"
#: femon.c:305
msgid "Default display mode"
msgstr "Oletusn<73>ytt<74>tila"
#: femon.c:306
msgid "Skin"
msgstr "Ulkoasu"
#: femon.c:307
msgid "Theme"
msgstr "Teema"
#: femon.c:308
msgid "Position"
msgstr "Sijainti"
#: femon.c:308
msgid "bottom"
msgstr "alareuna"
#: femon.c:308
msgid "top"
msgstr "yl<79>reuna"
#: femon.c:309
msgid "Height"
msgstr "Korkeus"
#: femon.c:310
msgid "Horizontal offset"
msgstr "Vaakakeskitys"
#: femon.c:311
msgid "Show CA system"
msgstr "N<>yt<79> salausj<73>rjestelm<6C>"
#: femon.c:312
msgid "Red limit [%]"
msgstr "Punaisen taso [%]"
#: femon.c:313
msgid "Green limit [%]"
msgstr "Vihre<72>n taso [%]"
#: femon.c:314
msgid "OSD update interval [0.1s]"
msgstr "N<>yt<79>n p<>ivitysv<73>li [0.1s]"
#: femon.c:315
msgid "Analyze stream"
msgstr "L<>hetteen analysointi"
#: femon.c:317
msgid "Calculation interval [0.1s]"
msgstr "Laskennan p<>ivitysv<73>li [0.1s]"
#: femon.c:318
msgid "Use SVDRP service"
msgstr "K<>yt<79> SVDRP-palvelua"
#: femon.c:320
msgid "SVDRP service port"
msgstr "SVDRP-palvelun portti"
#: femon.c:321
msgid "SVDRP service IP"
msgstr "SVDRP-palvelun IP-osoite"
#: femonosd.c:268
msgid "Video"
msgstr "Kuva"
#: femonosd.c:276
msgid "Audio"
msgstr "<22><>ni"
#: femonosd.c:305
msgid "Transponder Information"
msgstr "Transponderin tiedot"
#: femonosd.c:311
msgid "Vpid"
msgstr "Kuva-PID"
#: femonosd.c:313
msgid "Ppid"
msgstr "PCR-PID"
#: femonosd.c:316
msgid "Apid"
msgstr "<22><>ni-PID"
#: femonosd.c:318
msgid "Dpid"
msgstr "Dolby-PID"
#: femonosd.c:321
msgid "CA"
msgstr "Salaus (CA)"
#: femonosd.c:323
msgid "Tpid"
msgstr "Teksti-TV-PID"
#: femonosd.c:326
msgid "Sid"
msgstr "Palvelu-ID"
#: femonosd.c:328
msgid "Nid"
msgstr "Verkko-ID"
#: femonosd.c:331
msgid "Tid"
msgstr "L<>hete-ID"
#: femonosd.c:333
msgid "Rid"
msgstr "Radio-ID"
#: femonosd.c:338
msgid "Satellite Card"
msgstr "Satelliittikortti"
#: femonosd.c:340 femonosd.c:359 femonosd.c:378
msgid "Frequency"
msgstr "Taajuus"
#: femonosd.c:342 femonosd.c:361
msgid "Source"
msgstr "L<>hde"
#: femonosd.c:345 femonosd.c:364
msgid "Srate"
msgstr "Symbolinopeus"
#: femonosd.c:347
msgid "Polarization"
msgstr "Polarisaatio"
#: femonosd.c:350 femonosd.c:369 femonosd.c:388
msgid "Inversion"
msgstr "Inversio"
#: femonosd.c:352 femonosd.c:371
msgid "CoderateH"
msgstr "Suojaustaso (HP)"
#: femonosd.c:357
msgid "Cable Card"
msgstr "Kaapelikortti"
#: femonosd.c:366 femonosd.c:385
msgid "Modulation"
msgstr "Modulaatio"
#: femonosd.c:376
msgid "Terrestrial Card"
msgstr "Terrestriaalikortti"
#: femonosd.c:380
msgid "Transmission"
msgstr "Transmissio"
#: femonosd.c:383
msgid "Bandwidth"
msgstr "Kaistanleveys"
#: femonosd.c:390
msgid "Coderate"
msgstr "Suojaustaso"
#: femonosd.c:393
msgid "Hierarchy"
msgstr "Hierarkia"
#: femonosd.c:395
msgid "Guard"
msgstr "Suojav<61>li"
#: femonosd.c:410 femonosd.c:453
msgid "Stream Information"
msgstr "L<>hetteen tiedot"
#: femonosd.c:416
msgid "Video Stream"
msgstr "Kuvaraita"
#: femonosd.c:419 femonosd.c:437 femonosd.c:460
msgid "Bitrate"
msgstr "Bittinopeus"
#: femonosd.c:422
msgid "Aspect Ratio"
msgstr "Kuvasuhde"
#: femonosd.c:425
msgid "Frame Rate"
msgstr "Ruudunp<6E>ivitystaajuus"
#: femonosd.c:426
msgid "Hz"
msgstr "Hz"
#: femonosd.c:428
msgid "Video Format"
msgstr "Kuvaformaatti"
#: femonosd.c:431
msgid "Resolution"
msgstr "Resoluutio"
#: femonosd.c:434
msgid "Audio Stream"
msgstr "<22><>niraita"
#: femonosd.c:440
msgid "MPEG Layer"
msgstr "MPEG-taso"
#: femonosd.c:443 femonosd.c:463
msgid "Sampling Frequency"
msgstr "N<>ytteenottotaajuus"
#: femonosd.c:453
msgid "AC-3 Stream"
msgstr "AC-3-<2D><>niraita"
#: femonosd.c:464 femontools.c:400
msgid "kHz"
msgstr "kHz"
#: femonosd.c:466
msgid "Frame Size"
msgstr "Kehyksen koko"
#: femonosd.c:469
msgid "Bit Stream Mode"
msgstr "L<>hetteen tyyppi"
#: femonosd.c:472
msgid "Audio Coding Mode"
msgstr "<22><>nikoodaus"
#: femonosd.c:475
msgid "Center Mix Level"
msgstr "Keskikanavan taso"
#: femonosd.c:478
msgid "Surround Mix Level"
msgstr "Tehostekanavien taso"
#: femonosd.c:481
msgid "Dolby Surround Mode"
msgstr "Dolby Surround -tehoste"
#: femonosd.c:484
msgid "Low Frequency Effects"
msgstr "LFE-kanava"
#: femonosd.c:485 femontools.c:249
msgid "Off"
msgstr "poissa"
#: femonosd.c:485 femontools.c:250
msgid "On"
msgstr "p<><70>ll<6C>"
#: femonosd.c:487
msgid "Dialogue Normalization"
msgstr "Dialogin normalisointi"
#: femontools.c:189
msgid "Free to Air"
msgstr "salaamaton"
#: femontools.c:191
msgid "Fixed"
msgstr "kiinte<74>"
#: femontools.c:192
msgid "Analog"
msgstr "analoginen"
#: femontools.c:193
msgid "SECA/Mediaguard"
msgstr "SECA/Mediaguard"
#: femontools.c:194
msgid "Viaccess"
msgstr "Viaccess"
#: femontools.c:195
msgid "Irdeto"
msgstr "Irdeto"
#: femontools.c:196
msgid "NDS/Videoguard"
msgstr "NDS/Videoguard"
#: femontools.c:197
msgid "Conax"
msgstr "Conax"
#: femontools.c:198
msgid "CryptoWorks"
msgstr "CryptoWorks"
#: femontools.c:199
msgid "PowerVu"
msgstr "PowerVu"
#: femontools.c:200 femontools.c:202
msgid "NagraVision"
msgstr "NagraVision"
#: femontools.c:201
msgid "BetaCrypt"
msgstr "BetaCrypt"
#: femontools.c:203
msgid "SkyCrypt"
msgstr "SkyCrypt"
#: femontools.c:211 femontools.c:259
msgid "None"
msgstr "ei"
#: femontools.c:220 femontools.c:230 femontools.c:241 femontools.c:251
#: femontools.c:263 femontools.c:275 femontools.c:289
msgid "Auto"
msgstr "auto"
#: femontools.c:238 femontools.c:239 femontools.c:240 femontools.c:391
msgid "MHz"
msgstr "MHz"
#: femontools.c:297 femontools.c:354 femontools.c:365 femontools.c:376
#: femontools.c:398 femontools.c:407
msgid "reserved"
msgstr "varattu"
#: femontools.c:309
msgid "unknown"
msgstr "tuntematon"
#: femontools.c:310
msgid "PAL"
msgstr "PAL"
#: femontools.c:311
msgid "NTSC"
msgstr "NTSC"
#: femontools.c:319
msgid "Complete Main (CM)"
msgstr "P<><50>asiallinen (CM)"
#: femontools.c:320
msgid "Music and Effects (ME)"
msgstr "Musiikki ja tehosteet (ME)"
#: femontools.c:321
msgid "Visually Impaired (VI)"
msgstr "N<>k<EFBFBD>rajoitteinen (VI)"
#: femontools.c:322
msgid "Hearing Impaired (HI)"
msgstr "Kuulorajoitteinen (HI)"
#: femontools.c:323
msgid "Dialogue (D)"
msgstr "Vuoropuhelu (D)"
#: femontools.c:324
msgid "Commentary (C)"
msgstr "Kommentointi (C)"
#: femontools.c:325
msgid "Emergency (E)"
msgstr "H<>t<EFBFBD>tiedote (E)"
#: femontools.c:326
msgid "Karaoke"
msgstr "Karaoke"
#: femontools.c:326
msgid "Voice Over (VO)"
msgstr "P<><50>lle puhuttu (VO)"
#: femontools.c:335
msgid "Ch1"
msgstr "kan. 1"
#: femontools.c:335
msgid "Ch2"
msgstr "kan. 2"
#: femontools.c:336 femontools.c:338 femontools.c:340 femontools.c:342
msgid "C"
msgstr "K"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "L"
msgstr "V"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "R"
msgstr "O"
#: femontools.c:339 femontools.c:340
msgid "S"
msgstr "T"
#: femontools.c:341 femontools.c:342
msgid "SL"
msgstr "TV"
#: femontools.c:341 femontools.c:342
msgid "SR"
msgstr "TO"
#: femontools.c:351 femontools.c:352 femontools.c:353 femontools.c:362
#: femontools.c:363 femontools.c:364 femontools.c:384
msgid "dB"
msgstr "dB"
#: femontools.c:373
msgid "not indicated"
msgstr "ei ilmaistu"
#: femontools.c:408
msgid "free"
msgstr "vapaa"
#: femontools.c:416 femontools.c:417
msgid "Mbit/s"
msgstr "Mbit/s"
#: femontools.c:423 femontools.c:424
msgid "kbit/s"
msgstr "kbit/s"

533
po/fr_FR.po Normal file
View File

@@ -0,0 +1,533 @@
# VDR plugin language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Nicolas Huillard
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: Rolf Ahrenberg\n"
"POT-Creation-Date: 2007-08-12 23:22+0300\n"
"PO-Revision-Date: 2007-08-12 23:22+0300\n"
"Last-Translator: Nicolas Huillard\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
#: femon.c:22
msgid "DVB Signal Information Monitor (OSD)"
msgstr "Affiche les informations du signal DVB"
#: femon.c:23
msgid "Signal Information"
msgstr "Signal DVB"
#: femon.c:101
msgid "Femon not available while replaying"
msgstr ""
#: femon.c:278
msgid "basic"
msgstr "basique"
#: femon.c:279
msgid "transponder"
msgstr "transpondeur"
#: femon.c:280
msgid "stream"
msgstr "flux"
#: femon.c:281 femonosd.c:276
msgid "AC-3"
msgstr "AC-3"
#: femon.c:283 femon.c:286
msgid "Classic"
msgstr "Classique"
#: femon.c:284 femon.c:287
msgid "Elchi"
msgstr "Elchi"
#: femon.c:288
msgid "DeepBlue"
msgstr "DeepBlue"
#: femon.c:289
msgid "Moronimo"
msgstr "Moronimo"
#: femon.c:290
msgid "Enigma"
msgstr "Enigma"
#: femon.c:291
msgid "EgalsTry"
msgstr "EgalsTry"
#: femon.c:292
msgid "Duotone"
msgstr "Duotone"
#: femon.c:293
msgid "SilverGreen"
msgstr "SilverGreen"
#: femon.c:304
msgid "Hide main menu entry"
msgstr "Masquer dans le menu principal"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:374
msgid "no"
msgstr "non"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:375
msgid "yes"
msgstr "oui"
#: femon.c:305
msgid "Default display mode"
msgstr "Affichage par d<>faut"
#: femon.c:306
msgid "Skin"
msgstr "Skin"
#: femon.c:307
msgid "Theme"
msgstr "Th<54>me"
#: femon.c:308
msgid "Position"
msgstr "Position"
#: femon.c:308
msgid "bottom"
msgstr "bas"
#: femon.c:308
msgid "top"
msgstr "haut"
#: femon.c:309
msgid "Height"
msgstr "Hauteur"
#: femon.c:310
msgid "Horizontal offset"
msgstr "D<>placement horizontal"
#: femon.c:311
msgid "Show CA system"
msgstr "Syst<73>me CA"
#: femon.c:312
msgid "Red limit [%]"
msgstr "Limite du rouge (%)"
#: femon.c:313
msgid "Green limit [%]"
msgstr "Limite du vert (%)"
#: femon.c:314
msgid "OSD update interval [0.1s]"
msgstr "Intervalle de mise <20> jour (0,1s)"
#: femon.c:315
msgid "Analyze stream"
msgstr "Analyser le flux"
#: femon.c:317
msgid "Calculation interval [0.1s]"
msgstr "Intervalle de calcul (0,1s)"
#: femon.c:318
msgid "Use SVDRP service"
msgstr ""
#: femon.c:320
msgid "SVDRP service port"
msgstr ""
#: femon.c:321
msgid "SVDRP service IP"
msgstr ""
#: femonosd.c:268
msgid "Video"
msgstr "Vid<69>o"
#: femonosd.c:276
msgid "Audio"
msgstr "Audio"
#: femonosd.c:305
msgid "Transponder Information"
msgstr "Information transpondeur"
#: femonosd.c:311
msgid "Vpid"
msgstr "PID Vid<69>o"
#: femonosd.c:313
msgid "Ppid"
msgstr "Ppid"
#: femonosd.c:316
msgid "Apid"
msgstr "Apid"
#: femonosd.c:318
msgid "Dpid"
msgstr "Dpid"
#: femonosd.c:321
msgid "CA"
msgstr "Cryptage"
#: femonosd.c:323
msgid "Tpid"
msgstr "PID T<>l<EFBFBD>texte"
#: femonosd.c:326
msgid "Sid"
msgstr "Sid"
#: femonosd.c:328
msgid "Nid"
msgstr "Nid"
#: femonosd.c:331
msgid "Tid"
msgstr "Tid"
#: femonosd.c:333
msgid "Rid"
msgstr "Rid"
#: femonosd.c:338
msgid "Satellite Card"
msgstr "Carte Satellite"
#: femonosd.c:340 femonosd.c:359 femonosd.c:378
msgid "Frequency"
msgstr "Fr<46>quence"
#: femonosd.c:342 femonosd.c:361
msgid "Source"
msgstr "Source"
#: femonosd.c:345 femonosd.c:364
msgid "Srate"
msgstr "Fr<46>q. Symbole"
#: femonosd.c:347
msgid "Polarization"
msgstr "Polarisation"
#: femonosd.c:350 femonosd.c:369 femonosd.c:388
msgid "Inversion"
msgstr "Inversion"
#: femonosd.c:352 femonosd.c:371
msgid "CoderateH"
msgstr "CoderateH"
#: femonosd.c:357
msgid "Cable Card"
msgstr "Carte C<>ble"
#: femonosd.c:366 femonosd.c:385
msgid "Modulation"
msgstr "Modulation"
#: femonosd.c:376
msgid "Terrestrial Card"
msgstr "Carte TNT"
#: femonosd.c:380
msgid "Transmission"
msgstr "Transmission"
#: femonosd.c:383
msgid "Bandwidth"
msgstr "Bande passante"
#: femonosd.c:390
msgid "Coderate"
msgstr "Coderate"
#: femonosd.c:393
msgid "Hierarchy"
msgstr "Hi<48>rarchie"
#: femonosd.c:395
msgid "Guard"
msgstr "Guard"
#: femonosd.c:410 femonosd.c:453
msgid "Stream Information"
msgstr "Information flux"
#: femonosd.c:416
msgid "Video Stream"
msgstr "Flux vid<69>o"
#: femonosd.c:419 femonosd.c:437 femonosd.c:460
msgid "Bitrate"
msgstr "Bitrate"
#: femonosd.c:422
msgid "Aspect Ratio"
msgstr "Proportions d'image"
#: femonosd.c:425
msgid "Frame Rate"
msgstr "Rafra<72>chissement"
#: femonosd.c:426
msgid "Hz"
msgstr "Hz"
#: femonosd.c:428
msgid "Video Format"
msgstr "Standard vid<69>o"
#: femonosd.c:431
msgid "Resolution"
msgstr "R<>solution"
#: femonosd.c:434
msgid "Audio Stream"
msgstr "Flux audio"
#: femonosd.c:440
msgid "MPEG Layer"
msgstr "MPEG Layer"
#: femonosd.c:443 femonosd.c:463
msgid "Sampling Frequency"
msgstr "Fr<46>quence d'<27>chantillonage"
#: femonosd.c:453
msgid "AC-3 Stream"
msgstr "Flux AC-3"
#: femonosd.c:464 femontools.c:400
msgid "kHz"
msgstr "kHz"
#: femonosd.c:466
msgid "Frame Size"
msgstr "Taille de paquet"
#: femonosd.c:469
msgid "Bit Stream Mode"
msgstr "Mode bitstream"
#: femonosd.c:472
msgid "Audio Coding Mode"
msgstr "Mode de codage audio"
#: femonosd.c:475
msgid "Center Mix Level"
msgstr "Niveau sonore milieu"
#: femonosd.c:478
msgid "Surround Mix Level"
msgstr "Niveau sonore surround"
#: femonosd.c:481
msgid "Dolby Surround Mode"
msgstr "Mode Dolby Surround"
#: femonosd.c:484
msgid "Low Frequency Effects"
msgstr "Effets de basses"
#: femonosd.c:485 femontools.c:249
msgid "Off"
msgstr "Non"
#: femonosd.c:485 femontools.c:250
msgid "On"
msgstr "Oui"
#: femonosd.c:487
msgid "Dialogue Normalization"
msgstr "Normalisation des dialogues"
#: femontools.c:189
msgid "Free to Air"
msgstr "Free To Air"
#: femontools.c:191
msgid "Fixed"
msgstr "Fixe"
#: femontools.c:192
msgid "Analog"
msgstr "Analogique"
#: femontools.c:193
msgid "SECA/Mediaguard"
msgstr "SECA/Mediaguard"
#: femontools.c:194
msgid "Viaccess"
msgstr "Viaccess"
#: femontools.c:195
msgid "Irdeto"
msgstr "Irdeto"
#: femontools.c:196
msgid "NDS/Videoguard"
msgstr "NDS/Videoguard"
#: femontools.c:197
msgid "Conax"
msgstr "Conax"
#: femontools.c:198
msgid "CryptoWorks"
msgstr "CryptoWorks"
#: femontools.c:199
msgid "PowerVu"
msgstr "PowerVu"
#: femontools.c:200 femontools.c:202
msgid "NagraVision"
msgstr "NagraVision"
#: femontools.c:201
msgid "BetaCrypt"
msgstr "BetaCrypt"
#: femontools.c:203
msgid "SkyCrypt"
msgstr "SkyCrypt"
#: femontools.c:211 femontools.c:259
msgid "None"
msgstr "Aucun"
#: femontools.c:220 femontools.c:230 femontools.c:241 femontools.c:251
#: femontools.c:263 femontools.c:275 femontools.c:289
msgid "Auto"
msgstr "Auto"
#: femontools.c:238 femontools.c:239 femontools.c:240 femontools.c:391
msgid "MHz"
msgstr "MHz"
#: femontools.c:297 femontools.c:354 femontools.c:365 femontools.c:376
#: femontools.c:398 femontools.c:407
msgid "reserved"
msgstr "r<>serv<72>"
#: femontools.c:309
msgid "unknown"
msgstr "inconnu"
#: femontools.c:310
msgid "PAL"
msgstr "PAL"
#: femontools.c:311
msgid "NTSC"
msgstr "NTSC"
#: femontools.c:319
msgid "Complete Main (CM)"
msgstr "Principal (CM)"
#: femontools.c:320
msgid "Music and Effects (ME)"
msgstr "Musique et effets (ME)"
#: femontools.c:321
msgid "Visually Impaired (VI)"
msgstr "Malvoyants (VI)"
#: femontools.c:322
msgid "Hearing Impaired (HI)"
msgstr "Malentendants (HI)"
#: femontools.c:323
msgid "Dialogue (D)"
msgstr "Dialogue (D)"
#: femontools.c:324
msgid "Commentary (C)"
msgstr "Commentaires (C)"
#: femontools.c:325
msgid "Emergency (E)"
msgstr "Urgence (E)"
#: femontools.c:326
msgid "Karaoke"
msgstr "Karaoke"
#: femontools.c:326
msgid "Voice Over (VO)"
msgstr "Voix off (VO)"
#: femontools.c:335
msgid "Ch1"
msgstr "Can. 1"
#: femontools.c:335
msgid "Ch2"
msgstr "Can. 2"
#: femontools.c:336 femontools.c:338 femontools.c:340 femontools.c:342
msgid "C"
msgstr "Centre"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "L"
msgstr "Gauche"
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "R"
msgstr "Droite"
#: femontools.c:339 femontools.c:340
msgid "S"
msgstr "Surround"
#: femontools.c:341 femontools.c:342
msgid "SL"
msgstr "Surround gauche"
#: femontools.c:341 femontools.c:342
msgid "SR"
msgstr "Surround droit"
#: femontools.c:351 femontools.c:352 femontools.c:353 femontools.c:362
#: femontools.c:363 femontools.c:364 femontools.c:384
msgid "dB"
msgstr "dB"
#: femontools.c:373
msgid "not indicated"
msgstr "non indiqu<71>"
#: femontools.c:408
msgid "free"
msgstr "libre"
#: femontools.c:416 femontools.c:417
msgid "Mbit/s"
msgstr "Mbit/s"
#: femontools.c:423 femontools.c:424
msgid "kbit/s"
msgstr "kbit/s"

533
po/it_IT.po Normal file
View File

@@ -0,0 +1,533 @@
# VDR plugin language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Sean Carlos
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: Rolf Ahrenberg\n"
"POT-Creation-Date: 2007-08-12 23:22+0300\n"
"PO-Revision-Date: 2007-08-12 23:22+0300\n"
"Last-Translator: Sean Carlos\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
#: femon.c:22
msgid "DVB Signal Information Monitor (OSD)"
msgstr "Visualizza le informazioni sul segnale DVB"
#: femon.c:23
msgid "Signal Information"
msgstr "Informazioni sul segnale"
#: femon.c:101
msgid "Femon not available while replaying"
msgstr ""
#: femon.c:278
msgid "basic"
msgstr ""
#: femon.c:279
msgid "transponder"
msgstr ""
#: femon.c:280
msgid "stream"
msgstr ""
#: femon.c:281 femonosd.c:276
msgid "AC-3"
msgstr "AC-3"
#: femon.c:283 femon.c:286
msgid "Classic"
msgstr ""
#: femon.c:284 femon.c:287
msgid "Elchi"
msgstr "Elchi"
#: femon.c:288
msgid "DeepBlue"
msgstr "DeepBlue"
#: femon.c:289
msgid "Moronimo"
msgstr "Moronimo"
#: femon.c:290
msgid "Enigma"
msgstr "Enigma"
#: femon.c:291
msgid "EgalsTry"
msgstr "EgalsTry"
#: femon.c:292
msgid "Duotone"
msgstr "Duotone"
#: femon.c:293
msgid "SilverGreen"
msgstr "SilverGreen"
#: femon.c:304
msgid "Hide main menu entry"
msgstr "Nascondi voce men<65>"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:374
msgid "no"
msgstr "no"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:375
msgid "yes"
msgstr "si"
#: femon.c:305
msgid "Default display mode"
msgstr "Modo di visualizzazione standard"
#: femon.c:306
msgid "Skin"
msgstr "Stile interfaccia"
#: femon.c:307
msgid "Theme"
msgstr "Tema colori"
#: femon.c:308
msgid "Position"
msgstr "Posizione"
#: femon.c:308
msgid "bottom"
msgstr "in basso"
#: femon.c:308
msgid "top"
msgstr "in alto"
#: femon.c:309
msgid "Height"
msgstr "Altezza"
#: femon.c:310
msgid "Horizontal offset"
msgstr ""
#: femon.c:311
msgid "Show CA system"
msgstr ""
#: femon.c:312
msgid "Red limit [%]"
msgstr "Limite rosso [%]"
#: femon.c:313
msgid "Green limit [%]"
msgstr "Limite de verde [%]"
#: femon.c:314
msgid "OSD update interval [0.1s]"
msgstr "Intervallo di aggiornamento [0.1s]"
#: femon.c:315
msgid "Analyze stream"
msgstr ""
#: femon.c:317
msgid "Calculation interval [0.1s]"
msgstr "Intervallo di calcolo [0.1s]"
#: femon.c:318
msgid "Use SVDRP service"
msgstr ""
#: femon.c:320
msgid "SVDRP service port"
msgstr ""
#: femon.c:321
msgid "SVDRP service IP"
msgstr ""
#: femonosd.c:268
msgid "Video"
msgstr "Video"
#: femonosd.c:276
msgid "Audio"
msgstr "Audio"
#: femonosd.c:305
msgid "Transponder Information"
msgstr "Informazioni transponder"
#: femonosd.c:311
msgid "Vpid"
msgstr "PID Video"
#: femonosd.c:313
msgid "Ppid"
msgstr "PID Pcr"
#: femonosd.c:316
msgid "Apid"
msgstr "Apid"
#: femonosd.c:318
msgid "Dpid"
msgstr "Dpid"
#: femonosd.c:321
msgid "CA"
msgstr "CA"
#: femonosd.c:323
msgid "Tpid"
msgstr "PID Teletext"
#: femonosd.c:326
msgid "Sid"
msgstr "Sid"
#: femonosd.c:328
msgid "Nid"
msgstr "Nid"
#: femonosd.c:331
msgid "Tid"
msgstr "Tid"
#: femonosd.c:333
msgid "Rid"
msgstr "Rid"
#: femonosd.c:338
msgid "Satellite Card"
msgstr "Scheda satellitare"
#: femonosd.c:340 femonosd.c:359 femonosd.c:378
msgid "Frequency"
msgstr "Frequenza"
#: femonosd.c:342 femonosd.c:361
msgid "Source"
msgstr "Sorgente"
#: femonosd.c:345 femonosd.c:364
msgid "Srate"
msgstr "SymbolRate"
#: femonosd.c:347
msgid "Polarization"
msgstr "Polarizzazione"
#: femonosd.c:350 femonosd.c:369 femonosd.c:388
msgid "Inversion"
msgstr "Inversion"
#: femonosd.c:352 femonosd.c:371
msgid "CoderateH"
msgstr "CoderateH"
#: femonosd.c:357
msgid "Cable Card"
msgstr "Scheda via cavo"
#: femonosd.c:366 femonosd.c:385
msgid "Modulation"
msgstr "Modulation"
#: femonosd.c:376
msgid "Terrestrial Card"
msgstr "Scheda terrestre"
#: femonosd.c:380
msgid "Transmission"
msgstr "Transmission"
#: femonosd.c:383
msgid "Bandwidth"
msgstr "Banda passante"
#: femonosd.c:390
msgid "Coderate"
msgstr "Coderate"
#: femonosd.c:393
msgid "Hierarchy"
msgstr "Hierarchy"
#: femonosd.c:395
msgid "Guard"
msgstr "Guard"
#: femonosd.c:410 femonosd.c:453
msgid "Stream Information"
msgstr ""
#: femonosd.c:416
msgid "Video Stream"
msgstr ""
#: femonosd.c:419 femonosd.c:437 femonosd.c:460
msgid "Bitrate"
msgstr ""
#: femonosd.c:422
msgid "Aspect Ratio"
msgstr ""
#: femonosd.c:425
msgid "Frame Rate"
msgstr ""
#: femonosd.c:426
msgid "Hz"
msgstr "Hz"
#: femonosd.c:428
msgid "Video Format"
msgstr ""
#: femonosd.c:431
msgid "Resolution"
msgstr ""
#: femonosd.c:434
msgid "Audio Stream"
msgstr ""
#: femonosd.c:440
msgid "MPEG Layer"
msgstr ""
#: femonosd.c:443 femonosd.c:463
msgid "Sampling Frequency"
msgstr ""
#: femonosd.c:453
msgid "AC-3 Stream"
msgstr ""
#: femonosd.c:464 femontools.c:400
msgid "kHz"
msgstr "kHz"
#: femonosd.c:466
msgid "Frame Size"
msgstr ""
#: femonosd.c:469
msgid "Bit Stream Mode"
msgstr ""
#: femonosd.c:472
msgid "Audio Coding Mode"
msgstr ""
#: femonosd.c:475
msgid "Center Mix Level"
msgstr ""
#: femonosd.c:478
msgid "Surround Mix Level"
msgstr ""
#: femonosd.c:481
msgid "Dolby Surround Mode"
msgstr ""
#: femonosd.c:484
msgid "Low Frequency Effects"
msgstr ""
#: femonosd.c:485 femontools.c:249
msgid "Off"
msgstr "Off"
#: femonosd.c:485 femontools.c:250
msgid "On"
msgstr "On"
#: femonosd.c:487
msgid "Dialogue Normalization"
msgstr ""
#: femontools.c:189
msgid "Free to Air"
msgstr ""
#: femontools.c:191
msgid "Fixed"
msgstr ""
#: femontools.c:192
msgid "Analog"
msgstr ""
#: femontools.c:193
msgid "SECA/Mediaguard"
msgstr ""
#: femontools.c:194
msgid "Viaccess"
msgstr ""
#: femontools.c:195
msgid "Irdeto"
msgstr ""
#: femontools.c:196
msgid "NDS/Videoguard"
msgstr ""
#: femontools.c:197
msgid "Conax"
msgstr ""
#: femontools.c:198
msgid "CryptoWorks"
msgstr ""
#: femontools.c:199
msgid "PowerVu"
msgstr ""
#: femontools.c:200 femontools.c:202
msgid "NagraVision"
msgstr ""
#: femontools.c:201
msgid "BetaCrypt"
msgstr ""
#: femontools.c:203
msgid "SkyCrypt"
msgstr ""
#: femontools.c:211 femontools.c:259
msgid "None"
msgstr "None"
#: femontools.c:220 femontools.c:230 femontools.c:241 femontools.c:251
#: femontools.c:263 femontools.c:275 femontools.c:289
msgid "Auto"
msgstr "Auto"
#: femontools.c:238 femontools.c:239 femontools.c:240 femontools.c:391
msgid "MHz"
msgstr "MHz"
#: femontools.c:297 femontools.c:354 femontools.c:365 femontools.c:376
#: femontools.c:398 femontools.c:407
msgid "reserved"
msgstr ""
#: femontools.c:309
msgid "unknown"
msgstr ""
#: femontools.c:310
msgid "PAL"
msgstr "PAL"
#: femontools.c:311
msgid "NTSC"
msgstr "NTSC"
#: femontools.c:319
msgid "Complete Main (CM)"
msgstr ""
#: femontools.c:320
msgid "Music and Effects (ME)"
msgstr ""
#: femontools.c:321
msgid "Visually Impaired (VI)"
msgstr ""
#: femontools.c:322
msgid "Hearing Impaired (HI)"
msgstr ""
#: femontools.c:323
msgid "Dialogue (D)"
msgstr ""
#: femontools.c:324
msgid "Commentary (C)"
msgstr ""
#: femontools.c:325
msgid "Emergency (E)"
msgstr ""
#: femontools.c:326
msgid "Karaoke"
msgstr ""
#: femontools.c:326
msgid "Voice Over (VO)"
msgstr ""
#: femontools.c:335
msgid "Ch1"
msgstr ""
#: femontools.c:335
msgid "Ch2"
msgstr ""
#: femontools.c:336 femontools.c:338 femontools.c:340 femontools.c:342
msgid "C"
msgstr ""
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "L"
msgstr ""
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "R"
msgstr ""
#: femontools.c:339 femontools.c:340
msgid "S"
msgstr ""
#: femontools.c:341 femontools.c:342
msgid "SL"
msgstr ""
#: femontools.c:341 femontools.c:342
msgid "SR"
msgstr ""
#: femontools.c:351 femontools.c:352 femontools.c:353 femontools.c:362
#: femontools.c:363 femontools.c:364 femontools.c:384
msgid "dB"
msgstr "dB"
#: femontools.c:373
msgid "not indicated"
msgstr ""
#: femontools.c:408
msgid "free"
msgstr ""
#: femontools.c:416 femontools.c:417
msgid "Mbit/s"
msgstr "Mbit/s"
#: femontools.c:423 femontools.c:424
msgid "kbit/s"
msgstr "kbit/s"

533
po/ru_RU.po Normal file
View File

@@ -0,0 +1,533 @@
# VDR plugin language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Vyacheslav Dikonov
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: Rolf Ahrenberg\n"
"POT-Creation-Date: 2007-08-12 23:22+0300\n"
"PO-Revision-Date: 2007-08-12 23:22+0300\n"
"Last-Translator: Vyacheslav Dikonov\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n"
#: femon.c:22
msgid "DVB Signal Information Monitor (OSD)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femon.c:23
msgid "Signal Information"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femon.c:101
msgid "Femon not available while replaying"
msgstr ""
#: femon.c:278
msgid "basic"
msgstr ""
#: femon.c:279
msgid "transponder"
msgstr ""
#: femon.c:280
msgid "stream"
msgstr ""
#: femon.c:281 femonosd.c:276
msgid "AC-3"
msgstr "AC-3"
#: femon.c:283 femon.c:286
msgid "Classic"
msgstr ""
#: femon.c:284 femon.c:287
msgid "Elchi"
msgstr "Elchi"
#: femon.c:288
msgid "DeepBlue"
msgstr "DeepBlue"
#: femon.c:289
msgid "Moronimo"
msgstr "Moronimo"
#: femon.c:290
msgid "Enigma"
msgstr "Enigma"
#: femon.c:291
msgid "EgalsTry"
msgstr "EgalsTry"
#: femon.c:292
msgid "Duotone"
msgstr "Duotone"
#: femon.c:293
msgid "SilverGreen"
msgstr "SilverGreen"
#: femon.c:304
msgid "Hide main menu entry"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:374
msgid "no"
msgstr "<22><><EFBFBD>"
#: femon.c:304 femon.c:311 femon.c:315 femontools.c:375
msgid "yes"
msgstr "<22><>"
#: femon.c:305
msgid "Default display mode"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femon.c:306
msgid "Skin"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
#: femon.c:307
msgid "Theme"
msgstr "<22><><EFBFBD><EFBFBD>"
#: femon.c:308
msgid "Position"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
#: femon.c:308
msgid "bottom"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
#: femon.c:308
msgid "top"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femon.c:309
msgid "Height"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femon.c:310
msgid "Horizontal offset"
msgstr ""
#: femon.c:311
msgid "Show CA system"
msgstr ""
#: femon.c:312
msgid "Red limit [%]"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (%)"
#: femon.c:313
msgid "Green limit [%]"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (%)"
#: femon.c:314
msgid "OSD update interval [0.1s]"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0,1 <20><><EFBFBD>)"
#: femon.c:315
msgid "Analyze stream"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femon.c:317
msgid "Calculation interval [0.1s]"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0,1 <20><><EFBFBD>)"
#: femon.c:318
msgid "Use SVDRP service"
msgstr ""
#: femon.c:320
msgid "SVDRP service port"
msgstr ""
#: femon.c:321
msgid "SVDRP service IP"
msgstr ""
#: femonosd.c:268
msgid "Video"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:276
msgid "Audio"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:305
msgid "Transponder Information"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:311
msgid "Vpid"
msgstr "Vpid (<28><><EFBFBD><EFBFBD><EFBFBD>)"
#: femonosd.c:313
msgid "Ppid"
msgstr "Ppid"
#: femonosd.c:316
msgid "Apid"
msgstr "Apid"
#: femonosd.c:318
msgid "Dpid"
msgstr "Dpid"
#: femonosd.c:321
msgid "CA"
msgstr "CA (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
#: femonosd.c:323
msgid "Tpid"
msgstr "Tpid (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
#: femonosd.c:326
msgid "Sid"
msgstr "Sid"
#: femonosd.c:328
msgid "Nid"
msgstr "Nid"
#: femonosd.c:331
msgid "Tid"
msgstr "Tid"
#: femonosd.c:333
msgid "Rid"
msgstr "Rid"
#: femonosd.c:338
msgid "Satellite Card"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:340 femonosd.c:359 femonosd.c:378
msgid "Frequency"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:342 femonosd.c:361
msgid "Source"
msgstr ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:345 femonosd.c:364
msgid "Srate"
msgstr "<22><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:347
msgid "Polarization"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:350 femonosd.c:369 femonosd.c:388
msgid "Inversion"
msgstr ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:352 femonosd.c:371
msgid "CoderateH"
msgstr "CoderateH"
#: femonosd.c:357
msgid "Cable Card"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:366 femonosd.c:385
msgid "Modulation"
msgstr ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:376
msgid "Terrestrial Card"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:380
msgid "Transmission"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:383
msgid "Bandwidth"
msgstr ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:390
msgid "Coderate"
msgstr "Coderate"
#: femonosd.c:393
msgid "Hierarchy"
msgstr ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:395
msgid "Guard"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: femonosd.c:410 femonosd.c:453
msgid "Stream Information"
msgstr ""
#: femonosd.c:416
msgid "Video Stream"
msgstr ""
#: femonosd.c:419 femonosd.c:437 femonosd.c:460
msgid "Bitrate"
msgstr ""
#: femonosd.c:422
msgid "Aspect Ratio"
msgstr ""
#: femonosd.c:425
msgid "Frame Rate"
msgstr ""
#: femonosd.c:426
msgid "Hz"
msgstr "<22><>"
#: femonosd.c:428
msgid "Video Format"
msgstr ""
#: femonosd.c:431
msgid "Resolution"
msgstr ""
#: femonosd.c:434
msgid "Audio Stream"
msgstr ""
#: femonosd.c:440
msgid "MPEG Layer"
msgstr ""
#: femonosd.c:443 femonosd.c:463
msgid "Sampling Frequency"
msgstr ""
#: femonosd.c:453
msgid "AC-3 Stream"
msgstr ""
#: femonosd.c:464 femontools.c:400
msgid "kHz"
msgstr "ڳ<>"
#: femonosd.c:466
msgid "Frame Size"
msgstr ""
#: femonosd.c:469
msgid "Bit Stream Mode"
msgstr ""
#: femonosd.c:472
msgid "Audio Coding Mode"
msgstr ""
#: femonosd.c:475
msgid "Center Mix Level"
msgstr ""
#: femonosd.c:478
msgid "Surround Mix Level"
msgstr ""
#: femonosd.c:481
msgid "Dolby Surround Mode"
msgstr ""
#: femonosd.c:484
msgid "Low Frequency Effects"
msgstr ""
#: femonosd.c:485 femontools.c:249
msgid "Off"
msgstr "<22><><EFBFBD><EFBFBD>"
#: femonosd.c:485 femontools.c:250
msgid "On"
msgstr "<22><><EFBFBD>"
#: femonosd.c:487
msgid "Dialogue Normalization"
msgstr ""
#: femontools.c:189
msgid "Free to Air"
msgstr ""
#: femontools.c:191
msgid "Fixed"
msgstr ""
#: femontools.c:192
msgid "Analog"
msgstr ""
#: femontools.c:193
msgid "SECA/Mediaguard"
msgstr ""
#: femontools.c:194
msgid "Viaccess"
msgstr ""
#: femontools.c:195
msgid "Irdeto"
msgstr ""
#: femontools.c:196
msgid "NDS/Videoguard"
msgstr ""
#: femontools.c:197
msgid "Conax"
msgstr ""
#: femontools.c:198
msgid "CryptoWorks"
msgstr ""
#: femontools.c:199
msgid "PowerVu"
msgstr ""
#: femontools.c:200 femontools.c:202
msgid "NagraVision"
msgstr ""
#: femontools.c:201
msgid "BetaCrypt"
msgstr ""
#: femontools.c:203
msgid "SkyCrypt"
msgstr ""
#: femontools.c:211 femontools.c:259
msgid "None"
msgstr "<22><><EFBFBD>"
#: femontools.c:220 femontools.c:230 femontools.c:241 femontools.c:251
#: femontools.c:263 femontools.c:275 femontools.c:289
msgid "Auto"
msgstr "<22><><EFBFBD><EFBFBD>"
#: femontools.c:238 femontools.c:239 femontools.c:240 femontools.c:391
msgid "MHz"
msgstr "<22><><EFBFBD>"
#: femontools.c:297 femontools.c:354 femontools.c:365 femontools.c:376
#: femontools.c:398 femontools.c:407
msgid "reserved"
msgstr ""
#: femontools.c:309
msgid "unknown"
msgstr ""
#: femontools.c:310
msgid "PAL"
msgstr "PAL"
#: femontools.c:311
msgid "NTSC"
msgstr "NTSC"
#: femontools.c:319
msgid "Complete Main (CM)"
msgstr ""
#: femontools.c:320
msgid "Music and Effects (ME)"
msgstr ""
#: femontools.c:321
msgid "Visually Impaired (VI)"
msgstr ""
#: femontools.c:322
msgid "Hearing Impaired (HI)"
msgstr ""
#: femontools.c:323
msgid "Dialogue (D)"
msgstr ""
#: femontools.c:324
msgid "Commentary (C)"
msgstr ""
#: femontools.c:325
msgid "Emergency (E)"
msgstr ""
#: femontools.c:326
msgid "Karaoke"
msgstr ""
#: femontools.c:326
msgid "Voice Over (VO)"
msgstr ""
#: femontools.c:335
msgid "Ch1"
msgstr ""
#: femontools.c:335
msgid "Ch2"
msgstr ""
#: femontools.c:336 femontools.c:338 femontools.c:340 femontools.c:342
msgid "C"
msgstr ""
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "L"
msgstr ""
#: femontools.c:337 femontools.c:338 femontools.c:339 femontools.c:340
#: femontools.c:341 femontools.c:342
msgid "R"
msgstr ""
#: femontools.c:339 femontools.c:340
msgid "S"
msgstr ""
#: femontools.c:341 femontools.c:342
msgid "SL"
msgstr ""
#: femontools.c:341 femontools.c:342
msgid "SR"
msgstr ""
#: femontools.c:351 femontools.c:352 femontools.c:353 femontools.c:362
#: femontools.c:363 femontools.c:364 femontools.c:384
msgid "dB"
msgstr "dB"
#: femontools.c:373
msgid "not indicated"
msgstr ""
#: femontools.c:408
msgid "free"
msgstr ""
#: femontools.c:416 femontools.c:417
msgid "Mbit/s"
msgstr "<22><><EFBFBD><EFBFBD>/<2F>"
#: femontools.c:423 femontools.c:424
msgid "kbit/s"
msgstr "<22><><EFBFBD><EFBFBD>/<2F>"

39
svdrpservice.h Normal file
View File

@@ -0,0 +1,39 @@
/*
* svdrpservice.h: Public interface of the plugin's services
*
* See the README file for copyright information and how to reach the author.
*/
#ifndef _SVDRPSERVICE__H
#define _SVDRPSERVICE__H
#include <vdr/tools.h>
class cLine: public cListObject {
private:
char *Line;
public:
const char *Text() { return Line; }
cLine(const char *s) { Line = s ? strdup(s) : NULL; };
virtual ~cLine() { if (Line) free(Line); };
};
struct SvdrpConnection_v1_0 {
// in
cString serverIp;
unsigned short serverPort;
bool shared;
// in+out
int handle;
};
struct SvdrpCommand_v1_0 {
// in
cString command;
int handle;
// out
cList<cLine> reply;
unsigned short responseCode;
};
#endif //_SVDRPSERVICE__H

23
symbols/svdrp.xpm Normal file
View File

@@ -0,0 +1,23 @@
/* XPM */
static const char *const svdrp_xpm[] = {
"60 18 2 1",
". c #FFFFFF",
"+ c #000000",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
"+..........................................................+",
"+.....+++++....++....++...++++++.....++++++.....++++++.....+",
"+....+++++++...++....++...+++++++....+++++++....+++++++....+",
"+...+++...++...++....++...++...+++...++...+++...++...+++...+",
"+...++....++...++....++...++....++...++....++...++....++...+",
"+...++.........++....++...++....++...++....++...++....++...+",
"+...+++.........++..++....++....++...++...+++...++...+++...+",
"+....+++++......++..++....++....++...+++++++....+++++++....+",
"+.....+++++.....++..++....++....++...++++++.....++++++.....+",
"+........+++....++..++....++....++...++...++....++.........+",
"+.........++.....++++.....++....++...++...++....++.........+",
"+...++....++.....++++.....++....++...++...++....++.........+",
"+...++...+++......++......++...+++...++....++...++.........+",
"+...+++++++.......++......+++++++....++....++...++.........+",
"+....+++++........++......++++++.....++....++...++.........+",
"+..........................................................+",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"};